Во пресрет на почетокот на курсот
AIDE е кратенка за „Напредно опкружување за откривање на упад“ и е еден од најпопуларните системи за следење на промените во оперативните системи базирани на 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 GB RAM.
- 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
Оваа команда ќе потрае некое време за да се заврши во зависност од големината на вашиот датотечен систем и количината на RAM меморија на вашиот сервер. Откако ќе заврши скенирањето, треба да го видите следново:
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 не го следи стандардниот root директориум на 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!!
Ние ја автоматизираме проверката
Добра идеја е да се изврши проверка на помошникот секој ден и да се испраќа извештајот по пошта. Овој процес може да се автоматизира со користење на 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. Од безбедносни причини, се препорачува да се зачува базата на податоци и конфигурациската датотека на медиум само за читање. Повеќе информации може да најдете во документацијата
Извор: www.habr.com