Заказать сайт недорого. Создание сайта на базе системы управления контентом. Индивидуальный подход при создании сайта. Современный и красивый дизайн сайта. Удобная навигация на сайте.

palexa.pp.ua@gmail.com

(+380) 66 531 77 01 ; 67 301 39 26

Скрипт проверки изменений в файлах (целостности файлов) на веб сайте

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

Многие из Вас скажут, надо следить за кодом, устранять дыры и так далее. Всё это правильно. Но все файлы не пересмотришь, и все уязвимости не исправишь.

Наверно есть много платных, так и бесплатных продуктов, которые Вам помогут следить за всеми изменениями файлов, но я предлагаю Вашему вниманию скрипт, который можно запускать через Cron каждый час.

Скрипт проверяет, изменились ли хеш-суммы файлов в указанной директории с момента предыдущего сканирования. Если изменились - отправит Вам уведомление на почтовый ящик.

Ну, а так же, Вы будете оповещены, если у Вас появятся новые файлы или удалены старые.

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

Создать файл hesh.sh с правами 755, желательно вне директории сайта.

if [ -f /var/www/data/file-md5.txt ]
then
        mv /var/www/data/file-md5.txt /var/www/data/file-md5.old.txt
fi
 
for ext in cgi php htaccess
do
        find /var/www/data -iname "*.$ext*" -exec md5sum "{}" \; >> /var/www/data/file-md5.txt
done
 
 
if [ -f  /var/www/data/file-md5.old.txt ]
then
        diff /var/www/data/file-md5.txt /var/www/data/file-md5.old.txt > /var/www/data/file-md5.diff
fi
 
if [ -s /var/www/data/file-md5.diff ]
then
        cat /var/www/data/file-md5.diff | mutt -s "The integrity of the file is broken"\
-a /var/www/data/file-md5.txt -a /var/www/data/file-md5.old.txt -- name@host

fi

Я думаю не надо объяснять какие Вам пути писать в скрипте, и на какую почту отправлять :)

Директория, где лежит скрипт, а точнее где создаются файлы file-md5.* должна быть разрешена для записи.

Теперь осталось настроить планировщик Cron для запуска файла с желаемым интервалом времени.

P.S. Чуть не забыл, в строке:

for ext in cgi php htaccess - укажите все расширения файлов, целостность которых необходимо проверять.

P.P.S. Если возможны перебои с доставкой почты или другие причины, можно сделать так

if [ -f /var/www/data/file-md5.txt ]
then
        mv /var/www/data/file-md5.txt /var/www/data/file-md5.old.txt
fi, 
 
for ext in cgi php php3 php4 php5 htaccess html css js zip rar txt tar gz png jpg gif
do
        find /var/www/data/www/mysite -iname "*.$ext*" -exec md5sum "{}" \; >> /var/www/data/file-md5.txt
done
 
 
if [ -f  /var/www/data/file-md5.old.txt ]
then
        diff /var/www/data/file-md5.txt /var/www/data/file-md5.old.txt > /var/www/data/file-md5.diff
fi
 
if [ -s /var/www/data/file-md5.diff ]
then
        cat /var/www/data/file-md5.diff | mutt -s "The integrity of the file is broken" -- name@host

fi

cp /var/www/data/file-md5.diff /var/www/data/diff/file-md5-$(date +\%d-\%m-\%Y_\%H-\%M-\%S).txt

find "/var/www/data/diff/" -size 0 -type f -exec rm -f {} +

/var/www/data/ - директория скрипта

/var/www/data/www/mysite - директория сайта

/var/www/data/diff/ - директория для копий файла file-md5.diff

Информация на сайте оказалась Вам полезной? Вы нашли ответ на вопрос?

Узнайте как поблагодарить меня

Добавить комментарий


Защитный код
Обновить