Die Verwaltungsaufgaben unter Linux sind in vielen Situationen komplex, da pro Sekunde eine Reihe von Prozessen , Diensten und Rollen ausgeführt werden. Dies muss zu Anmeldungen, zur Installation von Anwendungen und nicht zu allen Ereignissen hinzugefügt werden, die von den einzelnen Anwendungen in der Distribution registriert wurden geschafft Zum Glück für Administratoren und Kontroll- oder Prüfpersonal haben wir mehrere Befehle entwickelt, um die Verwaltung und Kontrolle von Systemereignissen zu vereinfachen. Daher konzentriert sich TechnoWikis auf zwei der wichtigsten Befehle für diesen Zweck. Syslog und Klogd.
Das Protokoll ähnelt einer Bitacora, in der Ereignisse, Fehler, Änderungen und Prozesse, die die Anwendungen oder das Betriebssystem generieren, registriert werden, um diesen Datensatz später zu lesen und festzustellen, welche Ereignisse aufgetreten sind , insbesondere im Falle von Fehlern oder Schwachstellen. Die Protokolldateien in einem Linux-System befinden sich im Verzeichnis / var / log. Das Linux-Protokollsystem wird von zwei Daemons verwaltet:
1. Was es ist und wie Syslogd in Linux-Protokollen verwendet wird
Mal sehen, was es ist und wie man Syslogd benutzt
Der Syslogd-Befehl hat ein standardmäßiges BSD-Verhalten und die neuen Versionen von Syslogd interagieren transparent mit der in den Standardbibliotheken verfügbaren Syslog-Version. Wenn also eine mit den gemeinsam genutzten Standardbibliotheken verknüpfte Binärdatei nicht ordnungsgemäß funktioniert, stellt Syslogd die bereit Verhalten dieser Binärdatei.
Die Hauptkonfigurationsdatei ist /etc/syslog.conf, und die Registrierung wird normalerweise mit Regeleinträgen angegeben. In jeder Zeile werden der Selektor (facility.priority) und die Aktion angegeben. Beachten Sie, dass moderne Linux-Distributionen den Syslogd-Befehl durch neue Syslog-Implementierungen wie rsyslog oder syslog-ng ersetzt haben. Wenn Sie Syslogd verwenden möchten, können Sie ihn mit dem folgenden Befehl installieren:
apt installiere inetutils-syslogd
Dort müssen wir den Buchstaben S eingeben, um den Download und die Installation von Syslogd zu bestätigen. Nach der Installation können wir zu seiner Konfigurationsdatei gehen, die sich im folgenden Pfad befindet: /etc/syslog.conf:
nano /etc/syslog.conf
Dort finden wir alle Routen, auf denen Syslogd die Informationen erfasst. Die allgemeine Verwendungssyntax von Syslogd lautet wie folgt:
syslogd [-a Socket] [-d] [-f Konfigurationsdatei] [-h] [-l Hostliste] [-m Intervall] [-n] [-p Socket] [-r] [-s Liste der Domäne] [-S] [-v] [-x]
Unter den verfügbaren Optionen haben wir:
-eine Steckdose
-d
-f Konfigurationsdatei (Konfigurationsdatei)
-h
-l Hostliste
-m Intervall
-n
-p Socket
-r
-s Domainliste
-S
-v
Wenn Sie eine der verfügbaren Optionen ausführen, sehen Sie alle Aufgaben, die intern ausgeführt werden:
2. Signale in Syslogd Linux-Protokollen
Syslogd ist in der Lage, auf eine Reihe von Signalen zu reagieren. Eine Option zum Senden eines Signals an Syslogd wird ausgeführt:
töte -SIGNAL 'cat /var/run/syslogd.pid'
Bei der Ausführung dieses Signals kommen verschiedene Komponenten wie z. Somit ist Syslogd eine praktische Lösung zur Analyse von Linux-Ereignissen.
3. Konfigurieren Sie die Syslogd Linux-Datei
Syslogd verwendet in seiner Konfigurationsdatei eine etwas andere Syntax als die traditionelle Datei der ursprünglichen BSD-Quellen. Die Konfiguration von syslogd erfolgt über die Datei /etc/syslogd.conf. Durch diese Datei wird festgelegt, wohin die verschiedenen Nachrichten geleitet werden sollen. Sie können Leerzeilen oder ganze Zeilen mit dem Zeichen “#” kommentieren
Damit Syslog Remoteverbindungen akzeptiert, müssen wir den Parameter -r hinzufügen
SYSLOGD_OPTIONS = "- r -m 0"
Normalerweise belegt syslogd den Port 514. Wir müssen überprüfen, dass die Firewall ihn nicht blockiert, um zu testen, auf welchem Port er ausgeführt wird. Vom Terminal aus schreiben wir den folgenden Code
grep syslog / etc / services
Im Protokoll der Dienste in dieser Zeile können wir sehen, dass die Protokolle von “mail, cron, info” in die Verzeichnisnachrichten gehen
* .info; mail.none; authpriv.none; cron.none / var / log / messages
Versuchen wir, mit dem folgenden Befehl eine Nachricht an das gesamte Protokoll zu senden
grep "Test message" / var / log / *
In diesem Fall können wir sehen, dass mehrere Protokolle mit verweigerten Berechtigungen daher nicht geschrieben werden können.
Es müsste festgestellt werden, ob die Genehmigungen geändert werden müssen oder nicht. Das Protokoll verfügt über mehrere Nachrichtenprioritätsstufen (von der niedrigsten zur höchsten Priorität:
Debug, Info, Hinweis, Warnung, Warnung, Fehler, Kritik, Warnung, Emerg und Panik
auth, authpriv, cron, daemon, kern, lpr, mail, marke, neuigkeiten, sicherheit, syslog, benutzer, uucp
Die wichtigsten sind
- var / log / messages: Hier finden wir die Protokolle, die mit Prioritätsinformationen (Informationen), Hinweisen (Benachrichtigungen) oder Warnungen (Warnungen) eingehen.
- /var/log/kern.log: Hier werden die von klogd generierten Kernel-Logs gespeichert.
- /var/log/auth.log: In diesem Protokoll werden die Anmeldedaten im System, die Uhrzeit usw. aufgezeichnet. Fehlgeschlagene Versuche werden in Zeilen mit Informationen des ungültigen Schlüsseltyps oder einer ungültigen Anmeldung aufgezeichnet.
- / var / log / dmesg : In dieser Datei werden die Informationen gespeichert, die der Kernel beim Systemstart generiert hat.
Diese Protokolldateien sammeln die ganze Zeit Informationen, so dass sie irgendwann viel Platz einnehmen können. Um dieses Problem zu lösen, können wir sie komprimieren oder eine Sicherungskopie erstellen, wenn sie wirklich erforderlich sind. Einige zu berücksichtigende Änderungen sind:
"*" (Stern) =
"": (Weiß, Leerzeichen, Null)
"," (Komma)
";" (Semikolon)
"=" (Gleich)
4. Was es ist und wie man Klogd in Linux-Logs benutzt
In Linux-Umgebungen haben wir zwei Hauptquellen für Kernel-Registrierungsinformationen, wie z.
- Das / proc-Dateisystem
- Die Syscall-Schnittstelle (sys_syslog)
Der Befehl Klogd wurde entwickelt, um die bequemste Informationsquelle für die Bereitstellung von Informationen auszuwählen. Um dies zu erreichen, überprüfen Sie zunächst das Vorhandensein eines Dateisystems / procs, das gegebenenfalls mit der Datei / proc verbunden ist / kmsg wird als Kernel-Protokoll-Informationsquelle verwendet. Falls das proc-Dateisystem nicht angehängt ist, verwendet Klogd einen Systemaufruf, um Nachrichten vom Kernel abzurufen. Wenn die Nachrichten des Kernels über den syslogd-Daemon umgeleitet werden, kann der Klogd-Daemon ab Version 1.1 die Nachrichten des Kernels priorisieren. Diese Priorität liegt in einem Bereich <[0-7]> von Was ist die Priorität der Kernel-Nachricht als einzelne Ziffer in <> codiert.
Wenn eine Nachricht vom Kernel empfangen wird, liest der Klogd-Daemon die zugewiesene Prioritätsstufe und erteilt ihr die Prioritätsstufe basierend auf der Syslog-Nachricht. Mit Klogd ist es auch möglich, die Anzeige von Kernelnachrichten in der Systemkonsole zu ändern. In einem gemeinsamen Kernel ist die Standardprotokollierungsstufe der Konsole auf 7 festgelegt, dh alle Nachrichten mit einer niedrigeren Prioritätsstufe bis 7 (höchste Priorität) wird in der Konsole angezeigt. Nachrichten der Prioritätsstufe 7 gelten als “Debugging” -Nachrichten und werden daher nicht in der Konsole angezeigt, um andere Kernel-Ereignisse nicht mit Informationen zu überfüllen.
Klogd verfügt über eine Funktion namens Kernel Address Resolution (Kernel-Adressauflösung). Wenn der Kernel einen internen Fehler feststellt, wird automatisch ein allgemeines Schutzfehlerprotokoll aktiviert. Dies ist Teil der GPF-Verarbeitungsprozedur, in der der Kernel einen Statusbericht druckt, der den Status des Prozessors angibt, wenn der Fehler generiert wird. Innerhalb dieses Ergebnisses sehen wir Details wie den Inhalt der Mikroprozessoraufzeichnungen und den Inhalt des den Kernel-Stack und eine Überwachung der Funktionen, die vor dem Fehler ausgeführt wurden.
Das Auflösen der numerischen Adressen aus den Ergebnissen des Schutzfehlers kann manuell oder über das in den Kernelquellen enthaltene Programm ksymoops erfolgen. Der Befehl Klogd unterstützt das Problem der Diagnose von Schutzfehlern in aktuellen ladbaren Kernelmodulen.
Wie Syslogd wurde Klog in den aktuellen Distributionen durch dynamischere Befehle ersetzt, so dass wir für seine Installation Folgendes ausführen werden. Dort geben wir den Buchstaben S ein, um den Download und die Installation zu bestätigen.
apt installiere busybox-syslogd
Die Klogd-Syntax lautet wie folgt:
klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ]
Diese Optionen sind:
-cn
-d
-f
-i -I
-n
-o
-s
-v
Wenn wir alle Ereignisse nach dem Login lesen wollen, werden wir folgendes ausführen:
klogd -o -f ./krnl.msg
Danach kann auf den Inhalt dieser Datei zugegriffen werden:
5. Klogd-Signale unter Linux
Der Klogd-Befehl kann auf acht (8) Signale reagieren: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 und SIGCONT. Mit den Signalen SIGINT, SIGKILL, SIGTERM und SIGHUP kann der Dämon die Kernelprotokollquellen schließen und den Prozess ordnungsgemäß beenden, während die Signale SIGTSTP und SIGCONT zum Starten und Stoppen des Kernelprotokolls verwendet werden.
Wenn Sie beispielsweise das Dateisystem / proc entfernen möchten, müssen Sie die folgenden Befehle ausführen:
# kill -TSTP pid # umount / proc # kill -CONT pid
Einige mit Klogd zu verwendende Dateien sind:
- / proc / kmsg: ist die Quelldatei für Klogd-Kernel-Nachrichten
- /var/run/klogd.pid: ist die Datei, die die Prozess-ID von klogd enthält
- /boot/System.map, /System.map, /usr/src/linux/System.map: Dies sind die Standardspeicherorte für Kernel-Systemzuordnungen.
Wie wir sehen, verfügen wir über diese beiden nützlichen und wesentlichen Befehle für eine korrekte und vollständige Verwaltung von Kernel-Ereignissen unter Linux.