Jako administratorzy systemu, personel grupy wsparcia lub po prostu jako środek utrzymania najlepszego poziomu kontroli zarówno nad serwerem, jak i komputerami klienckimi w organizacji, stale przeprowadza audyt systemu operacyjnego, aby być o krok przed awariami, które mogą wystąpić a tym samym zachować integralność i dostępność systemu oraz jego ról, usług i elementów w nim przechowywanych.
Co to jest audyt LinuksaKiedy mówimy o systemie audytu w środowisku Linux, mówimy o mechanizmie, który zapewnia sposób śledzenia informacji istotnych dla bezpieczeństwa we wspomnianym systemie operacyjnym.
Audyt składa się ze zbadania różnych części składających się na ten system, z krytyczną oceną oraz, jeśli to konieczne, testów w różnych obszarach zainteresowania.
W oparciu o tę koncepcję Solvetic przeanalizuje dziś dwa najlepsze narzędzia do procesu audytu w Linuksie: auditd i ausearch.
Ważne jest, aby wyjaśnić, że audyt nie zapewnia dodatkowego bezpieczeństwa systemu operacyjnego, ale może być wykorzystany do wykrycia naruszeń zasad bezpieczeństwa stosowanych w systemie, a zatem mieć odpowiednią wiedzę na ich temat.
AudytdAuditd to system audytu Linux, który opiera się na wstępnie skonfigurowanych regułach do generowania wpisów w dzienniku, a tym samym do przechowywania jak największej ilości informacji o zdarzeniach, które mają miejsce w systemie.
Zebrane informacje mają kluczowe znaczenie dla środowisk krytycznych dla misji, aby określić osobę naruszającą politykę bezpieczeństwa i podjęte przez nią działania, a tym samym umożliwić skupienie wszystkich działań bezpieczeństwa i nowych polityk tworzonych w organizacji na ulepszaniu całego środowiska operacyjnego.
Auditd może rejestrować następujące pliki dziennika
- Data, godzina, rodzaj i wynik zdarzenia.
- Etykiety wrażliwości podmiotu i obiektu.
- Powiązanie zdarzenia z tożsamością użytkownika, który wykonał zdarzenie.
- Wdróż wszystkie modyfikacje konfiguracji kontroli i spróbuj uzyskać dostęp do plików dziennika kontroli.
- Przechowuj wszystkie zastosowania mechanizmów uwierzytelniania, takich jak SSH, Kerberos i inne.
- Możliwe jest przejście do dowolnej zaufanej bazy danych, takiej jak / etc / passwd.
- Rejestruje wszelkie próby importowania lub eksportowania informacji do lub z systemu.
- Obejmuje lub wyklucza zdarzenia oparte na tożsamości użytkownika, znacznikach podmiotu i obiektu oraz innych atrybutach.
WymaganiaW ten sam sposób korzystanie z systemu audytu jest również niezbędnym wymogiem dla szeregu certyfikacji związanych z bezpieczeństwem, jeśli w pewnym momencie jest to wymagane. Audyt ma na celu spełnienie lub przekroczenie wymagań następujących światowych wytycznych lub certyfikatów zgodności:
- Profil ochrony dostępu kontrolowanego (CAPP)
- Oznaczony profil ochrony bezpieczeństwa (LSPP)
- Kontrola dostępu do zestawu reguł (RSBAC)
- Instrukcja obsługi krajowego programu bezpieczeństwa przemysłowego (NISPOM)
- Federalna ustawa o zarządzaniu bezpieczeństwem informacji (FISMA)
- Branża kart płatniczych - standard bezpieczeństwa danych (PCI-DSS)
- Techniczne instrukcje wdrażania zabezpieczeń (STIG)
Dodatkowe korzyściNiektóre dodatkowe korzyści płynące z używania systemu audytu Linux są następujące:
- Nie wymaga zewnętrznych programów ani procesów do działania w systemie, co czyni go samowystarczalnym.
- Jest wysoce konfigurowalny, dlatego pozwala nam zobaczyć dowolne działanie systemu, które chcemy.
- Pomaga wykryć lub przeanalizować potencjalne zagrożenia na poziomie bezpieczeństwa systemu.
- Może funkcjonować jako niezależny system detekcji.
- Może współpracować z systemami wykrywania włamań, aby umożliwić wykrywanie włamań.
- Jest to istotne narzędzie do kontroli dochodzeń kryminalistycznych.
Choć niektóre terminy mogą wydawać się dziwne, jeśli przywiązujemy wagę do bezpieczeństwa, jest to bez wątpienia jedna z najlepszych opcji.
1. Komponenty systemu audytu Linux auditd
System audytu składa się z dwóch podstawowych elementów, którymi są:
- Aplikacje użytkownika i narzędzia lub narzędzia
- Przetwarzanie wywołań systemowych na poziomie jądra, które akceptuje wywołania systemowe z aplikacji przestrzeni użytkownika i przekazuje je przez trzy typy filtrów: użytkownika, zadanie, wyjście lub wykluczenie.
/var/log/audit/audit.logOprócz tego audispd jest multiplekserem zdarzeń, który współdziała z auditd i wysyła zdarzenia do innych programów, które chcą przetwarzać zdarzenia w czasie rzeczywistym.
Istnieje kilka narzędzi przestrzeni użytkownika do zarządzania i pobierania informacji z systemu audytu, które są następujące:
Kontrola ctlJest to narzędzie do kontroli systemu audytu jądra.
WyszukiwanieJest to narzędzie do wyszukiwania w plikach dziennika audytu określonych zdarzeń.
AureportJest to narzędzie do tworzenia raportów zarejestrowanych zdarzeń.
Do tej analizy użyjemy CentOS 7
2. Zainstaluj i skonfiguruj auditd w CentOS 7
Pierwszym krokiem jest upewnienie się, że narzędzie audytu jest zainstalowane w systemie za pomocą polecenia rpm i narzędzia grep w następujący sposób:
rpm -qa | audyt grepRezultatem będzie:
W przypadku braku pakietów audytu, jako użytkownicy root, musimy wykonać następujące polecenie:
mniam audyt instalacjiPo zainstalowaniu musimy skonfigurować, czy auditd jest włączony, w tym celu wykonamy dowolne z następujących poleceń w ich kolejności:
Na CentOS lub RHEL 7
systemctl jest włączony auditdsystemctl status auditdsystemctl start auditd (uruchamia usługę) systemctl enable auditd (włącza usługę)
Na CentOS lub RHEL 6
service auditd statusservice auditd start (uruchamia usługę) chkconfig auditd on (włącza usługę)
Widzimy, że jego status jest aktywny.
3. Konfiguracja audytu
Aby skonfigurować auditd musimy użyć głównego pliku konfiguracyjnego /etc/audit/auditd.conf ponieważ tam będzie można kontrolować sposób działania usługi, np. określić lokalizację pliku dziennika, maksymalną liczbę plików dziennika, format rekordu , jak obsługiwać pełne dyski, rotację rekordów i inne opcje.
W tym celu użyjemy preferowanego edytora:
nano /etc/audit/auditd.confZobaczymy tam:
Widzimy, że każda linia pozwala nam wskazać konkretną akcję i możemy ją w razie potrzeby zmienić.
4. Reguły audytu w Linuksie
Jak wspomniano powyżej, auditd używa reguł do zbierania określonych informacji z jądra. Reguły te są w zasadzie opcjami auditctl, które można wstępnie skonfigurować w pliku /etc/audit/rules.d/audit.rules.
Istnieją trzy rodzaje reguł audytu, które można zdefiniować, a mianowicie:
Zasady kontroliPozwalają one na modyfikację zachowania systemu audytu i niektórych jego ustawień.
Zasady systemu plikówReguły te umożliwiają inspekcję dostępu do określonego pliku lub katalogu.
Zasady wywołań systemowychPozwalają one na nagrywanie rozmów systemowych wykonywanych przez dowolny program.
Aby uzyskać dostęp do tych reguł, przejdziemy do następującej trasy za pomocą żądanego edytora:
nano /etc/audit/rules.d/audit.rulesZobaczymy:
W tym pliku w pierwszej sekcji musimy dodać reguły kontrolne. Następnie dodaj reguły audytu w środkowej sekcji, a na końcu ostatnia sekcja zawiera parametry niezmienności, które są również regułami kontrolnymi.
Oto kilka przykładów tych zasad:
Usuń wszystkie poprzednie zasady
-D
Zdefiniuj rozmiar bufora
-b 3074
Porażka rodzi możliwość paniki
-f 4
Utwórz maksymalnie 120 wiadomości kontrolnych na sekundę
-r 120
Przykładowa reguła jest następująca:
Do dyspozycji mamy:
Służy do określania pliku lub katalogu do oglądania.
-w
UprawnieniaSą to uprawnienia do rejestracji, r - do odczytu, w - do zapisu, x - do wykonywania i - do zmiany atrybutu pliku lub katalogu.
-P
Określ zestaw zasadUmożliwia ustawienie opcjonalnego łańcucha w celu określenia, która reguła (lub zestaw reguł) utworzyła określony wpis rejestru.
-k
Po zdefiniowaniu reguł używamy kombinacji klawiszy Ctrl + O, aby zapisać plik i Ctrl + X, aby go zamknąć. Dodamy te reguły, biorąc te z przykładu, wykonując następujące linie jako root:
auditctl -w / etc / passwd -p wa -k passwd_changesauditctl -w / etc / group -p wa -k group_changesauditctl -w / etc / sudoers -p wa -k sudoers_changesAby zobaczyć aktualne zasady, wykonamy następujące czynności:
sudo auditctl -l
W ten sposób auditd staje się cennym narzędziem audytu w CentOS 7.
5. Ausearch Linux
Narzędzie ausearch zostało zaprojektowane, aby umożliwić przeszukiwanie plików dziennika audytu dla określonych zdarzeń na podstawie zdarzeń i różnych kryteriów wyszukiwania, takich jak identyfikator zdarzenia, identyfikator klucza, architektura procesora, nazwa polecenia, nazwa hosta, nazwa grupy lub identyfikator grupy.
Domyślnie ausearch szuka w pliku /var/log/audit/audit.log. Możesz określić inny plik za pomocą opcji ausearch -if nazwa_pliku polecenie. Podanie wielu opcji w poleceniu ausearch jest równoważne użyciu operatora AND.
Aby użyć wartości domyślnej i zobaczyć bieżące logi, wykonamy jedno z następujących poleceń:
cat /var/log/audit/audit.logcat /var/log/audit/audit.log | mniej
Jak widać, przedstawione tutaj dane mogą być mylące, dlatego ausearch używa składni ausearch (opcja) do filtrowania tych wyników i uzyskania wizji o wiele łatwiejszej do zarządzania.
Mamy do wyboru takie opcje jak:
Sprawdź wykonanie dzienników procesówTam możemy użyć parametru -p plus PID, aby uzyskać konkretny wynik:
ausearch -p 579
Sprawdzanie pliku dziennika audytu pod kątem prób logowaniaW tym przypadku musimy użyć parametru -m do identyfikacji konkretnych komunikatów i -sv do zdefiniowania pomyślnych wyników.
ausearch -m USER_LOGIN -sv nie
Znajdź aktywność użytkownika w pliku dziennika AuditdW tym celu użyjemy parametru -ua oraz nazwy użytkownika:
ausearch -ua Solvetic
Znajdź modyfikacje użytkowników, grup i rólDzięki tej opcji możliwe będzie przeglądanie wszystkich zmian systemowych używanych z kontami użytkowników, grupami i rolami; Możemy określić kilka typów wiadomości oddzielonych przecinkami w następujący sposób:
ausearch -m ADD_USER, DEL_USER, USER_CHAUTHTOK, ADD_GROUP, DEL_GROUP, CHGRP_ID, ROLE_ASSIGN, ROLE_REMOVE -iZobaczymy:
Zobacz pomoc ausearchAby zobaczyć różne opcje tego narzędzia, wykonamy następujące czynności:
mężczyzna w wyszukiwarce
Możemy więc zobaczyć różne opcje podczas przeprowadzania pełnego i skutecznego audytu w CentOS lub RedHat.