So verwalten Systemprotokolle (konfigurieren, drehen und in die Datenbank importieren) in RHEL 7 - Teil 5

So verwalten Systemprotokolle (konfigurieren, drehen und in die Datenbank importieren) in RHEL 7 - Teil 5

Um Ihre zu behalten Rhel 7 Systeme sicher, müssen Sie wissen, wie Sie alle Aktivitäten überwachen, die auf solchen Systemen stattfinden, indem Sie Protokolldateien untersuchen. Daher können Sie ungewöhnliche oder potenziell böswillige Aktivitäten erkennen und eine Systemfehlerbehebung durchführen oder eine andere angemessene Maßnahmen ergreifen.

RHCE -Prüfung: Verwalten Sie das System anhand von Rsyslogd und Logrotate - Teil 5

In Rhel 7, Der Rsyslogd -Daemon ist für die Systemprotokollierung verantwortlich und liest seine Konfiguration aus /etc/rsyslog.Conf (Diese Datei gibt den Standardspeicherort für alle Systemprotokolle an) und aus Dateien innerhalb /etc/rsyslog.D, wenn überhaupt.

Rsyslogd -Konfiguration

Eine schnelle Inspektion des Rsyslogs.Conf wird hilfreich sein, um anzufangen. Diese Datei ist in 3 Hauptabschnitte unterteilt: Module (Da Rsyslog einem modularen Design folgt), Global Richtlinien (verwendet, um globale Eigenschaften des Rsyslogd -Daemon festzulegen) und Regeln. Wie Sie wahrscheinlich erraten werden, gibt dieser letzte Abschnitt an, was angemeldet oder gezeigt wird (auch als Selektor bezeichnet) und wo und wird unser Fokus in diesem Artikel sein.

Eine typische Linie in rsyslog.Conf ist wie folgt:

Rsyslogd -Konfiguration

Im Bild oben können wir sehen, dass ein Selektor aus einem oder mehreren Paaren besteht Einrichtung: Priorität getrennt durch Semikolons, wobei die Einrichtung die Art der Nachricht beschreibt (siehe Abschnitt 4 siehe Abschnitt 4.1.1 In RFC 3164, um die vollständige Liste der für RSYSLOG verfügbaren Einrichtungen anzuzeigen) und die Priorität zeigt den Schweregrad an, was eines der folgenden selbsteinstellungsfähigen Wörter sein kann:

  1. debuggen
  2. die Info
  3. Notiz
  4. Warnung
  5. irren
  6. kritisch
  7. Alarm
  8. aufkommen

Obwohl keine Priorität selbst, das Schlüsselwort keiner bedeutet überhaupt keine Priorität in der gesamten gegebenen Einrichtung.

Notiz: Dass eine bestimmte Priorität angibt, dass alle Nachrichten mit solcher Priorität und höher protokolliert werden sollten. Somit weist die Linie im obigen Beispiel die an rsyslogd Daemon, um alle Nachrichten von Prioritätsinformationen oder höher zu protokollieren (unabhängig von der Einrichtung), mit Ausnahme derjenigen, die gehören Post, Authpriv, Und Cron Dienste (keine Nachrichten aus diesen Einrichtungen werden berücksichtigt) an /var/log/messages.

Sie können auch mehrere Einrichtungen mithilfe des Dickdarmzeichens gruppieren, um alle Priorität auf alle von ihnen anzuwenden. So die Linie:

*.Info; Mail.keine; authpriv.keine; Cron.keine/var/log/messages 

Könnte als umgeschrieben wie

*.Info; Mail, Authpriv, Cron.keine/var/log/messages 

Mit anderen Worten, die Einrichtungen Post, Authpriv, Und Cron werden gruppiert und das Schlüsselwort keiner wird auf die drei angewendet.

Erstellen einer benutzerdefinierten Protokolldatei

Um alle Daemon -Nachrichten an zu protokollieren /var/log/tecmint.Protokoll, Wir müssen entweder die folgende Zeile hinzufügen rsyslog.Conf oder in einer separaten Datei (einfacher zu verwalten) im Inneren /etc/rsyslog.D:

Dämon.*/var/log/tecmint.Protokoll 

Lassen Sie uns den Daemon neu starten (beachten Sie, dass der Servicename nicht mit a endet D):

# SystemCTL Neustart Rsyslog neu starten 

Und überprüfen Sie den Inhalt unseres benutzerdefinierten Protokolls vor und nach dem Neustart zwei zufälligen Daemons:

Benutzerdefinierte Protokolldatei erstellen

Als Selbststudienübung würde ich empfehlen, mit den Einrichtungen und Prioritäten herumzuspielen und entweder zusätzliche Nachrichten an vorhandene Protokolldateien zu protokollieren oder neue wie im vorherigen Beispiel zu erstellen.

Drehungsprotokolle mit Logrotate

Um zu verhindern, dass Protokolldateien endlos wachsen, werden die Lehnrotat Das Dienstprogramm wird verwendet, um Protokolle zu drehen, zu komprimieren, zu entfernen und zu entfernen und zu entfernen und.

Vorgeschlagene Lesen: So richten und verwalten Sie die Protokolldrehung mithilfe von Logrotate unter Linux

