Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Безопасность работы с системой Linux

Заметки о безопасности Linuх: поддержка целостности файлов с помощью AIDE

Оригинал: Linux Security Notes - AIDE File Integrity
Дата публикации: 16 октября 2009 г.
Перевод: М.Ульянов
Дата перевода: декабрь 2009 г.

AIDE (Advanced Intrusion Detection Enviornment, расширенная среда обнаружения вторжений) - инструмент для проверки целостности файлов. Это open-source приложение, замена TRIPWIRE. Позволяет делать снимки всех основных конфигурационных и исполняемых файлов, а также состояния библиотек. И в случае компрометации системы помогает определить, какие файлы были изменены. Программу можно скачать с http://sourceforge.net.

В первую очередь скачайте исполняемые файлы и файл подписи, импортируйте и сверьте ключи GPG.

Компиляция и установка AIDE

Чтобы узнать требования пакетов, прочтите документ INSTALL в исходниках AIDE. Для установки и работы AIDE необходима утилита mhash. Скачать ее можно с sourceforge.net.    

Распакуйте пакеты AIDE и MHASH.

Установка MHASH:    

  # tar -zxvf mhash-0.9.2.tar.gz
# cd mhash-0.9.2
# ./configure
# make
# make install

Исполняемые файлы и библиотеки установятся в /usr/local.

Установка AIDE:

  # tar -zxvf aide-0.10.tar.gz
# cd aide-0.10
# ./configure
# make "this will create the aide binary"
# make install

Исполняемые файлы скопируются в /usr/local/bin.

Примечание: для отслеживания атак типа "человек посередине" (man-in-the-middle) полезно записывать контрольные суммы MD5 для исполняемых файлов.

Настройка и мониторинг файлов с помощью AIDE

Шаг 1. Генерация базы данных AIDE (создание снимка файлов)

Для определения правил (какие директории отслеживать) отредактируйте конфигурационный файл aide.conf, находящийся в aide-0.10/doc/

# В файле присутствуют три типа строк:
#    1. Переменные;
#    2. Макросы;
#    3. Типы файлов (включая директории) для отслеживания.
database=file:/home/kiran/aide/aide.db (эта строка определяет место хранения базы данных aide)
#Теперь укажем правила для aide
#Отслеживаем все поддиректории в папке /etc/:
/etc R

Теперь создайте базу данных AIDE.

# aide  -c  aide.conf  --init

Эта команда просканирует все файлы в директории /etc/ и сохранит их снимок в новой базе данных под названием aide.db.new.

Примечание: AIDE использует команду stat для получения информации о файле, включающую разрешения, инод, время последнего доступа, время модификации и пр., и хранит эту информацию в файле aide.db.

Сравнение текущего состояния с базой данных AIDE:

# aide -c aide.conf  --check

Команда покажет текущее состояние директории /etc/, сравнивая его со снимком в aide.db, полученным предыдущей командой.

Теперь протестируйте функциональность AIDE.

Измените любой файл в директории /etc/.

И повторите сравнение командой

# aide -c aide.conf  --check

Она покажет нам отличия файла от его предыдущего состояния.

Примечание: Команду aide --check необходимо выполнять как можно чаще. И если обнаруживаются изменения, следует убедиться в их легальности и снова обновить базу данных AIDE.

Обновление базы данных AIDE после проверки:

# aide -c aide.conf --update

Снимок в базе данных обновится до текущего состояния директории /etc/.

Добавление других директорий для отслеживания:

Отредактируйте aide.conf:

/boot  R
/bin   R
/etc   R
/lib   R
/usr   R
/install   R
/sbin$   R

Другие варианты конфигурации:

/ R
!/var  # Такая настройка позволит отслеживать все директории внутри "/", исключая директорию /var
# aide -c aide.conf  --init

Эта команда сгенерирует новую базу данных для всех директорий, определенных в aide.conf.

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

# mkisofs -V Aide_DB`date +%F` -J -R -o aide.iso /Aide/directory
# cdrecord -v -eject aide.iso

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