Jak zarządzać dziennikami systemowymi (konfiguruj, obracaj i importowanie do bazy danych) w RHEL 7 - część 5

Jak zarządzać dziennikami systemowymi (konfiguruj, obracaj i importowanie do bazy danych) w RHEL 7 - część 5

Aby zachować RHEL 7 Systemy bezpieczne, musisz wiedzieć, jak monitorować wszystkie działania, które mają miejsce w takich systemach, badając pliki dziennika. W ten sposób będziesz w stanie wykryć dowolną nietypową lub potencjalnie złośliwą aktywność i wykonywać problemy z systemem lub podjąć kolejne odpowiednie działanie.

Egzamin RHCE: Zarządzaj logsingiem systemowym RSYSLOGD i LOGROTAN - Część 5

W RHEL 7, Demon rsyslogd jest odpowiedzialny za rejestrowanie systemu i odczytuje jego konfigurację z /etc/rsyslog.conf (Ten plik określa domyślną lokalizację dla wszystkich dzienników systemu) i z plików w środku /etc/rsyslog.D, Jeśli w ogóle.

Konfiguracja RSYSLOGD

Szybka kontrola RSYSLOG.Conf będzie pomocny na rozpoczęcie. Ten plik jest podzielony na 3 główne sekcje: Moduły (Ponieważ RSYSLOG podąża za modułowym projektem), Światowy dyrektywy (używane do ustawiania globalnych właściwości demona rsyslogd) i Zasady. Jak prawdopodobnie zgadniesz, w ostatniej sekcji wskazuje, co jest rejestrowane lub pokazane (znane również jako selektor) i gdzie i będzie naszym celem w tym artykule.

Typowa linia w Rsyslog.conf następująco:

Konfiguracja RSYSLOGD

Na powyższym obrazku widzimy, że selektor składa się z jednej lub więcej par Obiekt: priorytet oddzielone półkolisami, gdzie obiekt opisuje rodzaj wiadomości (patrz rozdział 4.1.1 w RFC 3164, aby zobaczyć pełną listę obiektów dostępnych dla RSYSLOG), a priorytet wskazuje na jego nasilenie, które może być jednym z następujących słów samozaplanowych:

  1. odpluskwić
  2. informacje
  3. ogłoszenie
  4. ostrzeżenie
  5. błądzić
  6. Crit
  7. alarm
  8. Emerg

Choć nie jest priorytetem, słowo kluczowe nic oznacza brak priorytetu w ogóle danego obiektu.

Notatka: Że dany priorytet wskazuje, że wszystkie wiadomości o takim priorytecie i powyżej powinny zostać zarejestrowane. Zatem linia w powyższym przykładzie instruuje Rsyslogd demon, aby zarejestrować wszystkie wiadomości o priorytetach lub wyższe (niezależnie od obiektu), z wyjątkiem tych należących do Poczta, Authpriv, I Cron usługi (nie będą brane pod uwagę wiadomości pochodzących z tych obiektów) /var/log/wiadomości.

Możesz także pogrupować wiele obiektów za pomocą znaku okrężnicy, aby zastosować ten sam priorytet dla wszystkich. Zatem linia:

*.informacje; poczta.Brak; AuthPriv.Brak; Cron.Brak/var/log/wiadomości 

Można przepisać jako

*.informacje; poczta, authpriv, cron.Brak/var/log/wiadomości 

Innymi słowy, obiekty Poczta, Authpriv, I Cron są zgrupowane i słowo kluczowe nic jest stosowany do tych trzech.

Tworzenie niestandardowego pliku dziennika

Aby zalogować wszystkie wiadomości demon /var/log/tecmint.dziennik, Musimy dodać następujący wiersz Rsyslog.conf lub w osobnym pliku (łatwiejszym do zarządzania) w środku /etc/rsyslog.D:

Demon.*/var/log/tecmint.dziennik 

Uruchom ponownie demon (pamiętaj, że nazwa usługi nie kończy się D):

# Systemctl restart rsyslog 

I sprawdź zawartość naszego niestandardowego dziennika przed i po ponownym uruchomieniu dwóch losowych demonów:

Utwórz niestandardowy plik dziennika

Jako ćwiczenie samokształceń, polecam grać w obiektach i priorytetach oraz albo rejestrować dodatkowe wiadomości do istniejących plików dziennika lub tworzenie nowych, jak w poprzednim przykładzie.

Obracające się dzienniki za pomocą logrotanu

Aby zapobiec wzrostowi plików dziennika, logrotat Użyteczność służy do obracania, kompresji, usuwania i alternatywnych dzienników poczty, w ten sposób łagodząc administrację systemów, które generują dużą liczbę plików dziennika.

Sugerowane przeczytanie: Jak konfigurować i zarządzać rotacją dziennika za pomocą logrotan w Linux

