Als Administratoren, IT-Supportmitarbeiter oder Manager des Netzwerk- und Systembereichs haben wir etwas Grundlegendes, das uns hilft, jedes Ereignis im System zu verfolgen, sowohl auf der Ebene der Benutzer, der Anwendungen als auch des Systems selbst, und dies sind die Veranstaltungen.
Jedes Ereignis registriert eine Reihe von Elementen, die uns helfen, jede Aktivität mit Werten wie Datum, Uhrzeit, ID, Benutzer und aufgetretenem Ereignis im Detail zu bestimmen, was uns eine viel zentralisiertere Verwaltung und Verwaltung ermöglicht.
Wir können sehen, dass jeder Datensatz zu einer anderen Kategorie wie System, Sicherheit usw. gehört.
In Linux-Umgebungen steht uns das Dienstprogramm Rsyslog zur Verfügung, mit dem diese Ereignisse auf einfache und vollständige Weise verwaltet werden können.
Was ist Rsyslog?Rsyslog (rocket-fast system for log - Rapid System for Log Processing) ist ein Dienstprogramm, das eine hohe Leistung, hervorragende Sicherheitsfunktionen und ein modulares Design bietet, das es ermöglicht, sich an die Anforderungen jedes Unternehmens anzupassen.
Rsyslog ist in der Lage, Eingaben aus einer Vielzahl von Quellen zu akzeptieren, umzuwandeln und Ergebnisse für verschiedene Ziele zu generieren, wodurch das IT-Management optimiert wird.
RSYSLOG ist in der Lage, mehr als eine Million Nachrichten pro Sekunde an lokale Ziele zu übermitteln, wenn eine begrenzte Verarbeitung angewendet wird, einschließlich entfernter Ziele.
Rsyslog-FunktionenBei der Verwendung von Rsyslog haben wir Funktionen wie:
- $ LocalHostName [name] Direktive: Mit dieser Direktive können wir den Hostnamen des Systems mit dem in der Direktive angegebenen überschreiben. Wenn die Direktive mehrmals angegeben wird, werden alle außer der letzten ignoriert.
- Hadoop HDFS-Unterstützung hinzugefügt.
- Es verfügt über ein impstat-Modul, um regelmäßige Statistiken zu den Rsyslog-Zählern auszuführen.
- Es hat das imptcp-Plugin.
- Enthält einen neuen Typ von "String-Generator"-Modul, das verwendet wird, um die Ausgabeverarbeitung zu beschleunigen.
- Unterstützt OSX und Solaris.
- Möglichkeit, benutzerdefinierte Nachrichtenparser zu erstellen.
- Unterstützung mehrerer Regelsätze für imudp.
- Neue Schnittstelle für Transaktions-Exit-Module, die überragende Leistung bietet.
- Multithreading
- Unterstützt TCP-, SSL-, TLS-, RELP-Protokolle
- Unterstützt MySQL, PostgreSQL, Oracle und mehr
- Filtern Sie jeden Teil der Syslog-Nachricht
- Vollständig konfigurierbares Ausgabeformat
- Geeignet für Broadcast-Netzwerke der Business-Klasse
Rsyslog-FilterungRsyslog kann Syslog-Nachrichten basierend auf ausgewählten Eigenschaften und Aktionen filtern. Diese Filter sind:
- Facility- oder Priority-Filer
- Eigenschaftsbasierte Filter
- Ausdrucksbasierte Filter
Der Facility-Filter wird durch das interne Linux-Subsystem repräsentiert, das für die Erstellung der Datensätze verantwortlich ist. Wir haben folgende Möglichkeiten:
- auth / authpriv = Dies sind die Nachrichten, die von Authentifizierungsprozessen erzeugt werden
- cron = Sie sind Datensätze, die mit Cron-Aufgaben verknüpft sind
- daemon = Dies sind Nachrichten, die sich auf die laufenden Systemdienste beziehen
- Kernel = Zeigt Linux-Kernel-Nachrichten an
- mail = Enthält Nachrichten vom Mailserver
- syslog = Dies sind Nachrichten, die sich auf Syslog oder andere Daemons beziehen
- lpr = Deckt Drucker- oder Druckservernachrichten ab
- local0 - local7 = Benutzerdefinierte Nachrichten unter Administratorkontrolle zählen
- not = Notfall - 0
- Warnung = Warnungen - 1
- err = Fehler - 3
- warnen = Warnungen - 4
- Hinweis = Hinweis - 5
- info = Informationen - 6
- Debuggen = Debuggen - 7
1. So konfigurieren und überprüfen Sie den Status von Rsyslog unter Linux
Schritt 1
Der Rsyslog-Daemon wird auf den meisten Linux-Distributionen automatisch installiert, aber wenn nicht, müssen wir die folgenden Befehle ausführen:
Auf Debian-Systemen
sudo apt-get install Rsyslog
Auf RedHat- oder CentOS-Systemen
sudo yum installiere Rsyslog
Schritt 2
Wir können den aktuellen Status von Rsyslog überprüfen, indem wir die folgende Zeile ausführen:
Auf Linux-Distributionen, die Systemd . verwenden
systemctl-status rsyslog.service
In älteren Linux-Versionen
Dienst rsyslog-Status /etc/init.d/rsyslog-Status
VERGRÖSSERN
Schritt 3
Falls der Status des Rsyslog-Dienstes inaktiv ist, können wir ihn starten, indem wir Folgendes ausführen:
In neuen Versionen von Linux
systemctl starte rsyslog.service
In älteren Linux-Versionen
service rsyslog start /etc/init.d/rsyslog start
VERGRÖSSERN
2. Rsyslog-Konfiguration unter Linux
Um ein rsyslog-Programm für die Ausführung im Servermodus zu konfigurieren, müssen wir die Konfigurationsdatei im Verzeichnis /etc/rsyslog.conf bearbeiten.
Schritt 1
Wir können über den gewünschten Editor zugreifen:
sudo nano /etc/rsyslog.conf
VERGRÖSSERN
Schritt 2
Dort werden wir folgende Änderungen vornehmen. Suchen und entfernen Sie die Kommentarzeichen, indem Sie das Zeichen (#) aus den folgenden Zeilen entfernen, um den Empfang von UDP-Protokollnachrichten auf Port 514 zu ermöglichen. Standardmäßig wird der UDP-Port von Syslog zum Senden und Empfangen von Nachrichten verwendet:
$ ModLoad imudp $ UDPServerRun 514Schritt 3
Das UDP-Protokoll ist beim Datenaustausch über ein Netzwerk nicht zuverlässig, daher können wir Rsyslog so konfigurieren, dass Protokollnachrichten über das TCP-Protokoll an einen Remote-Server gesendet werden. Um das TCP-Empfangsprotokoll zu aktivieren, entfernen wir die folgenden Zeilen:
$ ModLoad imtcp $ InputTCPServerRun 514Schritt 4
Dadurch kann der rsyslog-Daemon einen TCP-Socket an Port 514 binden und abhören.
Beide Protokolle können in rsyslog so aktiviert werden, dass sie gleichzeitig unter Linux ausgeführt werden.
Wenn angegeben werden muss, welchen Absendern Zugriff auf den rsyslog-Daemon gewährt wird, müssen wir die folgenden Zeilen hinzufügen:
$ AllowedSender TCP, 127.0.0.1, 192.168.0.5/24, * .domain.com
VERGRÖSSERN
Schritt 5
An dieser Stelle ist es notwendig, eine neue Vorlage zu erstellen, die vom rsyslog-Daemon analysiert wird, bevor die eingehenden Protokolle empfangen werden. Diese Vorlage sollte dem lokalen Rsyslog-Server mitteilen, wo eingehende Protokollnachrichten gespeichert werden sollen. Diese Vorlage wird nach der Zeile $ AllowedSender eingefügt:
$ template Incoming-logs, "/var / log /% HOSTNAME% /% PROGRAMNAME% .log" *.*? Incoming-logs & ~
VERGRÖSSERN
Schritt 6
Um nur die von kern generierten Nachrichten aufzuzeichnen, fügen wir Folgendes hinzu. Dabei werden die empfangenen Datensätze von der Vorlage analysiert und im lokalen Dateisystem im Verzeichnis /var/log/ im Pfad:% HOSTNAME% und% PROGRAMNAME% gespeichert.
kern.*?Incoming-LogsSchritt 7
Mit folgender Tastenkombination können wir die Änderungen speichern:
Strg + Aus
Wir verlassen den Editor mit:
Strg + X
3. Starten Sie den Dienst neu und überprüfen Sie die Rsyslog-Ports unter Linux
Schritt 1
Wenn wir irgendeine Art von Änderung vornehmen, müssen wir den Dienst neu starten, indem wir eine der folgenden Optionen ausführen:
sudo service rsyslog Neustart sudo systemctl Neustart RsyslogSchritt 2
Um die von Rsyslog verwendeten Ports zu überprüfen, führen wir Folgendes aus:
sudo netstat -tulpn | grep rsyslogSchritt 3
Wie bereits erwähnt, wird der Port 514 verwendet, den wir in der Firewall für die Verwendung mit den folgenden Zeilen aktivieren müssen.
Auf RedHat und CentOS
Firewall-cmd --permanent --add-port = 514 / tcp Firewall-cmd -reload
In Debian
ufw erlauben 514 / tcp ufw erlauben 514 / udpWenn wir IPTables verwenden:
iptables -A INPUT -p tcp -m tcp --dport 514 -j ACCEPT iptables -A INPUT -p udp --dport 514 -j ACCEPT
VERGRÖSSERN
Auf diese Weise haben wir Rsyslog in Linux installiert, um die verschiedenen Arten von Protokollen zu verwalten, die ständig darin generiert werden.