Универсальная "защита" от взлома

D
На сайте с 28.06.2008
Offline
1108
1871

Слово защита специально взял в кавычки ибо это не защита, а скорее уведомлялка, что вас взломали.

Суть до безобразия проста - скрипт раз 5-10-20 минут (сами в кроне настраиваете) просматривает весь сервер на предмет изменения времени создания пхп файлов.

В скрипте можно прописать исключения, если у вас есть файлы, которые меняются вами/системой достаточно часто.

#!/bin/bash
FILEPATH=/home/out.log
find /var/www -iname '*php' -cmin -10 -not -path '*/cache/*' -not -path '*/cron.php' > $FILEPATH
if [ -s $FILEPATH ]
then
mail -s 'Tema pisma' mylo@gmail.com < $FILEPATH
fi

Пояснения для таких как я (кто не кодер)

код выше сохраняете как hak.sh и вешаете его на крон

FILEPATH=/home/out.log путь до лога (его нужно создать и положить рядом hak.sh)

find /var/www - самая верняя директория на сервере где лежат все сайты. У меня 10 сайтов и много сотен тысяч пхп файлов, запрос обрабатывается за пару секунд.

*/cache/* и */cron.php директории и файлы исключения, мониторить которые не надо.

Tema pisma - Тема письма, которое будет приходить к вам на почту

mylo@gmail.com - ваше мыло.

Этот простой скрипт написал мне знакомый кодер, очень мне помогло найти дыра в Джумле, и я решил поделиться со всеми.

P.S. как только скрипт находит что-то подозрительное, вам нужно тут же изучать логи, так можно быстро понять как вас взломали. Даже я абсолютно не кодер - нашел так 2 уязвимости Джумлы.

P.S.S. запрос find /var/www -iname '*php' можно изменить под ваши нужды и мониторить .js или то, что вам нужно

h3x
На сайте с 12.01.2012
Offline
90
h3x
#1

touch -t и Ваш скрипт бесполезен (:

A
На сайте с 19.07.2010
Offline
130
#2
Dram:
Суть до безобразия проста - скрипт раз 5-10-20 минут (сами в кроне настраиваете) просматривает весь сервер на предмет изменения времени создания пхп файлов.

Контрольные суммы еще имеет какой-то смысл сравнивать, а смотреть на время - малополезное занятие.

http://php.net/manual/ru/function.touch.php

.............
N
На сайте с 06.05.2007
Offline
419
#3
h3x:
touch -t и Ваш скрипт бесполезен (:

Вообще-то нет. Тут используется find -cmin, то есть некое служебное значение ctime из файловой системы, которое пользовательские утилиты не могут изменить. Сделайте этот touch -t, а потом команду stat имя_файла и увидите что дата Change изменилась датой запуска этого touch.

Так что здесь все неплохо.

Кнопка вызова админа ()
RiDDi
На сайте с 06.06.2010
Offline
285
#4
admak:
смотреть на время - малополезное занятие.

ой ой, ну что за ляп

время - пожалуй единственное мощное оружие для защиты как в реале, так и виртуале

время - всегда против преступников

как было уже озвучено ctime это время изменения файла в т.ч. и атрибутов inode

изменить его вообще никак нельзя т.к. после ваших вмешательств файловая система заботливо запишет поверх время этого вмешательства

изменить его можно если изменить системное время

но даже в таком случаи у админа есть шанс установить факт взлома если используется какая-то дополнительная синхронизация - в таком случаи за время манипуляции со временем произойдет рассинхронизация (пусть и на доли секунды) и админ сможет по времени оной найти файл в котором было "отмотано" время. Это, кстати, один из немногих способов найти бекдоры в случаи если злоумышленник получил рут.

Вебмастер отдыхает на бережках морей. Заработок в интернете - дело техники.
SeVlad
На сайте с 03.11.2008
Offline
1609
#5
Dram:
Универсальная "защита" от взлома

Почти как весьма памятный топик :)

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
baas
На сайте с 17.09.2012
Offline
171
#6

А если сайт не один, частая проверка лишнию нагрузку даст.

А что за уязвимости в джумле, версия джумлы какая?

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
D
На сайте с 28.06.2008
Offline
1108
#7
baas:
А если сайт не один, частая проверка лишнию нагрузку даст.
А что за уязвимости в джумле, версия джумлы какая?

Я же писал. Судя по графикам мунина - сервер вообще не замечает этой команды, нагрузка на прежнем уровне.

Dram:
find /var/www - самая верняя директория на сервере где лежат все сайты. У меня 10 сайтов и много сотен тысяч пхп файлов, запрос обрабатывается за пару секунд.

Джумла 1,5 - уязвимость стандартного компонента ком-медиа, она описана в сети, если интресно

baas
На сайте с 17.09.2012
Offline
171
#8
Dram:
Я же писал. Судя по графикам мунина - сервер вообще не замечает этой команды, нагрузка на прежнем уровне.

Джумла 1,5 - уязвимость стандартного компонента ком-медиа, она описана в сети, если интресно

Хмм, все равно сомнительно как то, если сайт большой, и поднагрузкой, то эта проверка боком выйдет.

Можно еще использовать временный костыль, убрать из проверки директории с картинками.

K
На сайте с 01.03.2013
Offline
24
#9

Для защиты от взлома нужно проводить большой комплекс мер.

Как одна из дополнительных мер ваш способ вполне оправдан.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий