Як усталяваць і выкарыстоўваць AIDE (Advanced Intrusion Detection Environment) у CentOS 8

Напярэдадні старту курса "Адміністратар Linux" падрыхтавалі перавод цікавага матэрыялу.

Як усталяваць і выкарыстоўваць AIDE (Advanced Intrusion Detection Environment) у CentOS 8

AIDE расшыфроўваецца як "Advanced Intrusion Detection Environment" (удасканаленая сістэма выяўлення ўварванняў) – гэта адна з самых папулярных сістэм для маніторынгу змен у аперацыйных сістэмах на базе Linux. AIDE выкарыстоўваецца для абароны ад шкоднасных праграм, вірусаў і выяўленні несанкцыянаваных дзеянняў. Для праверкі цэласнасці файлаў і выяўленні ўварванняў AIDE стварае базу дадзеных з інфармацыяй аб файлах і параўноўвае бягучы стан сістэмы з гэтай базай. AIDE дапамагае скараціць час расследавання інцыдэнтаў, засяродзіўшыся на файлах, якія былі зменены.

Магчымасці AIDE:

  • Падтрымка розных атрыбутаў файлаў, у тым ліку: тып файла, inode, uid, gid, дазволы, колькасць спасылак, mtime, ctime і atime.
  • Падтрымка сціску Gzip, SELinux, XAttrs, Posix ACL і атрыбутаў файлавай сістэмы.
  • Падтрымка розных алгарытмаў, у тым ліку, md5, sha1, sha256, sha512, rmd160, crc32 і г. д.
  • Адпраўка апавяшчэнняў па электроннай пошце.

У гэтым артыкуле мы разгледзім, як усталяваць і выкарыстоўваць AIDE для выяўлення ўварванняў у CentOS 8.

папярэднія патрабаванні

  • Сервер пад кіраваннем CentOS 8, мінімум з 2 ГБ аператыўнай памяці.
  • root-доступ

Пачынаем

Спачатку рэкамендуецца абнавіць сістэму. Для гэтага выканайце наступную каманду.

dnf update -y

Пасля абнаўлення перазапусціце сістэму, каб змены ўступілі ў сілу.

Ўстаноўка AIDE

AIDE даступны ў дэфолтным рэпазітары CentOS 8. Вы можаце яе лёгка ўсталяваць, выканаўшы наступную каманду:

dnf install aide -y

Пасля завяршэння ўстаноўкі можна паглядзець версію AIDE з дапамогай наступнай каманды:

aide --version

Вы павінны ўбачыць наступнае:

Aide 0.16

Compiled with the following options:

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

Даступныя параметры aide можна паглядзець наступным чынам:

aide --help

Як усталяваць і выкарыстоўваць AIDE (Advanced Intrusion Detection Environment) у CentOS 8

Стварэнне і ініцыялізацыя базы даных

Першае, што вам трэба зрабіць пасля ўстаноўкі AIDE - гэта яе ініцыялізаваць. Ініцыялізацыя заключаецца ў стварэнні базы даных (здымка) усіх файлаў і каталогаў сервера.

Для ініцыялізацыі базы дадзеных выканайце наступную каманду:

aide --init

Вы павінны ўбачыць наступнае:

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

Прыведзеная вышэй каманда створыць новую базу даных aide.db.new.gz у каталогу /var/lib/aide. Яе можна ўбачыць, выкарыстоўваючы наступную каманду:

ls -l /var/lib/aide

Вынік:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

AIDE не будзе выкарыстоўваць гэты новы файл базы дадзеных, пакуль яго не перайменаваць у aide.db.gz. Гэта можна зрабіць наступным чынам:

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

Рэкамендуецца перыядычна абнаўляць гэтую базу дадзеных, каб забяспечыць неабходны маніторынг змен.

Змяніць месцазнаходжанне базы можна, змяніўшы параметр DBDIR у файле /etc/aide.conf.

Запуск праверкі

Цяпер AIDE гатова да выкарыстання новай базы дадзеных. Запусціце першую праверку AIDE, не робячы ніякіх змен:

aide --check

Выкананне гэтай каманды зойме некаторы час у залежнасці ад памеру вашай файлавай сістэмы і аб'ёму аператыўнай памяці на вашым серверы. Пасля завяршэння праверкі вы павінны ўбачыць наступнае:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Прыведзеная вышэй выснова, кажа, што ўсе файлы і каталогі адпавядаюць базе дадзеных AIDE.

Тэстуем AIDE

Па змаўчанні AIDE не адсочвае дэфолтны каранёвы каталог Apache /var/www/html. Давайце наладзім AIDE для яго прагляду. Для гэтага трэба змяніць файл /etc/aide.conf.

nano /etc/aide.conf

Дадайце над радком "/root/CONTENT_EX" наступнае:

/var/www/html/ CONTENT_EX

Далей, стварыце файл aide.txt у каталогу /var/www/html/, выкарыстоўваючы наступную каманду:

echo "Test AIDE" > /var/www/html/aide.txt

Цяпер запусціце праверку AIDE і пераканайцеся, што створаны файл будзе знойдзены.

aide --check

Вы павінны ўбачыць наступнае:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Мы бачым, што знойдзены створаны файл aide.txt.
Пасля аналізу выяўленых змен абновіце базу дадзеных AIDE.

aide --update

Пасля абнаўлення вы ўбачыце наступнае:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Прыведзеная вышэй каманда створыць новую базу даных aide.db.new.gz у каталогу

/var/lib/aide/

Вы можаце ўбачыць яе з дапамогай наступнай каманды:

ls -l /var/lib/aide/

Вынік:

total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz

Цяпер пераназвайце новую базу дадзеных яшчэ раз, каб для адсочвання далейшых змен AIDE выкарыстала новую базу. Перайменаваць можна наступным чынам:

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

Запусціце яшчэ раз праверку, каб пераканацца, што AIDE выкарыстоўвае новую базу дадзеных:

aide --check

Вы павінны ўбачыць наступныя:

Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Аўтаматызуем праверку

Гэта добрая ідэя - запускаць праверку AIDE кожны дзень і адпраўляць справаздачу па пошце. Гэты працэс можна аўтаматызаваць з дапамогай cron.

nano /etc/crontab

Для запуску праверкі AIDE кожны дзень у 10:15 дадайце ў канец файла радок:

15 10 * * * root /usr/sbin/aide --check

Цяпер AIDE паведаміць вас па пошце. Праверыць пошту можна наступнай камандай:

tail -f /var/mail/root

Лог AIDE можна паглядзець з дапамогай наступнай каманды:

tail -f /var/log/aide/aide.log

Заключэнне

У гэтым артыкуле вы даведаліся, як выкарыстоўваць AIDE для выяўлення змен файлаў і выяўленні несанкцыянаванага доступу да сервера. Для дадатковых налад вы можаце змяніць файл канфігурацыі /etc/aide.conf. У мэтах бяспекі рэкамендуецца захоўваць базу дадзеных і канфігурацыйны файл на носьбіце, даступным толькі для чытання. Дадатковую інфармацыю можна атрымаць у дакументацыі AIDE Doc.

Даведацца падрабязней аб курсе.

Крыніца: habr.com

Дадаць каментар