Сегодня цель разобрать что из себя представляет инструмент именуемый как AIDE (Advanced Intrusion Detection Environment) в задачу которого входит отслеживание и выявление всех изменений на системе/сервере. А в роли системы/сервера выступит моя система Ubuntu Trusty Server с которой я работаю в повседневности. Под изменения попадает:
- изменение разрешений
- владельца
- размера
- контрольной суммы файлов и директорий.
ekzorchik@srv-trusty:~$ sudo rm -Rf /var/lib/apt/lists
ekzorchik@srv-trusty:~$ sudo apt-get update && sudo apt-get upgrade -y
ekzorchik@srv-trusty:~$ sudo apt-get install aide -y
Please select the mail server configuration type that best meets your needs. - Ok
General type of mail configuration: No configuration
Далее проверяю месторасположение конфигурационного файла и с какими опциями произведена установка инструмента AIDE в системе из скомпилированного пакета:
ekzorchik@srv-trusty:~$ sudo aide -v
Aide 0.16a2-19-g16ed855
Compiled with the following options:
WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_MHASH
CONFIG_FILE = "/dev/null"
Вот только не видно, как именуется конфигурационный файл, что ж придется значит поискать его:
ekzorchik@srv-trusty:~$ sudo find / -name aide.conf
/usr/share/aide/config/aide/aide.conf
/etc/aide/aide.conf
После создаю базу данных с которой будет работать Aide:
ekzorchik@srv-trusty:~$ sudo aide --init
Couldn't open file /var/lib/aide/please-dont-call-aide-without-parameters/aide.db.new for writing
ekzorchik@srv-trusty:~$ sudo aide --config-check
ekzorchik@srv-trusty:~$ sudo aideinit
Running aide --init...
AIDE 0.16a2-19-g16ed855 initialized AIDE database at /var/lib/aide/aide.db.new
Start timestamp: 2017-07-08 16:14:27 +0300
Verbose level: 6
Number of entries: 130213
/var/lib/aide/aide.db.new
End timestamp: 2017-07-08 16:19:02 +0300 (run time: 4m 35s)
ekzorchik@srv-trusty:~$ sudo aide.wrapper --check
AIDE 0.16a2-19-g16ed855 found differences between database and filesystem!!
Start timestamp: 2017-07-08 17:06:36 +0300
Verbose level: 6
Summary:
Total number of entries: 130214
Added entries: 1
Removed entries: 0
Changed entries: 1
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/lib/aide/aide.db
---------------------------------------------------
Changed entries:
---------------------------------------------------
f =.... mc..... .: /var/lib/sudo/ekzorchik/0
---------------------------------------------------
Detailed information about changes:
---------------------------------------------------
File: /var/lib/sudo/ekzorchik/0
Mtime : 2017-07-08 16:42:05 +0300 | 2017-07-08 17:06:35 +0300
Ctime : 2017-07-08 16:42:05 +0300 | 2017-07-08 17:06:35 +0300
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db
RMD160 : tlzz6/RQcKNxKXjqqPuGGL329ws=
TIGER : O+fymGZQuiZ2stISfHy0oK9xXVyQzb+7
SHA256 : rsftCVhWdiDQT6QH3a8gF4R7EgExUFjk
9PYgQfxAuRI=
SHA512 : X4XPE6mBF4cOd75ymhm1gRjZg54ng8Lf
fctoG4btPTnfbWYvJmywA7ny+len8TAm
0hLPSWGqlVRptPZysO4O5A==
CRC32 : goyajA==
HAVAL : vlHB637XimrDh+7zAlWD/qvcT5Q59VLo
8Y8C08VqNyE=
GOST : EjJUDzNrRrT3wRuwMG+8zPLRUko2UgyR
aGMaKD+VbWU=
End timestamp: 2017-07-08 17:11:03 +0300 (run time: 4m 27s)
Проверяю, как отработает инструмент если в системе в неподходящем месте будет создан обычный текстовый файл:
ekzorchik@srv-trusty:~$ sudo touch /usr/sbin/testfile.txt
ekzorchik@srv-trusty:~$ sudo aide.wrapper --check
AIDE 0.16a2-19-g16ed855 found differences between database and filesystem!!
Start timestamp: 2017-07-08 17:14:15 +0300
Verbose level: 6
Summary:
Total number of entries: 130215
Added entries: 2
Removed entries: 0
Changed entries: 2
Added entries:
---------------------------------------------------
f++++++++++++++++: /usr/sbin/testfile.txt
ekzorchik@srv-trusty:~$ sudo aide.wrapper --update
AIDE 0.16a2-19-g16ed855 found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new
Start timestamp: 2017-07-08 17:21:36 +0300
Verbose level: 6
Как по мне проще использовать clamav + rkhunter + etckeeper тем более что я уже с этим работал и имею небольшие наработки. Вообще единоличное управление системой и настройки, плюс с этому грамотная настройка безопасности сводят на нет все попытки не авторизованного доступа к системе/серверу. Такое будет работать если Вы действительно правильно относитесь к тому что делаете. Я не спорю, что я лишь поверхностно прошелся по данному инструменту и многое осталось за кадров, но мне он не понравился. Той связки что я привел выше меня всецело устраивает.
На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.