Przed rozpoczęciem kursu
AIDE oznacza „Advanced Intrusion Detection Environment” i jest jednym z najpopularniejszych systemów monitorowania zmian w systemach operacyjnych opartych na Linuksie. AIDE służy do ochrony przed złośliwym oprogramowaniem, wirusami i wykrywania nieautoryzowanych działań. Aby zweryfikować integralność plików i wykryć włamania, AIDE tworzy bazę danych zawierającą informacje 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, SELinux, XAttrs, Posix ACL i atrybutów 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 z systemem CentOS 8 i co najmniej 2 GB pamięci RAM.
- dostęp do roota
Pierwsze kroki
Zaleca się najpierw zaktualizować system. Aby to zrobić, uruchom następujące polecenie.
dnf update -y
Po aktualizacji uruchom ponownie system, aby zmiany zaczęły obowiązywać.
Instalowanie AIDE’a
AIDE jest dostępny w domyślnym repozytorium CentOS 8. Możesz go łatwo zainstalować, uruchamiając następującą komendę:
dnf install aide -y
Po zakończeniu instalacji możesz wyświetlić wersję AIDE za pomocą następującego polecenia:
aide --version
Powinieneś 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 --init
Powinieneś 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/aide
Wynik:
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.gz
Zaleca 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 --check
Wykonanie 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.txt
Teraz uruchom kontrolę AIDE i upewnij się, że utworzony plik został wykryty.
aide --check
Powinieneś 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 --update
Po 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.gz
Teraz 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.gz
Uruchom ponownie sprawdzenie, aby upewnić się, że AIDE korzysta z nowej bazy danych:
aide --check
Powinieneś 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/crontab
Aby uruchamiać sprawdzanie AIDE codziennie o 10:15, dodaj następujący wiersz na końcu pliku:
15 10 * * * root /usr/sbin/aide --check
AIDE powiadomi Cię teraz pocztą. Możesz sprawdzić swoją pocztę za pomocą następującego polecenia:
tail -f /var/mail/root
Dziennik AIDE można wyświetlić za pomocą następującego polecenia:
tail -f /var/log/aide/aide.log
wniosek
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