AIDE/ru

AIDE
AIDE означает "Advanced Intrusion Detection Environment" (расширенная система обнаружения вторжений) и является приложением, которое сканирует файлы и другие источники и сохраняет информацию об этих файлах в базе данных. Эта информация может быть их хэшем, размером файла, информацией о владельце, и т.д. Приложение может затем, как только эта база данных доступна, просканировать систему снова и сравнить результаты со значениями сохраненными ранее. Если значения различаются, то файл изменен, и об этом изменении сообщается.

Установка и конфигурация
На Gentoo, Вы можете легко установить aide после соответствующей настройки USE-флагов. На время написания, поддерживаемыми USE-флагами являются:

Затем, это вопрос установки программы:

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

Давайте сначала рассмотрим переменные.

Эти параметры определяют где хранить базу данных, которая содержит уже известные значения (database) и где хранить новую база данных если Вы ее создали (database_out). В основном рекомендуется, чтобы эти переменные не указывали на одно и то же. Вместо этого рекомендуется ручное копирование сгенерированной базы данных из одного места в другое.

А сейчас, оставьте эти переменные как есть, мы вернемся к ним позже.

Это краткие обозначения того, что нужно измерять. Эти буквы описаны в файле по умолчанию, поэтому вместо того, чтобы документировать их здесь, я просто дам информацию о некоторых из них: permissions (разрешения), inode number (номер индексного дескриптора), number of hardlinks (число жестких ссылок), user information (информация о пользователе), group information (информация о группе), size (или S, если размеру разрешается расти, но никогда не сокращаться), block count (количество блоков), modification time (время изменения), и т.д. Также, Вы возможно уже догадались, что md5 и sha1 означают контрольные суммы MD5 и SHA-1.

These short-hand notations are then used to identify what to scan for which files.

Это является представлением того, какие каталоги нужно сканировать, и что нужно сканировать в них. В приведенном выше примере из трех строк, мы сообщаем AIDE, что нужно сканировать места и  и принять меры, обозначенные ранее в кратком обозначении Binlib. Место должно использовать меры сканирования Logs.

AIDE поддерживает регулярные выражения и Вам разрешено удалять совпадения. Например, если Вы хотите сканировать, но не , то Вы также можете включить набор исключений:

Инициализация и частое сканирование
First we need to initialize the database once.

Once initialized, we can copy over the database file.

With the database now available, we can scan the entries again for potential modifications:

When a file modification is occurred, you will get a notification:

Be clear with what to scan
The default AIDE configuration is useful, but you'll need to fine-tune it to suit your needs. It is important to know which files to scan and why.

For instance, if you want to scan for all authentication-related files but not for other files, you can use a configuration like so:

Keep the database offline and read-only
A second important aspect is that you really want the result database to be stored off-line when you don't need it, and use it in read-only modus when you do. This gives some protection against a malicious user, that might already have compromised the machine, to also modify the results database. For instance, you can provide the result database on a read-only NFS mount (for servers) or read-only medium (when you have physical access to the machine) such as CD/DVD or read-only USB sticks.

When you have the database on such location, update the file to have database= point to this new location.

Do offline scanning
If you can, try using offline scanning methods for the system. In case of virtual platforms, you might be able to take a snapshot of the system, mount this snapshot (read-only) and then run the aide scan on the mounted file system.

The above approach uses a chroot. This is only needed when the initial file system has been scanned from the live system and you want to perform an offline validation. If you did your initial scan offline, then your will point to the mount point already and the database will use these paths immediately, so then you do not have the need for chrooting.

More information

 * Integrity/Concepts talks about the concepts related to system integrity