За последние 24 часа нас посетили 18342 программиста и 1645 роботов. Сейчас ищут 1698 программистов ...

Integrity Checker

Тема в разделе "Решения, алгоритмы", создана пользователем Pridemode, 28 сен 2007.

  1. Pridemode

    Pridemode Активный пользователь

    С нами с:
    13 окт 2006
    Сообщения:
    64
    Симпатии:
    0
    Как следует из названия, этот скрипт проверяет файлы на изменения внесенные третьими лицами, а так же обнаруживает новые файлы закаченные без ведома владельца сервера. В случае если файл был изменем или закачен, система примет адекватные действия - отправит электронное письмо владельцу сервера и переименует подозрительный файл, так, что бы взломщики не могли его запустить и использовать для свох целей.

    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 пароль и электронную почту. Пароль должен состоять только из цифр и латинских букв нижнего и верхнего регистров - до 31 знака максимум;

    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, PHP4.X (две версии);
    ZEND OPTIMIZER 3.X (как минимум);
    MYSQL Database.


    Несколько скриншотов:
    Создание файлового древа

    [​IMG]

    Найдены инородные файлы (один новый, другой модифицированный)

    [​IMG]

    Отправленный отчет на электронную почту

    [​IMG]

    О технологии - применяется сверка на изменение контрольной суммы и крайнего изменения файла. В переспективе ввод нескольких новых способов обнаружения.

    Скачать - http://anopov.com/IC
     
  2. Anonymous

    Anonymous Guest

    Хм. Почин неплохой. ;) Keep on track!
     
  3. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    Интересная разработка. :) Сразу возникают вопросы:
    - как быть, если на сайте есть загрузка картинок, аватаров, файловое кеширование страниц и данных.
    - как быть, если админ случайно сначала закачал обновление на сайт, а потом уже спохватился и запустил IC_Scanner.

    Из пожеланий - чтобы система не просто сигнализирована об изменениях и предлагала их ручками исправить, а предлагала бы на выбор "применить" и "отменить". Т.е. чтобы система стала бы интерактивной.
     
  4. Pridemode

    Pridemode Активный пользователь

    С нами с:
    13 окт 2006
    Сообщения:
    64
    Симпатии:
    0
    Появилось время, создал окончательную версию. Теперь включена функция игнорирования отдельных файлов и директорий целиком, можно менять префикс и суффикс для переименования подозрительных файлов. Улучшена работоспособность.

    http://anopov.com/ic/

    Для php4
    http://anopov.com/files/ic4

    Для php5
    http://anopov.com/files/ic5
     
  5. Pridemode

    Pridemode Активный пользователь

    С нами с:
    13 окт 2006
    Сообщения:
    64
    Симпатии:
    0
    Дело в том, что если файл (хуже всего шелл) был закачен действительно взломщиками - САМОЕ полезное что только может быть сделано - это или переименовать его тут же или удалить. Именно поэтому система переименовывает файлы без санкции владельца. В новой версии можно менять префикс и суффикс для переменования файлов (если взломщики в курсе о том, как IC переименовывает файлы).

    Почему вообще Integrity Checker полезен - в наше время неотъемлемой частью взлома является закачивание шелов и троянизация существующих файлов - особенно это актуально в Рунете. С IC вы можете спать спокойно.
     
  6. ArkadyTokaev

    ArkadyTokaev Активный пользователь

    С нами с:
    12 окт 2011
    Сообщения:
    3
    Симпатии:
    0
    Хорошо, но, однако, "You don't have permission to access / on this server."
    И что дальше?