[[ AIDE – контроль целостности системных файлов ]]

AIDE – контроль целостности системных файлов

AIDE — это система обнаружения атак, основанная на узле (Host-Based Intrusion Detection System, HIDS).

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

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

HIDS является великолепным решением для регистрации подозрительных изменений в системе.

Установка

Установка

emerge app-forensics/aide -av

app-forensics/aide-0.14.2

Права на логи

chmod 750 /var/lib/aide/
chmod 750 /var/log/aide/

Настройки

Конфигурационный файл

/etc/aide/aide.conf

# База данных (текущая)
database=file:/var/lib/aide/aide.db
# База данных создаваемая при новой проверке
database_out=file:/var/lib/aide/aide.db.new
#+ База данных используемая для команды --compare
database_new=file:/var/lib/aide/aide.db.new
# Использовать сжатие (zlib)
gzip_dbout=yes

...

Скрип запуска по крону: /etc/cron.daily/aide.cron

Критерии проверки

Задаются списки критериев и определяются файлы к которым они применимы, например:

Binlib = p+i+n+u+g+s+b+m+c+md5+sha1

# Сканировать весь каталог /bin
/bin Binlib

# '=' Сканировать каталог НЕ рекурсивно (сам каталог)
# '=/boot$' это жесткое сочетание, по сути двух эквивалентов =/boot и /boot$
=/boot$ Binlib

# '!' НЕ сканировать файл или каталог
!/var/log/nginx
#Так же поддерживаются регулярные выражения
#'$' '*' '(.[0-9])?(.gz)?' и т.п.
Ключ Описание
p права доступа
i inodes
n количество ссылок
u владелец
g группа
s размер
S проверка увеличение размера
b число блоков
m mtime - время последней модификации
a atime - время последнего доступа
c ctime - время изменения дескриптора файла (например изменение прав и т.п.)
md5 контрольная сумма MD5
sha1 контрольная сумма SHA1
rmd160 контрольная сумма RMD160
tiger контрольная сумма Tiger
R p+i+n+u+g+s+m+c+md5
L p+i+n+u+g
E Empty - пусто
> растущий лог-файл p+u+g+i+n+S

Если aide собран с флагом mhash, то доступны

haval контрольная сумма Haval
gost контрольная сумма Gost
crc32 контрольная сумма CRC32

Использование

Инициализация базы (создается /aide.db.new):

aide -i

Обновление БД (необходимо ручное обновление БД):

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

Создадим команду aide-update для удобства

nano /usr/bin/aide-update

aide-update

#!/bin/bash
UID_ROOT=0
if [ "$UID" -ne "$UID_ROOT" ]; then
  echo "Requires root privileges"
  exit 1
 fi
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db
exit 0

chmod 755 /usr/bin/aide-update

Проверка системы, сравнении aide.db и текущего состояния системы (без обновления aide.db.new)

aide -C

Проверка системы, сравнении aide.db и текущего состояния системы (с обновлением aide.db.new)

aide -u

Сравнение БД (без сканирование файлов)

aide --compare

Чтобы работало сравнение БД в конфиге нужно определитель БД для сравнения:

database_new=file:/var/lib/aide/aide.db.new

Пример

/etc/aide/aide.conf

...

########## my rules ##########
LogsMy = p+u+g

########## logs files ##########
=/var/log$ StaticDir
/var/log LogsMy
# не учитывать архивы вида log.0.gz
!/var/log/(.*)(\.gz)?$
!/var/log/(.*)(\.bz2)?$


########## etc files ##########
/etc/ ConfFiles
!/etc/mtab
!/etc/udev/rules.d
!/etc/adjtime
!/etc/cron.d/vz

########## ssh files ##########
/root/.ssh ConfFiles
!/root/.ssh/known_hosts
/home/user/.ssh ConfFiles
!/home/user/.ssh/known_hosts

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
131 -8​ =᠎
 
tools/security/aide.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki