Jak zainstalować i używać AIDE (Advanced Intrusion Detection Environment) w CentOS 8

W przeddzień rozpoczęcia kursu Administrator Linux przygotowaliśmy tłumaczenie interesującego materiału.

Jak zainstalować i używać AIDE (Advanced Intrusion Detection Environment) w CentOS 8

AIDE oznacza „Advanced Intrusion Detection Environment” (zaawansowane środowisko wykrywania intruzji) — to jeden z najpopularniejszych systemów do monitorowania zmian w systemach operacyjnych opartych na Linuxie. AIDE jest używane w celu ochrony przed złośliwym oprogramowaniem, wirusami oraz wykrywania nieautoryzowanych działań. Aby sprawdzić integralność plików i wykryć intruzje, AIDE tworzy bazę danych z informacjami o plikach i porównuje bieżący stan systemu z tą bazą. AIDE pomaga skrócić czas dochodzenia w sprawie incydentów, skupiając się na plikach, które zostały zmienione.

Możliwości AIDE:

  • Wsparcie dla różnych atrybutów plików, w tym: typ pliku, inode, uid, gid, uprawnienia, liczba referencji, mtime, ctime i atime.
  • Wsparcie dla kompresji Gzip, SELinux, XAttrs, Posix ACL i atrybutów systemu plików.
  • Wsparcie dla różnych algorytmów, w tym md5, sha1, sha256, sha512, rmd160, crc32 itp.
  • Wysyłanie powiadomień e-mail.

W tym artykule omówimy, jak zainstalować i używać AIDE do wykrywania intruzji w CentOS 8.

Wymagania wstępne

  • Serwer z systemem CentOS 8, z minimum 2 GB pamięci RAM.
  • Dostęp root

Rozpoczynamy

Na początku zaleca się zaktualizowanie systemu. W tym celu wykonaj następującą komendę.

dnf update -y

Po aktualizacji uruchom ponownie system, aby zmiany weszły w życie.

Instalacja AIDE

AIDE jest dostępne w domyślnym repozytorium CentOS 8. Możesz je łatwo zainstalować, wykonując następującą komendę:

dnf install aide -y

Po zakończeniu instalacji możesz sprawdzić wersję AIDE za pomocą następującej komendy:

aide --version

Powinieneś zobaczyć następujące:

Aide 0.16

Skompilowano z następującymi opcjami:

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 parametry aide można zobaczyć w następujący sposób:

aide --help

Jak zainstalować i używać AIDE (Advanced Intrusion Detection Environment) w CentOS 8

Tworzenie i inicjalizacja bazy danych

Pierwszą rzeczą, którą musisz zrobić po zainstalowaniu AIDE, jest jej inicjalizacja. Inicjalizacja polega na stworzeniu bazy danych (zdjęcia) wszystkich plików i katalogów serwera.

Aby zainicjować bazę danych, wykonaj następującą komendę:

aide --init

Powinieneś zobaczyć następujące:

Czas rozpoczęcia: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE zainicjował bazę danych w /var/lib/aide/aide.db.new.gz

Liczba wpisów:	49472

---------------------------------------------------
Atrybuty (niekompresowane) bazy danych:
---------------------------------------------------

/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==


Czas zakończenia: 2020-01-16 03:03:44 -0500 (czas działania: 0m 25s)

Powyższe polecenie utworzy nową bazę danych aide.db.new.gz w katalogu /var/lib/aide. Można ją zobaczyć, używając następującego polecenia:

ls -l /var/lib/aide

Wynik:

razem 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 nie zmieni go 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.gz

Zaleca się okresowe aktualizowanie tej bazy danych, aby zapewnić odpowiednie monitorowanie zmian.

Lokalizację bazy można zmienić, zmieniając parametr DBDIR w pliku /etc/aide.conf.

Rozpoczęcie kontroli

Teraz AIDE jest gotowy do użycia nowej bazy danych. Uruchom pierwszą kontrolę AIDE bez wprowadzania jakichkolwiek zmian:

aide --check

Wykonanie tego polecenia zajmie trochę czasu w zależności od rozmiaru systemu plików i ilości pamięci RAM w Twoim serwerze. Po zakończeniu kontroli powinieneś zobaczyć następujące:

Czas rozpoczęcia: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE nie znalazł różnic między bazą danych a systemem plików. Wygląda dobrze!!

Powyższy wynik mówi, że wszystkie pliki i katalogi odpowiadają bazie danych AIDE.

Testujemy AIDE

Domyślnie AIDE nie śledzi domyślnego katalogu głównego Apache /var/www/html. Skonfigurujmy AIDE, aby go monitorował. W tym celu musisz zmodyfikować plik /etc/aide.conf.

nano /etc/aide.conf

Dodaj powyżej linii "/root/CONTENT_EX" następujące:

/var/www/html/ CONTENT_EX

Następnie stwórz plik aide.txt w katalogu /var/www/html/, używając następującego polecenia:

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

Teraz uruchom kontrolę AIDE i upewnij się, że utworzony plik zostanie wykryty.

aide --check

Powinieneś zobaczyć następujące:

Czas rozpoczęcia: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE znalazł różnice między bazą danych a systemem plików!!

Podsumowanie:
  Całkowita liczba wpisów:	49475
  Dodane wpisy:		1
  Usunięte wpisy:		0
  Zmodyfikowane wpisy:		0

---------------------------------------------------
Dodane wpisy:
---------------------------------------------------

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

Widzimy, że wykryto utworzony plik aide.txt.
Po analizie wykrytych zmian zaktualizuj bazę danych AIDE.

aide --update

Po aktualizacji zobaczysz następujące:

Zaczynający czas: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE znalazło różnice między bazą danych a systemem plików!!
Nowa baza danych AIDE została zapisana w /var/lib/aide/aide.db.new.gz

Podsumowanie:
  Łączna liczba wpisów:	49475
  Dodane wpisy:		1
  Usunięte wpisy:		0
  Zmodyfikowane wpisy:		0

---------------------------------------------------
Dodane wpisy:
---------------------------------------------------

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

Powyższe polecenie utworzy nową bazę danych aide.db.new.gz w katalogu

/var/lib/aide/

Możesz to zobaczyć za pomocą następującej komendy:

ls -l /var/lib/aide/

Wynik:

razem 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

Teraz zmień nazwę nowej bazy danych ponownie, aby AIDE używał nowej bazy do śledzenia dalszych zmian. Można to zrobić w następujący sposób:

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

Uruchom sprawdzenie jeszcze raz, aby upewnić się, że AIDE używa nowej bazy danych:

aide --check

Powinieneś zobaczyć następujące:

Zaczynający czas: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE nie znalazło różnic między bazą danych a systemem plików. Wygląda dobrze!!

Automatyzacja sprawdzenia

To dobry pomysł — uruchamiać sprawdzenie AIDE codziennie i wysyłać raport mailem. Proces ten można zautomatyzować za pomocą cron.

nano /etc/crontab

Aby uruchamiać sprawdzenie AIDE codziennie o 10:15, dodaj na końcu pliku linię:

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

Teraz AIDE powiadomi Cię mailem. Możesz sprawdzić pocztę za pomocą następującej komendy:

tail -f /var/mail/root

Log AIDE można zobaczyć za pomocą następującej komendy:

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

Podsumowanie

W tym artykule dowiedziałeś się, jak używać AIDE do wykrywania zmian w plikach i identyfikowania nieautoryzowanego dostępu do serwera. W celu dodatkowych ustawień można zmienić plik konfiguracyjny /etc/aide.conf. W celach bezpieczeństwa zaleca się przechowywanie bazy danych oraz pliku konfiguracyjnego na nośniku dostępnym tylko do odczytu. Dodatkowe informacje można znaleźć w dokumentacji Dokumentacja AIDE.

Dowiedz się więcej o kursie.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster