Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Целостность системы. Tripwire. Установка и настройка.

Рубрика: Безопасность -> Профилактика
Метки:
Четверг, 29 апреля 2010 г.
Просмотров: 8085
Подписаться на комментарии по RSS

Если крекер получит доступ к системе, то он попытается скрыть следы своего присутствия (конечно, если его цель - вандализм, то он просто разрушит эту систему). Известны случаи, когда хакер скрывал свое фигурирование в системе несколько лет.

     Лучший способ выявить крекера - это произвести мониторинг целостности системных файлов. Ведь в большинстве случаев крекер будет изменять какие-то файлы, а мониторинг поможет выявить это. Лучшими программами для этих целей являются Tripwire и Chkrootkit.


     Tripwire - мониторинг целостности файлов.

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

     Монитор целостности создает контрольные суммы MD5 для всех важных системных файлов, которые потом будут сравнены с вновь созданными проверочными суммами. Это позволяет заметить малейшее изменение в системных файлах: даже если у измененного хакером файла будет такой же размер, как и у оригинального файла.

     Существует две версии Tripwire: коммерческая и бесплатно распространяемая (по лицензии GPL). Рассмотрим GPL-версию.

     Установка Tripwire.

     Скачать Tripwire нужно с сайта http://sourceforge.net/projects/tripwire. После распаковки архива надо перейти в подкаталог srс только что созданного каталога. От имени root введите команду make release. Эта команда применяется для компиляции и установки Tripwire для платформы Linux x86. Если на компьютере другая архитектура процессора, нужно изменить переменную SYSPRE в Makefile.

     После установки в /usr/sbin появятся следующие исполнимые файлы:

  • Tripwire - применяется для создание начальной базы данных, при последующих запусках применяется для проверки целостности.

  • Twadmin - утилита администрирования Tripwire, применяется для конфигурации Tripwire.
  • Twprint - показывает базу данных Tripwire в текстовом формате.
  • Siggen - отражает hash-значения файла.
     Каждая из этих утилит будет рассмотрена в следующей статье.

     Конфигурационный каталог /etc/tripwire содержит следующие файлы:

  • Twcfg.txt - пример конфигурационного файла.

  • Twinstall.sh - постинсталляционный сценарий.
  • Twpol.txt - файл правил, применяется для изменения поведения Tripwire.

     Правила.

В конфигурационном файле правил задаются файлы и каталоги, которые Tripwire должен защитить.
     Объекты и свойства.

     Главный синтаксис правила Tripwire следующий:

Объект -> режимы

     Объект - это файл или каталог. Режимы - это список свойств объекта, которые будут сравниваться (в конкретном случае можно указать «+» перед свойствами) или игнорироваться (знак «-»). Допустимы следующие режимы:

  • a - время доступа;
  • b - количество выделенных блоков;
  • c - временная метка mode (создание/изменение);
  • d - ID устройства, на котором «проживает» inode;
  • g - GID владельца;
  • i - номер inode;
  • l - увеличение размера файла;
  • m - изменение временной метки;
  • n - количество ссылок;
  • p - права доступа и биты режима файла;
  • r - ID устройства, указанного inode;
  • s - размер файла;
  • t - тип файла;
  • u - UID владельца;
  • С - хэш-значение CRC32;
  • Н - хэш-значение Haval;
  • М - хэш-значение MD5;
  • S - хэш-значение SHA.

     Давайте рассмотрим несколько примеров:

# сравнивать изменения в правах доступа к каталогу /var/www

/var/www-> +p

# сравнивать любое изменение в UID/GID владельца, но игнорировать любое изменение размера файла

/etc/named.conf -> +gu-s

     Как видно, режимы могут указываться в какой угодно комбинации, однако для упрощения восприятия правил Tripwire предлагает несколько уже готовых наборов режимов:

  • ReadOnly - эквивалентно +pinugtsdbmCm-rlacSH, подойдет для файлов, которые общедоступны для чтения всем пользователям, но не досягаемы для записи. Примером такого файла может послужить файл /etc/sshd_conf.
  • Dynamic - предназначен для файлов или каталогов, которые могут на законных основаниях изменяться пользователем (к примеру, домашний каталог пользователя), данный набор эквивалентен следующей комбинации режимов: +pinugtd-srlbamcCMSH.
  • Growing - почти то же, что и Dynamic, но в конкретном случае Tripwire тоже проверяет, был ли увеличен размер файла (+pinugtdl- srlb-amcCMSH). Growing подходит для файлов, размер которых может быть только увеличен, к примеру протоколов.
  • Device - предназначен для устройств (файлов в каталоге /dev). Аналогичен комбинации +pugsdr-intlbamcCMSH.
  • IgnoreAll - игнорирует все свойства объекта, даже его существование или отсутствие (-pinugtsdrlbamcCMSH).
  • IgnoreNone - сравнивает все свойства (+pinugtsdrbamcCMSH-l).

     Например:

/var/log -> $ (Growing)

/etc/apache/httpd.conf -> $(Readonly)

/var/named-> $ (IgnoreNone) -a

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



(обязательно)