This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Веб мастер - Скрипты

Не работает? Начинай читать инструкцию.

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

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

Предлагаю ознакомиться с предложениями моих партнёров

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

Наверно есть много платных, так и бесплатных продуктов, которые Вам помогут следить за всеми изменениями файлов, но я предлагаю Вашему вниманию скрипт, который можно запускать через 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

Предлагаю ознакомиться с предложениями моих партнёров