Содержание
Аннотация
Защита системы - обязательная задача для любого ответственного системного администратора. Поскольку невозможно гарантировать, что система не подвергнется взлому, очень важно производить дополнительные проверки регулярно (например по крону), чтобы убедиться в том, что система до сих пор под Вашим контролем. Для этого удобно использовать 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
, соответствующие опции проверки
используются в секции файлов.
Важными настройками являются следующие:
Таблица 12.1. Важные настройки проверок AIDE¶
Опция |
Описание |
---|---|
p |
Проверяет пермиссии выбранных файлов и директорий. |
i |
Проверяет номер файлового дескриптора (inode). Каждому имени файла соответствует уникальный номер дескриптора, который не должен изменяться. |
n |
Проверяет число ссылок на соответствующий файл. |
u |
Проверяет, изменился ли владелец файла. |
g |
Проверяет, изменилась ли группа файла. |
s |
Проверяет, изменился ли размер файла. |
b |
Проверяет, изменилось ли число используемых файлом блоков. |
m |
Проверяет, изменилось ли время модификации файла. |
c |
Проверяет, изменилось ли время последнего доступа к файлу. |
md5 |
Проверяет, изменилась ли у файла контрольная сумма md5. |
sha1 |
Проверяет, изменилась ли у файла контрольная сумма sha1 (160 бит). |
Вот конфигурация, проверяющая все файлы в директории
/sbin
с опциями заданными в
Binlib
за исключением директории
/sbin/conf.d/
:
/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
The error is to be expected in line 36 of
/etc/aide.conf
. Обратите внимание, что сообщение об ошибке
содержит последнюю успешно считанную строку конфигурационного файла.
Инициализируйте базу данных AIDE. Выполните команду:
aide -i
Скопируйте созданную базу в безопасное место, например CD-R или DVD-R, удаленный сервер или USB диск для последующего использования.
![]() | |
Этот шаг важен, поскольку помогает избежать подделки базы данных. Чтобы предотвратить изменение базы данных, рекомендуется использовать носитель, который может быть записан только один раз. Никогда не оставляйте ее на компьютере, за которым Вы хотите наблюдать. |
Чтобы проверить файловую систему, выполните следующие шаги:
Переименуйте базу данных:
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
После любых изменений конфигурации вы всегда должны переинициализировать базу данных AIDE перенести вновь созданную базу данных. Создание резервной копии базы также хорошая идея. Подробнее об этом рассказывает Раздел 12.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. Далее будет описан один из возможных способов.
Процедура 12.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.