Содержание
Аннотация
Защита системы - обязательная задача для любого ответственного системного администратора. Поскольку невозможно гарантировать, что система не подвергнется взлому, очень важно производить дополнительные проверки регулярно (например по крону), чтобы убедиться в том, что система все еще контролируется Вами. Для этого удобно использовать AIDE Advanced Intrusion Detection Environment - усовершенствованную среду обнаружения вторжений.
Простая проверка, которая часто помогает обнаружить нежелательные изменения, может быть произведена с помощью RPM. В пакетном менеджере есть встроенная функция проверки изменений в файлах системы. Для проверки всех файлов, выполните команду rpm -Va. Однако эта команда также отобразит изменения в файлах конфигурации и Вам придется отфильтровать вывод, чтобы определить только важные изменения.
Еще одна проблема с RPM заключается в том, что умный взломщик может подменить rpm, чтобы замаскировать все изменения. Это может быть сделано при помощи руткита, который позволит взломщику скрыть вторжение и получить привилегии суперпользователя. Поэтому Вы должны реализовать еще одну проверку, которую следует производить независимо от проверяемой системы.
Инициализируйте базу данных AIDE после установки | |
---|---|
Перед установкой системы проверьте контрольную сумму носителя (Раздел “Checking Media” (Приложение A, Помощь и решение проблем, ↑Вступление)), чтобы убедиться в его подлинности. После установки системы инициализируйте базу данных AIDE. Чтобы удостовериться, что все прошло успешно во время и после инсталляции, произведите инсталляцию прямо из консоли, на компьютер не подключенный к сети. Не оставляйте компьютер без присмотра и не подключайте его к сети до завершения процесса создания базы данных AIDE. |
AIDE по умолчанию не установлена на openSUSE. Для установки
используйте zypper install
aide
в командной строке от root
.
Чтобы указать AIDE какие атрибуты каких файлов должны проверяться,
используйте конфигурационный файл/etc/aide.conf
. Работу с программой
следует начать с этого файла. Первая его секция управляет общими параметрами,
такими как размещение файла базы данных AIDE. К локальным настройкам
относятся секции Custom Rules
и Directories and Files
.
Типичное правило выглядит следующим образом:
Binlib = p+i+n+u+g+s+b+m+c+md5+sha1
После определения переменной Binlib
, соответствующие опции проверки
используются в секции файлов.
Следующие настройки являются важными:
Таблица 11.1. Важные настройки AIDE¶
Опция |
Описание |
---|---|
p |
Проверяет права доступа выбранных файлов и директорий. |
i |
Проверяет номер файлового дескриптора (inode). Каждому имени файла соответствует уникальный номер дескриптора, который не должен изменяться. |
n |
Проверяет число ссылок на соответствующий файл. |
u |
Проверяет, изменился ли владелец файла. |
g |
Проверяет, изменилась ли группа файла. |
s |
Проверяет, изменился ли размер файла. |
b |
Проверяет, изменилось ли число используемых файлом блоков. |
m |
Проверяет, изменилось ли время модификации файла. |
c |
Проверяет, изменилось ли время последнего доступа к файлу. |
md5 |
Проверяет, изменилась ли у файла контрольная сумма md5. |
sha1 |
Проверяет, изменилась ли у файла контрольная сумма sha1 (160 бит). |
Вот конфигурация, проверяющая все файлы в директории
/sbin
за исключением директории
/sbin/conf.d/
с опциями, заданными в
Binlib
:
/sbin Binlib !/sbin/conf.d
Для создания базы данных AIDE выполните следующие действия:
Откройте /etc/aide.conf
.
Укажите файлы, которые необходимо проверять и настройки проверки.
За подробным списком настроек обратитесь к
/usr/share/doc/packages/aide/manual.html
.
Определение файлов требует некоторых знаний о регулярных выражениях.
Сохраните Ваши изменения.
Чтобы проверить правильность конфигурационного файла, выполните:
aide --config-check
Любой вывод, произведенный этой командой, является подсказкой об ошибках в конфигурации. Например вы можете увидеть следующее:
aide --config-check 35:syntax error:! 35:Error while reading configuration:! Configuration error
Ошибку следует искать в строке 36 файла
/etc/aide.conf
. Обратите внимание, что сообщение об ошибке
содержит последнюю успешно считанную строку конфигурационного файла.
Инициализируйте базу данных AIDE. Выполните команду:
aide -i
Скопируйте созданную базу в безопасное место, например CD-R или DVD-R, удаленный сервер или USB диск для последующего использования.
Этот шаг важен, поскольку он помогает избежать подделки базы данных. Чтобы предотвратить изменение базы данных, рекомендуется использовать носитель, который может быть записан только один раз. Никогда не оставляйте базу на компьютере, за которым Вы хотите наблюдать. |
Чтобы проверить файловую систему, выполните следующие шаги:
Переименуйте базу данных:
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
После любых изменений конфигурации Вы всегда должны переинициализировать базу данных AIDE и перенести вновь созданную базу данных. Создание резервной копии базы также хорошая идея. Подробнее об этом рассказывает Раздел 11.2, «Настройка базы данных AIDE».
Выполните проверку при помощи следующей команды:
aide --check
Если вывод пуст - все хорошо. Если AIDE найдет изменения, будет отображен сводный отчет изменений, например:
aide --check AIDE found differences between database and filesystem!! Summary: Total number of files: 1992 Added files: 0 Removed files: 0 Changed files: 1
Чтобы подробнее узнать об изменениях, смените уровень детализации
проверки с помощью параметра -V
. Для предыдущего примера,
результат может выглядеть следующим образом:
aide --check -V AIDE found differences between database and filesystem!! Start timestamp: 2009-02-18 15:14:10 Summary: Total number of files: 1992 Added files: 0 Removed files: 0 Changed files: 1 --------------------------------------------------- Changed files: --------------------------------------------------- changed: /etc/passwd -------------------------------------------------- Detailed information about changes: --------------------------------------------------- File: /etc/passwd Mtime : 2009-02-18 15:11:02 , 2009-02-18 15:11:47 Ctime : 2009-02-18 15:11:02 , 2009-02-18 15:11:47
В этом примере мы обработали файл /etc/passwd
командой touch.
Для ответственных администраторов (которыми мы все являемся) рекомендуется запускать бинарный файл AIDE из доверенного источника. Это исключает возможность модификации файла AIDE взломщиком для скрытия следов проникновения в систему.
Для этого AIDE должен быть запущен в системе, независимой от установленной системы. При помощи openSUSE относительно легко добавить в Систему аварийного восстановления произвольные программы для достижения требуемого функционала.
Перед началом использования Системы аварийного восстановления Вы должны предоставить системе два пакета. Они включаются в нее точно также, как диск с обновлениями драйверов. За подробным описанием возможностей linuxrc используемых для этих целей обратитесь к http://en.opensuse.org/SDB:Linuxrc. Далее будет описан один из возможных способов.
Процедура 11.1. Запуск Системы аварийного восстановления с AIDE
Укажите FTP сервер в качестве второго компьютера.
Скопируйте пакеты aide
и
mhash
в нужную директорию FTP сервера, в нашем случае
/srv/ftp/
. Замените
ARCH
и VERSION
на Ваши значения:
cp DVD1/suse/ARCH
/aideVERSION
.ARCH
.rpm /srv/ftp cp DVD1/suse/ARCH
/mhashVERSION
.ARCH
.rpm /srv/ftp
Создайте файл /srv/ftp/info.txt
, содержащий
параметры загрузки Системы аварийного восстановления:
dud:ftp://ftp.example.com/aideVERSION
.ARCH
.rpm dud:ftp://ftp.example.com/mhashVERSION
.ARCH
.rpm
Замените FTP домен, VERSION
и
ARCH
значениями, используемыми на Вашей системе.
Перезапустите сервер, который необходимо проверить при помощи AIDE, и загрузите его с DVD, содержащего Систему аварийного восстановления. Добавьте следующую строку в параметры загрузки:
info=ftp://ftp.example.com/info.txt
Этот параметр предписывает linuxrc считать всю информацию из файла
info.txt
.
После загрузки Системы аварийного восстановления программа AIDE готова к использованию.
Информация об AIDE доступна:
Домашняя страница AIDE http://aide.sourceforge.net.
В виде документации к шаблону файла конфигурации
/etc/aide.conf
.
В нескольких файлах, перечисленных ниже
/usr/share/doc/packages/aide
, после установки пакета
aide
.
В рассылке новостей AIDE https://mailman.cs.tut.fi/mailman/listinfo/aide.