Przed rozpoczęciem kursu Przygotowaliśmy tłumaczenie ciekawych materiałów.

AIDE to skrót od „Advanced Intrusion Detection Environment” i jest jednym z najpopularniejszych systemów do monitorowania zmian w systemach operacyjnych w oparciu o LinuxAIDE służy do ochrony przed złośliwym oprogramowaniem i wirusami oraz wykrywania nieautoryzowanych działań. Aby zweryfikować integralność plików i wykryć włamania, AIDE tworzy bazę danych z informacjami o plikach i porównuje z nią aktualny stan systemu. AIDE pomaga skrócić czas badania incydentów, koncentrując się na plikach, które zostały zmodyfikowane.
Funkcje AIDE:
- Obsługuje różne atrybuty plików, w tym: typ pliku, i-węzeł, uid, gid, uprawnienia, liczbę łączy, mtime, ctime i atime.
- Obsługa kompresji Gzip i SELinux, XAttrs, listy kontroli dostępu Posix i atrybuty systemu plików.
- Obsługuje różne algorytmy, w tym md5, sha1, sha256, sha512, rmd160, crc32 itp.
- Wysyłanie powiadomień e-mailem.
W tym artykule przyjrzymy się, jak zainstalować i używać AIDE do wykrywania włamań w CentOS 8.
Wymagania wstępne
- Serwer zarządzany CentOS 8, z co najmniej 2GB pamięci RAM.
- dostęp do roota
Pierwsze kroki
Zaleca się najpierw zaktualizować system. Aby to zrobić, uruchom następujące polecenie.
dnf update -yPo aktualizacji uruchom ponownie system, aby zmiany zaczęły obowiązywać.
Instalowanie AIDE’a
AIDE jest dostępne w domyślnym repozytorium. CentOS 8. Możesz go łatwo zainstalować, uruchamiając następujące polecenie:
dnf install aide -yPo zakończeniu instalacji możesz wyświetlić wersję AIDE za pomocą następującego polecenia:
aide --versionPowinieneś zobaczyć następujące informacje:
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" Dostępne opcje aide można postrzegać w następujący sposób:
aide --help 
Tworzenie i inicjowanie bazy danych
Pierwszą rzeczą, którą musisz zrobić po zainstalowaniu AIDE, jest jego inicjalizacja. Inicjalizacja polega na utworzeniu bazy danych (snapshot) wszystkich plików i katalogów na serwerze.
Aby zainicjować bazę danych, uruchom następującą komendę:
aide --initPowinieneś zobaczyć następujące informacje:
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) Powyższe polecenie utworzy nową bazę danych aide.db.new.gz w katalogu /var/lib/aide. Można to zobaczyć za pomocą następującego polecenia:
ls -l /var/lib/aideWynik:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz AIDE nie będzie używać tego nowego pliku bazy danych, dopóki jego nazwa nie zostanie zmieniona na aide.db.gz. Można to zrobić w następujący sposób:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzZaleca się okresową aktualizację tej bazy danych, aby zapewnić odpowiednie monitorowanie zmian.
Możesz zmienić lokalizację bazy danych poprzez zmianę parametru DBDIR w pliku /etc/aide.conf.
Sprawdzanie
AIDE jest teraz gotowy do korzystania z nowej bazy danych. Uruchom pierwszą kontrolę AIDE bez wprowadzania żadnych zmian:
aide --checkWykonanie tego polecenia może zająć trochę czasu, w zależności od rozmiaru systemu plików i ilości pamięci RAM na serwerze. Po zakończeniu skanowania powinieneś zobaczyć następujące informacje:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!Powyższe dane wyjściowe mówią, że wszystkie pliki i katalogi pasują do bazy danych AIDE.
Testowanie AIDE
Domyślnie AIDE nie śledzi domyślnego katalogu głównego Apache /var/www/html. Skonfigurujmy AIDE, aby go wyświetlić. Aby to zrobić, musisz zmienić plik /etc/aide.conf.
nano /etc/aide.conf Dodaj powyższą linię "/root/CONTENT_EX" następujące:
/var/www/html/ CONTENT_EX Następnie utwórz plik aide.txt w katalogu /var/www/html/za pomocą następującego polecenia:
echo "Test AIDE" > /var/www/html/aide.txtTeraz uruchom kontrolę AIDE i upewnij się, że utworzony plik został wykryty.
aide --checkPowinieneś zobaczyć następujące informacje:
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 Widzimy, że utworzony plik został wykryty aide.txt.
Po przeanalizowaniu wykrytych zmian zaktualizuj bazę danych AIDE.
aide --updatePo aktualizacji zobaczysz następujące informacje:
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 Powyższe polecenie utworzy nową bazę danych aide.db.new.gz w katalogu
/var/lib/aide/Można to zobaczyć za pomocą następującego polecenia:
ls -l /var/lib/aide/Wynik:
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.gzTeraz ponownie zmień nazwę nowej bazy danych, aby program AIDE korzystał z nowej bazy danych do śledzenia dalszych zmian. Możesz zmienić jego nazwę w następujący sposób:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzUruchom ponownie sprawdzenie, aby upewnić się, że AIDE korzysta z nowej bazy danych:
aide --checkPowinieneś zobaczyć następujące informacje:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!Automatyzujemy kontrolę
Dobrym pomysłem jest codzienne przeprowadzanie kontroli AIDE i wysyłanie raportów pocztą. Proces ten można zautomatyzować za pomocą narzędzia cron.
nano /etc/crontabAby uruchamiać sprawdzanie AIDE codziennie o 10:15, dodaj następujący wiersz na końcu pliku:
15 10 * * * root /usr/sbin/aide --checkAIDE powiadomi Cię teraz pocztą. Możesz sprawdzić swoją pocztę za pomocą następującego polecenia:
tail -f /var/mail/rootDziennik AIDE można wyświetlić za pomocą następującego polecenia:
tail -f /var/log/aide/aide.logwniosek
W tym artykule dowiedziałeś się, jak używać AIDE do wykrywania zmian w plikach i identyfikowania nieautoryzowanego dostępu do serwera. Aby uzyskać dodatkowe ustawienia, możesz edytować plik konfiguracyjny /etc/aide.conf. Ze względów bezpieczeństwa zaleca się przechowywanie bazy danych i pliku konfiguracyjnego na nośniku tylko do odczytu. Więcej informacji można znaleźć w dokumentacji .
Źródło: www.habr.com
