Кто-нибудь знает (желательно бесплатную) утилиту Windows, которая рекурсивно хеширует все файлы в дереве каталогов каждые x минут и отправляет уведомление, если какие-либо файлы были изменены.
Я хочу иметь инструмент, который бы уведомлял меня по электронной почте об изменении любого из файлов кода на веб-сервере, чтобы знать, когда сайт был взломан или взломан с помощью вредоносного кода.
Вы запрашиваете монитор целостности файлов (FIM), но, поскольку вас интересуют только файлы с вашего веб-сайта, вы, вероятно, можете сделать это удаленно.
1-Для FIM локально на коробке я бы предложил OSSEC. Он изначально работает в Windows и допускает централизованную настройку (если вам это нужно).
2-Для удаленного FIM (или сетевого мониторинга целостности) я бы предложил NBIM, который бесплатно доступен по адресу: http://sucuri.net (обратите внимание, что я разработчик этого инструмента, поэтому примите мое мнение с недоверием).
Я считаю, что лучшим вариантом будет удаленный FIM, поскольку шансы его взлома меньше, чем у внутренней базы данных целостности, и он также обнаруживает внешние нарушения (например, кто-то изменяет записи DNS для перенаправления вашего сайта в другое место).
Проверять, выписываться OSSEC. Он делает то, что вы ищете, и даже больше.
Вот довольно хороший список для отправной точки в этой области
http://www.windowsecurity.com/software/File-integrity-checkers/
Наблюдатель за веб-сайтом может удаленно контролировать ваш сайт и может уведомлять вас по электронной почте об изменениях страницы. Наблюдатель за сайтом Лично я бы потратил больше времени / усилий на то, чтобы убедиться, что у вас есть надлежащие резервные копии вне сайта, чтобы вы могли восстановить файлы, если есть проблема.
Это решение с Cygwin
установлен с md5sum
и find
утилита.
Сначала получите список файлов из базового каталога.
cd BASEDIR
find -type f > files.txt
Затем вычислите контрольную сумму MD5 для файла.
md5sum.exe $(<files.txt) > files.md5
Теперь вы можете проверить, когда захотите,
md5sum.exe -c files.md5
или,
md5sum.exe -c --status files.md5
Это просто дает значение статуса в конце - 0 для совпадения и 1 для несоответствия, которое можно проверить сразу после команды с помощью,
echo $?
Вы можете использовать команду windows at или cygwin, чтобы запланировать это так регулярно, как вы хотите.
Просто не забудьте обновить files.txt, когда в каталоге будут созданы новые файлы. В то время как отсутствующие файлы будут перечислены, новые файлы вообще не будут проверяться.