Jak zarządzać dziennikami systemowymi (konfiguruj, obracaj i importowanie do bazy danych) w RHEL 7 - część 5
- 4876
- 423
- Maurycy Napierała
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ęść 5W 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 RSYSLOGDNa 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:
- odpluskwić
- informacje
- ogłoszenie
- ostrzeżenie
- błądzić
- Crit
- alarm
- 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 dziennikaJako ć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 logrotatuW 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ęcznieRozważmy teraz inny przykład, jak znaleziono w /etc/logrotatan.d/httpd:
Obróć pliki dziennika ApacheMoż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:
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.sqlZapisz 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ć.
- « Jak używać instrukcji kontroli przepływu w AWK - część 12
- 15 najlepszych gier Linux z 2015 roku - musisz wypróbować teraz »