Jak korzystać z systemu audytu w CentOS 7

Kiedy nasze role i funkcje obejmują zarządzanie wszystkimi elementami infrastruktury korporacyjnej, czy to na poziomie sieci, czy systemu, musimy dysponować przydatnymi narzędziami do monitorowania, śledzenia zdarzeń i zapewnienia optymalnej wydajności wszystkich jej komponentów.

Dzisiaj dokonamy przeglądu jak wdrożyć i korzystać z systemu audytu Linux, narzędzie dla wielu nieznanych. Wiemy, że istnieją narzędzia innych firm, które pozwalają nam zarządzać różnymi parametrami w systemie, ale to narzędzie wykracza poza to, czego potrzebujemy i sprawdzimy, dlaczego.

W tym samouczku przeanalizujemy narzędzie w środowisku CentOS 7.

1. Poznaj system audytu Linux


Dzięki systemowi audytu możemy być na bieżąco z istotnymi informacjami dotyczącymi bezpieczeństwa w naszym systemie.

System audytu dostarcza nam raporty o wszystkich zdarzeniach, które występują w systemie na podstawie predefiniowanych reguł; Ważne jest, aby wyjaśnić, że system audytu nie dodaje zabezpieczeń do CentOS 7, ale pozwala nam przeanalizować, jakie wady ma system, aby podjąć na nim działania naprawcze.

Informacje zdolne do analizy

  • Zmiany bazy danych, na przykład zmiany ścieżki / etc / passwd.
  • System audytu podaje datę, godzinę i rodzaj zdarzenia.
  • Próby importu lub eksportu informacji w systemie.
  • Mechanizmy uwierzytelniania użytkowników.
  • Wszelkie modyfikacje zmian audytu i próby dostępu do dzienników audytu m.in.

2. Zweryfikuj instalację systemu audytu


W ramach systemu audytu musimy wziąć pod uwagę dwa ważne schematy:

1. Rdzeń systemu audytu przejmuje wszystkie zdarzenia przetwarzane przez użytkownika i wysyła te informacje do demona audytu.

2. Demon audytu pobiera te informacje i tworzy rekordy.

System audytu obsługuje dwa pakiety: rewizja Tak biblioteki-audytuSą one instalowane domyślnie w CentOS 7, możemy sprawdzić ich instalację za pomocą następującego polecenia:

 sudo mniam lista audytu audyt-libs

W przypadku ich braku możemy zainstalować system audytu za pomocą polecenia:

 audyt instalacji sudo mniam
Po ich zainstalowaniu musimy zobaczyć następujący tekst:
 Zainstalowane pakiety audit.x86_64 audit-libs.x86_64
Przejdźmy do konfiguracji systemu.

3. Skonfiguruj system audytu w CentOS 7


Po potwierdzeniu, że posiadamy wymagane pakiety, zmodyfikujemy konfigurację pliku auditd.conf i to w tym pliku mamy możliwość konfiguracji rejestrów, zdarzeń i innych. Aby uzyskać dostęp do tego pliku, użyjemy następującego polecenia:
 sudo nano /etc/audit/auditd.conf
Wyświetli się następujące okno:

Najważniejsze parametry

  • liczba_logów: Pozwala określić liczbę logów, które mają być rejestrowane w urządzeniu.
  • max_log_file: Używając tego parametru możemy zdefiniować maksymalny rozmiar dziennika.
  • spacja_pozostała: Możemy ustawić ilość wolnego miejsca na dysku.
  • disk_full_action: Możemy zdefiniować określoną akcję, gdy dysk jest pełny.

Jak widać możemy dostosować różne parametry. Na przykład, jeśli chcemy, aby liczba logów wynosiła 12, po prostu usuwamy domyślną wartość (5) i dodajemy żądaną (12). Jeśli chcemy zmienić rozmiar logów na 20, po prostu zmieniamy domyślną wartość (6) na wymaganą (20).

Zmiany zapisujemy za pomocą kombinacji Ctrl + O i wychodzimy z edytora za pomocą kombinacji Ctrl + X. Po przetworzeniu zmian musimy ponownie uruchomić usługę audytu za pomocą polecenia:

 Sudo service auditd restart
NotatkaJeśli chcemy edytować parametry reguł, musimy edytować plik audit.rules za pomocą polecenia:
 /etc/audit/rules.d/audit.rules

4. Zrozum dzienniki audytu systemu w CentOS 7


Domyślnie system audytu przechowuje wszystkie zdarzenia, które wystąpiły w CentOS w ścieżce /var/log/audit/audit.log i te pliki zawierają wiele informacji i kodu, które mogą nie być łatwe do zrozumienia dla wielu z nas, ale Solvetic troszczy się o ich krótkie podsumowanie.

Aby zademonstrować, jak działa system audytu, stworzyliśmy regułę o nazwie sshconfigchange, którą można utworzyć za pomocą następującego polecenia:

 sudo auditctl -w / etc / ssh / sshd_config -p rwxa -k sshconfigchange
Aby zobaczyć regułę, używamy następującej składni:
 sudo cat / etc / ssh / sshd_config

Teraz zobaczymy dziennik utworzony przez narzędzie audytu systemu, wpisując:

 sudo nano /var/log/audit/audit.log

Będziemy polegać na trzech (3) ważnych dokumentach:

  • WYWOŁANIESYSTEM
  • CWD
  • ŚCIEŻKA

Pliki te składają się z:

  • Słowo kluczowe: Odnosi się do nazwy procesu (PATH, CWD, itp.)
  • Znak czasu: Odnosi się do daty i godziny (1469708505.235)
  • Udać się: składa się z identyfikatora danego wydarzenia (153)

