So verwalten Systemprotokolle (konfigurieren, drehen und in die Datenbank importieren) in RHEL 7 - Teil 5
- 1080
- 240
- Phoebe Jeorga
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 5In 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 -KonfigurationIm 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:
- debuggen
- die Info
- Notiz
- Warnung
- irren
- kritisch
- Alarm
- 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 erstellenAls 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:
LehnrotatkonfigurationIm 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 monatlichBetrachten wir nun ein anderes Beispiel wie in /etc/lwerte.d/httpd:
APache -Protokolldateien rotierenSie 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:
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.sqlSpeichern 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.
- « So verwenden Sie Flusssteuerungsanweisungen in awk - Teil 12
- 15 beste Linux -Spiele von 2015 - Sie müssen es jetzt versuchen »