Lehnrotat läuft täglich als Cron Arbeit (/etc/cron.täglich/lahlerisch) und liest seine Konfiguration von /etc/lwerte.Conf und aus Dateien in /etc/lwerte.D, wenn überhaupt.

Wie bei dem Fall von rsyslog, Auch wenn Sie Einstellungen für bestimmte Dienste in der Hauptdatei einfügen können, können Sie für jede einzelne Konfigurationsdateien Ihre Einstellungen besser organisieren.

Schauen wir uns einen typischen Blick an Lehnrotat.Conf:

Lehnrotatkonfiguration

Im obigen Beispiel, Lehnrotat wird die folgenden Aktionen für ausführen /var/loh/wtmp: Versuchen Sie, nur einmal im Monat zu drehen, jedoch nur, wenn die Datei mindestens dauert 1 MB Erstellen Sie dann eine brandneue Protokolldatei mit Berechtigungen auf 0664 und Eigentümerschaft an Benutzer root und Gruppe UTMP. Halten Sie als nächstes nur ein archiviertes Protokoll, wie in der Drehanweisung angegeben:

Lwerte Protokolle monatlich

Betrachten wir nun ein anderes Beispiel wie in /etc/lwerte.d/httpd:

APache -Protokolldateien rotieren

Sie können mehr über die Einstellungen für lesen Lehnrotat Auf seinen Mannseiten (Mann lehre und Mann lehnte.conf). Beide Dateien werden zusammen mit diesem Artikel im PDF -Format zur Verfügung gestellt.

Als Systemingenieur liegt es so ziemlich bei Ihnen, zu entscheiden, wie lange Protokolle gespeichert werden und in welchem ​​Format, je nachdem, ob Sie haben /var in einer separaten Partition / logisches Volumen. Andernfalls möchten Sie wirklich in Betracht ziehen, alte Protokolle zu entfernen, um Speicherplatz zu sparen. Auf der anderen Seite können Sie gezwungen sein, mehrere Protokolle für zukünftige Sicherheitsprüfungen gemäß den internen Richtlinien Ihres Unternehmens oder Kunden zu führen.

Speichern von Protokollen in einer Datenbank

Natürlich untersuchen Protokolle (auch mit Hilfe von Tools wie z. B Grep und regelmäßige Ausdrücke) können zu einer ziemlich mühsamen Aufgabe werden. Aus diesem Grund, rsyslog ermöglicht es uns, sie in eine Datenbank zu exportieren (OTB Unterstützte RDBMs umfassen MySQL, Mariadb, PostgreSQL und Oracle.

In diesem Abschnitt des Tutorials geht davon aus, dass Sie die bereits installiert haben Mariadb Server und Client in derselben RHEL 7 -Box, in der die Protokolle verwaltet werden:

# yum update && yum install mariadb mariadb-server mariadb-client rsyslog-mysql # systemctl aktivieren mariadb && systemctl starten mariadb 

Dann benutze die mysql_secure_installation Dienstprogramm zum Festlegen des Kennworts für den Root -Benutzer und andere Sicherheitsüberlegungen:

Sicherere MySQL -Datenbank

Notiz: Wenn Sie die nicht verwenden möchten Mariadb Root -Benutzer zum Einfügen von Protokollnachrichten in die Datenbank. Sie können ein anderes Benutzerkonto dazu konfigurieren. Zu erklären, wie das geht, ist aus dem Rahmen dieses Tutorials, wird jedoch in der Mariadb -Wissensbasis ausführlich erklärt. In diesem Tutorial werden wir das Stammkonten für die Einfachheit verwenden.

Laden Sie als nächstes die herunter erstellt.sql Skript von GitHub und importieren Sie es in Ihren Datenbankserver:

# Mysql -u root -p < createDB.sql 
Speichern Serverprotokolle in der Datenbank

Fügen Sie schließlich die folgenden Zeilen hinzu zu /etc/rsyslog.Conf:

$ Modload ommysql $ actionommysqlServerport 3306 *.*: Ommysql: localhost, syslog, root,IhrPassword 

Neu starten rsyslog und den Datenbankserver:

# SystemCTL Neustart Rsyslog # SystemCTL Neustart Mariadb neu starten 

Abfragen der Protokolle mithilfe der SQL -Syntax

Führen Sie nun einige Aufgaben aus, mit denen die Protokolle geändert werden (z. B. das Stoppen und Starten von Diensten), dann bei Ihrem DB -Server protokollieren und Standard -SQL -Befehle verwenden, um die Protokolle anzuzeigen und zu durchsuchen:

Syslog verwenden; Wählen Sie empfangene Meldung von SystemEvents aus; 
Abfrageprotokolle in der Datenbank

Zusammenfassung

In diesem Artikel haben wir erklärt, wie Sie die Systemprotokollierung einrichten, Protokolle drehen und die Nachrichten in eine Datenbank umleiten, um eine einfachere Suche zu erhalten. Wir hoffen, dass diese Fähigkeiten hilfreich sind, wenn Sie sich auf die RHCE -Prüfung und auch in Ihren täglichen Aufgaben vorbereiten.

Wie immer ist Ihr Feedback mehr als willkommen. Fühlen Sie sich frei, das folgende Formular zu verwenden, um uns zu erreichen.