![]() |
Integrity Checker
В продолжение темы http://forum.antichat.ru/thread49552.html
Как следует из названия, этот скрипт проверяет файлы на изменения внесенные третьими лицами, а так же обнаруживает новые файлы закаченные без ведома владельца сервера. В случае если файл был изменем или закачен, система примет адекватные действия - отправит электронное письмо владельцу сервера и переименует подозрительный файл, так, что бы взломщики не могли его запустить и использовать для свох целей. Integrity Chekcer состоит из следующих трех модулей: IC_Compiler.php; IC_Scanner_manual.php; IC_Scanner_cron.php IC_Compiler делает снимок всего файлового древа (включая под-директории, в рекрусивном режиме) и записывает его в базу данных. При обычных обстоятельствах этот модуль используется редако, безуслоно если владелец серевера редко закачивает/обновляет файлы. IC_Scanner_manual выполняет процесс сканирования по запросу, после того как снимок файлового древа был сделан модулем IC_Compiler. После окончания процесса сканирования, модуль покажет подозрительные файлы если таковые имеются. IC_Scanner_manual так же показывает список всех сканирований и их результаты сделанные самим собой, и модулем IC_Scanner_cron. IC_Scanner_cron предназначен для запуска Кроном (т.е. для запуска с некоторой периодичностью). Так как этот модуль предназначен только для использованием Кроном, результаты сканирования НЕ выводятся после его окончания, в отличие от IC_Scanner_manual, а отправляются на электронную почту владельца сервера (только в случае если были обнаружены подозрительные файлы). Безопасность всей системы Модули IC_Compiler и IC_Scanner_manual защищены паролем. Тем кто редко обновляет файлы на сервере, я рекоммендую удалить модуль IC_Compiler после того как первичный снимок файлового древа был сделан. Несмотря на то, что это маловероятно, если посторонее лицо проникнет в модуль IC_Scanner_manual и запустит процесс сканирования, результаты сканирования в любом случае будут отправлены на электронную почтну владельца сервера. Кроме того все операции сканирования записываются (включая дату, модуль которым сканирование было запущено, IP-адрес хоста и результаты сканирования) и содержатся в модуле IC_Scanner_manual и не могут быть удалены напрямую оттуда. Как упомяналось до этого, подозрительные файлы переименовываютс, однако это возможно только если права директории в которой находятся эти подозрительные файлы являются writable для группы "other". Файлы переименовываются по шаблону !_первичное_название_IC ПРОЦЕСС УСТАНОВКИ 1. Создайте MySql базу данных и импортируйте в нее данные из файла MYSQL_IMPORT.txt используя закладку "SQL" в PHPMyAdmin; 2. Откройте таблицу "IC_sys" и измените в полях value пароль и электронную почту; 3. Откройте файл IC_Config.php и измените значения $dbName, $userName и $password; 4. Закачайте все файлы на сервер в корень HTTP папки и запустите файл-модуль IC_Compiler.php. Введите пароль и создайте снимок файлового древа 5. Для тестирования запустите IC_Scanner_manual.php и совершите сканирование. Подозрительные файлы должны отстуствовать. Затем измените, либо закачайте сторонние файлы с запустите снова процесс сканирования, файлы будут обнаружены. 6. Если возможно, установите Крон на запуск файла-модуля IC_Scanner_cron.php раз в два часа (на ваше усмотрение). ЕСЛИ ВАМ ТРЕБУЕТСЯ ЗАКАЧАТЬ/ИЗМЕНИТЬ ФАЙЛЫ 1. Закачайте/измените нужные файлы и запустите IC_Compiler.php для создания нового снимка файлового древа. ТРЕБОВАНИЯ К СЕРВЕРУ PHP 5.X; ZEND OPTIMIZER 3.X (как минимум); MYSQL Database. Несколько скриншотов: Создание файлового древа http://anopov.com/IC/1.jpg Найдены инородные файлы (один новый, другой модифицированный) http://anopov.com/IC/2.jpg Отправленный отчет на электронную почту http://anopov.com/IC/4.jpg О технологии - применяется сверка на изменение контрольной суммы и крайнего изменения файла. В переспективе ввод нескольких новых способов обнаружения. Скачать - http://anopov.com/IC/ |
Задумка хорошая мне тоже понравилась, но если в руках а хакера оказалсо пароль от админки к примеру, то она становится бесполезной, я бы предложил как экспериментальную идею - при алерте менять админский пароль и высылать его по почте. проблема в том, что такое дополнение делать придется под конкретный сайт.
Я надеюс твой проект проверяет себя на изменение? Если да, то контрольную сумму своих файлов он хранит в общей базе со всем "слепком" дерева файлов? З.Ы. не сочтите за паранойю... |
Блин. Идея класс. Надо посетить будет! У меня смысл такой же. Но файл не переименовывает конечно и без БД, а все в текстовом файле хранится.
|
Переделай плиз для Php 4 Отблагодарю.
|
Цитата:
Во-вторых из модуля IC_Scanner_manual нельзя НИ изменить пароль, ни удалить результаты сканирований (это можно лишь сделать "хирургически" удалив из БД) это значит что посторонее лицо несможет нанести урон. Кроме того из модуля IC_Scanner_manual нельзя узнать структуру файлового древа ибо после сканирования он выводит только подозрительные файлы. Да, он хранит контрольную сумму и дату/время последнего изменения всех абосолютно файлов включая свою и других модулей системы. Хранит в базе с остальными файлами |
Цитата:
Я отказался от текстовых файлов дабы их немогли те кто ненадо открыть |
А сможешь переделать для Php4 ? Хочу поставить себе такой....
|
Цитата:
|
Спасиб. Жду! Кстате. Поделись Зендом?
|
Цитата:
|
| Время: 12:43 |