Wydarzenie SYSCALL
SYSCALL odnosi się do komunikatu generowanego przez wywołanie jądra z systemu audytu, pole msg = audyt (1469708505.235:153):

w znacznik czasu i pole ID widzimy, że te trzy rekordy mają tę samą wartość (1469708505.235: 153), co wskazuje, że te trzy rekordy były przechowywane z tym samym zdarzeniem kontroli.

ten łukowe pole odnosi się do architektury maszyny, w tym przypadku 40000003 wskazuje, że jest to i386, gdyby była to wartość c000003e, oznaczałoby to maszynę x86_64.

ten Pole Syscall wspomina o typie połączenia, które zostało wysłane do systemu. Wartość może się różnić, w tym przypadku jest to 5. Możemy użyć polecenia sudo ausyscall 5, aby zobaczyć status usługi (Open).

Istnieje ponad 300 wartości, jeśli chcemy zobaczyć, co ogólnie oznaczają wartości, możemy użyć polecenia:

 sudo ausyscall -dump
Zobaczymy wszystkie wartości i ich znaczenie:

ten Pole sukcesu Informuje nas, czy wywołanie zdarzenia się powiodło, czy nie, tak lub nie. Możemy zlokalizować zdarzenie SYSCALL i przewinąć w lewo, aby zobaczyć inne dołączone raporty.

ten pole uid odnosi się do użytkownika, który uruchomił usługę audytu, w tym przypadku jest to uid = 0.

ten pole komunikacyjne odnosi się do polecenia, które zostało użyte do wyświetlenia wiadomości, więc widzimy, że pojawia się jako comm = "kot".

ten pole exe Wskazuje ścieżkę do polecenia, które wygenerowało zdarzenie audytu, na tym przykładzie widzimy, że jest to exe = "/usr/bin/cat".

Wydarzenie CWD
W zdarzeniu CWD możemy zauważyć, że nie ma tych samych informacji co w SYSCALL, tutaj mamy katalog używany do zapisywania zdarzeń, CWD-Current Working Directory, stąd widzimy wartość cwd = ”/home/solvtic”.

PATH wydarzenie
W ostatnim zdarzeniu, PATH, widzimy, że pole nazwy co odnosi się do pliku lub katalogu, który został użyty do utworzenia audytu, w tym przypadku widzimy: name = "/ etc / ssh / sshd_config".

5. Wyszukaj zdarzenia audytu dla określonych zdarzeń


Jednym z najciekawszych sposobów wyszukiwania zdarzeń w CentOS 7 jest użycie składni:
 sudo ausearch -m Nazwa_zdarzenia --rozpocznij dzisiaj -i
To polecenie pozwala nam filtrować określone zdarzenie i nie musi przeszukiwać całego pliku zdarzenia, ponieważ jest on obszerny. W takim przypadku wyszukamy wszystkie zdarzenia związane z logowaniem, dlatego wpiszemy:
 sudo ausearch -m ZALOGUJ --zacznij dzisiaj -i
Otrzymany wynik będzie następujący:

Możliwe jest również filtrowanie wyszukiwania według identyfikatora zdarzenia, w tym celu użyjemy następującej składni:

 sudo ausearch - Event_ID
Następnie zobaczymy, jak generować raporty.

6. Generuj raporty z audytu


Jednym ze sposobów lepszego zarządzania zdarzeniami jest szczegółowy raport o tym, co dzieje się w CentOS 7, a dzięki systemowi audytu możemy generować raporty, które są proste i jasne do zrozumienia, aby pomóc nam w zarządzaniu. Do tego użyjemy polecenia:
 sudo aureport -x -podsumowanie
I zobaczymy uzyskany wynik:

Pierwsza kolumna, którą widzimy, wskazuje, ile razy polecenie zostało wykonane, a druga kolumna wskazuje, które polecenie zostało wykonane. W ten sam sposób możemy wygenerować raport ze zdarzeniami zakończonymi niepowodzeniem za pomocą polecenia:

 sudo aureport – nie powiodło się!

Jeśli chcemy wygenerować raport z nazwami użytkowników i wywołaniami systemowymi, użyjemy polecenia:

 sudo aureport -f -i

7. Jak analizować procesy indywidualnie


Możliwe, że czasami musimy analizować procesy indywidualnie, a nie cały katalog, do tego użyjemy autrace, narzędzie to pozwala nam monitorować wywołania systemowe do konkretnego procesu. Wyniki autrace są przechowywane w ścieżce:
 /var/log/audit/audit.log
Na przykład przeanalizujemy ścieżkę / kosz / datę, użyjemy do tego:
 sudo autrace / kosz / data

Widzimy, że zostało utworzone zdarzenie o identyfikatorze 16541. Teraz przechodzimy do wprowadzenia następującego polecenia, aby zobaczyć podsumowanie zdarzenia:

 udo ausearch -p 16541 --raw | aureport -f -i

W ten sposób możemy indywidualnie analizować pliki. W poniższym linku możemy zobaczyć wszystkie typy rekordów, które mogą być audytowane przez system audytu w CentOS 7.

W ten sposób widzimy, jak system audytu w CentOS 7 może nam pomóc w zarządzaniu i nadzorowaniu zdarzeń występujących na naszych komputerach, a tym samym zapewnić nam bezpieczny, stabilny i optymalny system.

Na koniec zostawiamy Ci samouczek dotyczący darmowego narzędzia WinAudit do przeprowadzania audytów w systemie Windows:

Audyt z WinAudit

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave