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 mniamPo ich zainstalowaniu musimy zobaczyć następujący tekst:
Zainstalowane pakiety audit.x86_64 audit-libs.x86_64Przejdź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.confWyś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 restartNotatkaJeś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 sshconfigchangeAby 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 -dumpZobaczymy 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 -iTo 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 -iOtrzymany 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_IDNastę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 -podsumowanieI 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.logNa 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