вторник, 18 августа 2015 г.

AIDE - контроль целостности ваших файлов

AIDE (Advanced Intrusion Detection Enviornment, расширенная среда обнаружения вторжений) - инструмент для проверки целостности файлов. Он создаёт снимок состояния всех файлов в системе и сохраняет его в своей базе данных, что впоследствии может использоваться для определения модификации файлов (например злоумышленниками).
AIDE - утилита с открытым исходным кодом, и доступна в большинстве дистрибутивов Linux. Пример будет производиться на Debian 8. Примечание: крайне желательно устанавливать AIDE на свежеустановленную систему.


Для начала, установим утилиту:

sudo apt install aide

Теперь необходимо настроить мониторинг, и указать какие директории и файлы включить в снимок состояния. Это нужно сделать для того, чтобы не было ложных срабатываний и записей в логе (к примеру из-за файлов в каталоге /proc, данные в котором регулярно изменяются). Для этого открываем конфигурационный файл:

sudo nano /etc/aide/aide.conf

И добавляем следующий блок:

#проверять права доступа, владельца, группу, размер, время последней модификации, время изменения прав, контрольную сумму md5
BinLib = p+u+g+s+m+c+md5
#Указываем список каталогов для проверки
/bin BinLib
/etc BinLib

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

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

= - Сканировать каталог НЕ рекурсивно (сам каталог), например,
=/boot ! - НЕ сканировать файл или каталог, например,
!/var/log/apache


Также в каталоге /etc/aide/aide.conf.d, есть множество различных конфигов. Внимательно их просмотрите, и можете удалить лишние. В этом же каталоге вы можете оставить свои файлы настроек. Теперь создадим базу данных:

sudo aide -c /etc/aide/aide.conf -i

Для проверки работы, создадим файл в /bin:

sudo touch /bin/test_aide

И выполним проверку:

sudo aide -c /etc/aide/aide.conf -u

AIDE 0.16a2-19-g16ed855 found differences between database and filesystem!!
Start timestamp: 2015-08-18 18:52:01 +0900

Summary:
  Total number of files:        2276
  Added files:                  1
  Removed files:                0
  Changed files:                1


---------------------------------------------------
Added files:
---------------------------------------------------

f++++++++++++++++: /bin/test_aide

---------------------------------------------------
Changed files:
---------------------------------------------------

d = ... mc       : /bin

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------


Directory: /bin
 Mtime    : 2015-08-18 18:51:40              , 2015-08-18 18:52:00
 Ctime    : 2015-08-18 18:51:40              , 2015-08-18 18:52:00


Для того чтобы данные стали актуальны (предыдущая команда создаёт новую базу данных), обновим БД:

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

Автоматическая проверка будет происходить ежедневно. Для того чтобы результат проверки отправлялся на вашу электронную почту, откройте файл /etc/default/aide, и укажите вместо MAILTO=root, MAILTO=ваш.e-mail@example.com. А параметр COPYNEWDB=no укажите COPYNEWDB=yes.

Комментариев нет:

Отправить комментарий