Поиск по сайту:

Как проверить целостность файла и каталога с помощью «AIDE» в Linux


В нашем мегаруководстве по усилению и защите CentOS 7 в разделе «внутренняя защита системы» мы перечислили один из полезных инструментов безопасности, предназначенных для внутренней защиты системы от вирусов, руткитов, вредоносных программ и обнаружения несанкционированных действий. деятельностью является AIDE.

AIDE (Расширенная среда обнаружения вторжений) — небольшой, но мощный бесплатный инструмент обнаружения вторжений с открытым исходным кодом, который использует предопределенные правила для проверки целостности файлов и каталогов в Unix-подобных операционных системах. например Линукс. Это независимый статический двоичный файл для упрощенных конфигураций мониторинга клиент/сервер.

Он многофункциональный: использует текстовые файлы конфигурации и базу данных, что упрощает использование; поддерживает несколько алгоритмов дайджеста сообщений, таких как md5, sha1, rmd160, Tiger; поддерживает общие атрибуты файлов; также поддерживает мощные регулярные выражения для выборочного включения или исключения файлов и каталогов для сканирования.

Также он может быть скомпилирован с исключительной поддержкой сжатия Gzip, Posix ACL, SELinux, XAttrs и атрибутов расширенной файловой системы.

Aide создает базу данных (которая представляет собой просто снимок выбранных частей файловой системы) на основе правил регулярных выражений, определенных в файлах конфигурации. После инициализации этой базы данных вы можете проверить целостность системных файлов по ней. Это руководство покажет, как установить и использовать Aide в Linux.

Как установить AIDE в Linux

Aide упакован в официальные репозитории основных дистрибутивов Linux. Чтобы установить его, запустите команду для вашего дистрибутива с помощью менеджера пакетов.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

После установки основным файлом конфигурации будет /etc/aide.conf. Чтобы просмотреть установленную версию, а также параметры времени компиляции, запустите на своем терминале команду ниже:

aide -v
Пример вывода
Aide 0.14

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Открыть конфигурацию можно с помощью вашего любимого редактора.

vi /etc/aide.conf

Он имеет директивы, которые определяют расположение базы данных, расположение отчетов, правила по умолчанию, каталоги/файлы, которые будут включены в базу данных.

Понимание правил помощника по умолчанию

Используя приведенные выше правила по умолчанию, вы можете определить новые пользовательские правила, например, в файле aide.conf.

PERMS = p+u+g+acl+selinux+xattrs

Правило PERMS используется только для контроля доступа. Оно обнаруживает любые изменения в файле или каталогах на основе разрешений файла/каталога, пользователя, группы, разрешений контроля доступа, контекста SELinux и атрибутов файла.

Это проверит только содержимое файла и тип файла.

CONTENT = sha256+ftype

Это расширенная версия предыдущего правила, она проверяет расширенный контент, тип файла и доступ.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

Приведенное ниже правило DATAONLY поможет обнаружить любые изменения данных внутри всех файлов/каталогов.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Определение правил для просмотра файлов и каталогов

Определив правила, вы можете указать файл и каталоги для просмотра. Учитывая приведенное выше правило PERMS, это определение будет проверять разрешения для всех файлов в корневом каталоге.

/root/\..*  PERMS

При этом все файлы в каталоге /root будут проверены на наличие изменений.

/root/   CONTENT_EX

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

/etc/   DATAONLY 

Использование AIDE для проверки целостности файлов и каталогов в Linux

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

Команда ниже создаст базу данных, содержащую все файлы, которые вы выбрали в файле конфигурации.

aide --init

Затем переименуйте базу данных в /var/lib/aide/aide.db.gz, прежде чем продолжить, используя эту команду.

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

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

После создания базы данных вы можете проверить целостность файлов и каталогов, используя флаг --check.

aide --check

Он прочитает снимок в базе данных и сравнит его с файлами/каталогами, найденными на системном диске. Если он обнаруживает изменения в местах, которых вы не ожидали, он создает отчет, который вы затем можете просмотреть.

Поскольку в файловую систему не было внесено никаких изменений, вы получите только результат, аналогичный приведенному выше. Теперь попробуйте создать несколько файлов в файловой системе в областях, определенных в файле конфигурации.

vi /etc/script.sh
touch all.txt

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

aide --check

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

aide --update

После запуска обновления базы данных, чтобы использовать новую базу данных для будущих сканирований, всегда переименовывайте ее в /var/lib/aide/aide.db.gz:

mv /var/lib/aide/aide.db.new.gz  /var/lib/aide/aide.db.gz

На данный момент это все! Но обратите внимание на следующие важные моменты:

  • Одной из характеристик большинства систем обнаружения вторжений, включая AIDE, является то, что они не предоставляют решений для большинства лазеек безопасности в системе. Однако они помогают облегчить процесс реагирования на вторжение, помогая системным администраторам проверять любые изменения в системных файлах/каталогах. Поэтому вам всегда следует быть бдительными и постоянно обновлять текущие меры безопасности.
  • Настоятельно рекомендуется хранить вновь созданную базу данных, файл конфигурации и двоичный файл AIDE в безопасном месте, например на носителе только для чтения (возможно, если вы устанавливаете из исходного кода).
  • Для дополнительной безопасности рассмотрите возможность подписания конфигурации и/или базы данных.

Дополнительную информацию и настройки см. на справочной странице или на домашней странице AIDE: http://aide.sourceforge.net/.