Напярэдадні старту курса
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 - гэта яе ініцыялізаваць. Ініцыялізацыя заключаецца ў стварэнні базы даных (здымка) усіх файлаў і каталогаў сервера.
Для ініцыялізацыі базы дадзеных выканайце наступную каманду:
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. У мэтах бяспекі рэкамендуецца захоўваць базу дадзеных і канфігурацыйны файл на носьбіце, даступным толькі для чытання. Дадатковую інфармацыю можна атрымаць у дакументацыі
Крыніца: habr.com