Logrotat Działa codziennie jako Cron stanowisko (/etc/cron.codziennie/logrotat) i odczytuje swoją konfigurację z /etc/logrotatan.conf i z plików znajdujących się w /etc/logrotatan.D, Jeśli w ogóle.

Jak w przypadku Rsyslog, Nawet jeśli możesz dołączyć ustawienia dla określonych usług w pliku głównym, tworzenie oddzielnych plików konfiguracyjnych dla każdego z nich pomoże lepiej uporządkować ustawienia.

Rzućmy okiem na typowy logrotat.conf:

Konfiguracja logrotatu

W powyższym przykładzie, logrotat wykona następujące działania dla /var/loh/wtmp: próbuj obrócić tylko raz w miesiącu, ale tylko jeśli plik jest przynajmniej 1 MB Pod względem wielkości utwórz zupełnie nowy plik dziennika z ustawionymi uprawnieniami 0664 oraz własność nadawana użytkownikowi root i grupa UTMP. Następnie zachowaj tylko jeden zarchiwizowany dziennik, jak określono w dyrektywie ROTATE:

Logrotate Logs miesięcznie

Rozważmy teraz inny przykład, jak znaleziono w /etc/logrotatan.d/httpd:

Obróć pliki dziennika Apache

Możesz przeczytać więcej o ustawieniach dla logrotat na stronach człowieka (Logrotat i Logrotatan Man.conf). Oba pliki są dostarczane wraz z tym artykułem w formacie PDF dla wygody czytania.

Jako inżynier systemu, zależy od ciebie, aby zdecydować, jak długo będą przechowywane dzienniki i w jakim formacie, w zależności od tego, czy masz /var W osobnej partycji / wolumin logiczny. W przeciwnym razie naprawdę chcesz rozważyć usunięcie starych dzienników, aby zaoszczędzić miejsce do przechowywania. Z drugiej strony możesz być zmuszony do przechowywania kilku dzienników do przyszłego audytu bezpieczeństwa zgodnie z wewnętrznymi polisami firmy lub klienta.

Zapisywanie dzienników w bazie danych

Oczywiście badanie dzienników (nawet za pomocą narzędzi takich jak Grep i wyrażenia regularne) może stać się dość żmudnym zadaniem. Z tego powodu, Rsyslog pozwala nam wyeksportować je do bazy danych (OTB Obsługiwane RDBM obejmują MySQL, Mariadb, PostgreSQL i Oracle.

W tej sekcji samouczka zakłada, że ​​już zainstalowałeś Mariadb serwer i klient w tym samym polu RHEL 7, w którym zarządzane są dzienniki:

# Yum Update && Yum Instaluj MariaDB Mariadb-server MariaDB-CLIENT RSYSLOG-MYSQL # Systemctl Włącz MARIADB && Systemctl Start MariaDB 

Następnie użyj Mysql_Secure_Instalation Narzędzie do ustawienia hasła dla użytkownika root i inne względy bezpieczeństwa:

Zabezpiecz bazę danych MySQL

Notatka: Jeśli nie chcesz używać Mariadb Użytkownik roota do wstawienia komunikatów dziennika do bazy danych, możesz skonfigurować inne konto użytkownika, aby to zrobić. Wyjaśnienie, jak to zrobić, jest poza zakresem tego samouczka, ale jest szczegółowo wyjaśnione w bazie wiedzy Mariadb. W tym samouczku użyjemy konta głównego dla prostoty.

Następnie pobierz utworzony.SQL Skrypt z GitHub i zaimportuj go do serwera bazy danych:

# mysql -u root -p < createDB.sql 
Zapisz dzienniki serwera w bazie danych

Na koniec dodaj następujące wiersze do /etc/rsyslog.conf:

$ Modload Ommysql $ ActionommysqlServerport 3306 *.*: Ommysql: localhost, syslog, root,Twój Passwordhere 

Uruchom ponownie Rsyslog oraz serwer bazy danych:

# Systemctl restart rsyslog # Systemctl restart mariadb 

Zapytanie dzienników za pomocą składni SQL

Teraz wykonaj niektóre zadania, które zmodyfikują dzienniki (na przykład usługi zatrzymywania i uruchamiania), a następnie zaloguj się do serwera DB i użyj standardowych poleceń SQL do wyświetlania i wyszukiwania w dziennikach:

Użyj syslog; Wybierz otrzymane, wiadomość z systemevents; 
Dzienniki zapytania w bazie danych

Streszczenie

W tym artykule wyjaśniliśmy, jak skonfigurować rejestrowanie systemu, jak obracać dzienniki i jak przekierować wiadomości do bazy danych, aby ułatwić wyszukiwanie. Mamy nadzieję, że umiejętności te będą pomocne, przygotowując się do egzaminu RHCE i w codziennych obowiązkach.

Jak zawsze Twoja opinia jest więcej niż mile widziana. Nie krępuj się użyć poniższego formularza, aby do nas dotrzeć.