Wyszukiwanie w witrynie

Jak sprawdzić integralność pliku i katalogu za pomocą „AIDE” w systemie Linux


W naszym mega przewodniku po wzmacnianiu i zabezpieczaniu CentOS 7, w sekcji „chroń system wewnętrznie”, jedno z przydatnych narzędzi bezpieczeństwa wymieniliśmy w celu wewnętrznej ochrony systemu przed wirusami, rootkitami, złośliwym oprogramowaniem i wykrywaniem nieautoryzowanych działaniami jest AIDE.

AIDE (Advanced Intrusion Detection Environment) to małe, ale potężne, bezpłatne narzędzie do wykrywania włamań typu open source, które wykorzystuje predefiniowane reguły do sprawdzania integralności plików i katalogów w systemach operacyjnych typu Unix takich jak Linux. Jest to niezależny statyczny plik binarny umożliwiający uproszczoną konfigurację monitorowania klient/serwer.

Jest bogaty w funkcje: wykorzystuje pliki konfiguracyjne w postaci zwykłego tekstu i bazę danych, dzięki czemu jest łatwy w użyciu; obsługuje kilka algorytmów podsumowania wiadomości, takich jak md5, sha1, rmd160, tiger; obsługuje typowe atrybuty plików; obsługuje także zaawansowane wyrażenia regularne umożliwiające selektywne uwzględnianie lub wykluczanie plików i katalogów do przeskanowania.

Można go także skompilować z wyjątkową obsługą kompresji Gzip, Posix ACL, SELinux, XAttrs i rozszerzonych atrybutów systemu plików.

Aide działa poprzez utworzenie bazy danych (która jest po prostu migawką wybranych części systemu plików) na podstawie reguł wyrażeń regularnych zdefiniowanych w plikach konfiguracyjnych. Po zainicjowaniu tej bazy danych można sprawdzić względem niej integralność plików systemowych. Ten przewodnik pokaże, jak zainstalować i używać aide w systemie Linux.

Jak zainstalować AIDE w systemie Linux

Aide znajduje się w oficjalnych repozytoriach głównych dystrybucji Linuksa, aby go zainstalować, uruchom polecenie dla swojej dystrybucji za pomocą menedżera pakietów.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Po zainstalowaniu głównym plikiem konfiguracyjnym jest /etc/aide.conf. Aby wyświetlić zainstalowaną wersję oraz parametry czasu kompilacji, uruchom poniższe polecenie na swoim terminalu:

aide -v
Przykładowe wyjście
Aide 0.14

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Możesz otworzyć konfigurację za pomocą swojego ulubionego edytora.

vi /etc/aide.conf

Posiada dyrektywy definiujące lokalizację bazy danych, lokalizację raportu, domyślne reguły, katalogi/pliki, które mają zostać uwzględnione w bazie danych.

Zrozumienie domyślnych zasad pomocy

Korzystając z powyższych reguł domyślnych, możesz na przykład zdefiniować nowe reguły niestandardowe w pliku aide.conf.

PERMS = p+u+g+acl+selinux+xattrs

Reguła PERMS służy wyłącznie do kontroli dostępu. Wykryje wszelkie zmiany w pliku lub katalogach na podstawie uprawnień do pliku/katalogu, użytkownika, grupy, uprawnień kontroli dostępu, kontekstu SELinux i atrybutów pliku.

Spowoduje to jedynie sprawdzenie zawartości i typu pliku.

CONTENT = sha256+ftype

Jest to rozszerzona wersja poprzedniej reguły, sprawdza rozszerzoną zawartość, typ pliku i dostęp.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

Poniższa reguła DATAONLY pomoże wykryć wszelkie zmiany w danych we wszystkich plikach/katalogach.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Definiowanie reguł oglądania plików i katalogów

Po zdefiniowaniu reguł możesz określić plik i katalogi do obserwowania. Biorąc pod uwagę powyższą regułę PERMS, ta definicja sprawdzi uprawnienia do wszystkich plików w katalogu głównym.

/root/\..*  PERMS

Spowoduje to sprawdzenie wszystkich plików w katalogu /root pod kątem jakichkolwiek zmian.

/root/   CONTENT_EX

Aby pomóc Ci wykryć wszelkie zmiany w danych we wszystkich plikach/katalogach w /etc/, użyj tego.

/etc/   DATAONLY 

Używanie AIDE do sprawdzania integralności plików i katalogów w systemie Linux

Zacznij od zbudowania bazy danych na podstawie kontroli, które zostaną przeprowadzone przy użyciu flagi --init. Należy to zrobić przed podłączeniem systemu do sieci.

Poniższe polecenie utworzy bazę danych zawierającą wszystkie pliki wybrane w pliku konfiguracyjnym.

aide --init

Następnie zmień nazwę bazy danych na /var/lib/aide/aide.db.gz przed kontynuowaniem za pomocą tego polecenia.

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

Zaleca się przeniesienie bazy danych w bezpieczne miejsce, na przykład na nośnik tylko do odczytu lub na inny komputer, ale pamiętaj o zaktualizowaniu pliku konfiguracyjnego, aby móc go stamtąd odczytać.

Po utworzeniu bazy danych możesz teraz sprawdzić integralność plików i katalogów za pomocą flagi --check.

aide --check

Odczyta migawkę z bazy danych i porówna ją z plikami/katalogami znalezionymi na dysku systemowym. Jeśli znajdzie zmiany w miejscach, których się nie spodziewasz, generuje raport, który możesz następnie przejrzeć.

Ponieważ w systemie plików nie wprowadzono żadnych zmian, otrzymasz jedynie wynik podobny do powyższego. Teraz spróbuj utworzyć jakieś pliki w systemie plików, w obszarach zdefiniowanych w pliku konfiguracyjnym.

vi /etc/script.sh
touch all.txt

Następnie jeszcze raz przeprowadź kontrolę, która powinna zgłosić pliki dodane powyżej. Dane wyjściowe tego polecenia zależą od części systemu plików skonfigurowanych do sprawdzania, może to zająć dużo czasu.

aide --check

Należy regularnie przeprowadzać kontrole pomocnicze, a w przypadku jakichkolwiek zmian w już wybranych plikach lub dodaniu nowych definicji plików w pliku konfiguracyjnym, zawsze aktualizuj bazę danych za pomocą opcji --update:

aide --update

Aby po uruchomieniu aktualizacji bazy danych użyć nowej bazy danych do przyszłych skanów, zawsze zmieniaj jej nazwę na /var/lib/aide/aide.db.gz:

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

To wszystko na teraz! Ale zwróć uwagę na te ważne punkty:

  • Jedną z cech większości systemów wykrywania włamań, włączając AIDE, jest to, że nie zapewniają one rozwiązania większości luk w zabezpieczeniach systemu. Pomagają jednak w ułatwieniu procesu reagowania na włamania, pomagając administratorom systemu w sprawdzaniu wszelkich zmian w plikach/katalogach systemowych. Dlatego zawsze powinieneś zachować czujność i na bieżąco aktualizować swoje obecne środki bezpieczeństwa.
  • Zdecydowanie zaleca się przechowywanie nowo utworzonej bazy danych, pliku konfiguracyjnego i pliku binarnego AIDE w bezpiecznym miejscu, takim jak nośnik tylko do odczytu (możliwe, jeśli instalujesz ze źródła).
  • Dla dodatkowego bezpieczeństwa rozważ podpisanie konfiguracji i/lub bazy danych.

Dodatkowe informacje i konfiguracje można znaleźć na stronie podręcznika lub na stronie głównej AIDE: http://aide.sourceforge.net/