GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Verstehen der Datei /etc/rsyslog.conf zum Konfigurieren der Systemprotokollierung

Alle System- und Kernelmeldungen werden an rsyslogd übergeben. Für jede empfangene Protokollnachricht schaut Rsyslog in seine Konfigurationsdatei /etc/rsyslog.conf um zu bestimmen, wie mit dieser Nachricht umgegangen werden soll. Rsyslog durchsucht die Konfigurationsdatei nach allen Regelanweisungen, die mit dieser Nachricht übereinstimmen, und behandelt die Nachricht so, wie es die jeweilige Regelanweisung vorschreibt. Wenn keine Regelanweisung mit der Nachricht übereinstimmt, verwirft Rsyslog sie. Regelanweisungen spezifizieren zwei Dinge:
1. welche Nachrichten übereinstimmen (Selektoren) und
2. was mit übereinstimmenden Nachrichten (Aktionen) zu tun ist.

Selektoren

Zuzuordnende Nachrichten werden durch einen Selektor angegeben, der Einrichtungen und Prioritäten abgleicht, während Aktionen, die auf übereinstimmende Nachrichten anzuwenden sind, durch ein Aktionsfeld angegeben werden. Beispielsweise weist die folgende Konfigurationszeile Rsyslog an, die Aktion /var/log/kernlog auf alle Nachrichten mit der Einrichtung kern und dem Level debug anzuwenden:

# cat /etc/rsyslog.conf
kern.debug             /var/log/kernlog

Prioritätsangaben in Selektoren sind hierarchisch. Rsyslog gleicht alle Nachrichten mit der angegebenen Priorität und höher ab. Der Selektor kern.debug vergleicht alle vom Kernel erzeugten Meldungen mit der Priorität debug oder höher; Da Debuggen die niedrigstmögliche Priorität hat, passt der Selektor kern.debug alle Nachrichten mit einer Kern-Funktion an. Außerdem kann ein Sternchen als Platzhalter verwendet werden, um alle Prioritäten darzustellen, sodass kern.* auch alle vom Kernel erzeugten Meldungen abgleichen würde.

Anders als das Prioritätsfeld ist das Einrichtungsfeld nicht hierarchisch. Es ist jedoch weiterhin möglich, mehrere Nachrichten von verschiedenen Einrichtungen abzugleichen. Mehrere Selektoren können in einer Zeile aufgelistet werden, getrennt durch Semikolons. Dies kann nützlich sein, wenn dieselbe Aktion auf mehrere Nachrichten angewendet werden muss. In ähnlicher Weise kann der Stern-Platzhalter verwendet werden, um alle Einrichtungen anzugeben, wodurch eine weitere Methode zum Anwenden einer Aktion auf eine Vielzahl von Nachrichten bereitgestellt wird.

Syslog-Einrichtungen und -Prioritäten

Die Einrichtung wird verwendet, um anzugeben, welche Art von Programm die Nachricht erzeugt. Der Syslog-Daemon kann dann so konfiguriert werden, dass Nachrichten aus verschiedenen Quellen unterschiedlich behandelt werden. Diese Tabelle listet die standardmäßig definierten Einrichtungen mit kurzen Beschreibungen ihrer Verwendung auf:

Einrichtung Beschreibung
auth/authpriv Sicherheits-/Autorisierungsnachrichten
cron crond- und atd-Daemon-Meldungen
Daemon andere System-Daemons
kern Kernel-Meldungen
local0 – local7 für den lokalen Gebrauch reserviert
lpr Zeilendrucker-Subsystem
Mail Mail-Subsystem
Neuigkeiten USENET-News-Subsystem
syslog Meldungen, die intern vom Systemprotokoll-Daemon generiert werden
Benutzer allgemeine Nachrichten auf Benutzerebene
uucp UUCP-Subsystem

Die Priorität oder Ebene einer Nachricht soll die Wichtigkeit einer Nachricht bestimmen. Diese Tabelle listet die Standard-Prioritätsstufen mit kurzen Beschreibungen ihrer Bedeutung auf:

Priorität Beschreibung
auftauchen System ist unbrauchbar
Warnung Müssen sofort Maßnahmen ergriffen werden
kritisch kritische Bedingungen
irr Fehlerbedingungen
Warnung Warnbedingungen
Hinweis normaler, aber signifikanter Zustand
Informationen Informationsmeldungen
debuggen Debugging-Meldungen

Aktionen

Viele Aktionen sind möglich, obwohl nur eine in eine Regel eingeschlossen werden kann:

  • Im Aktionsfeld können Dateinamen aufgelistet werden, die den Speicherort der Dateien angeben, in die die ausgewählte Nachricht geschrieben werden soll. Diese Dateien können wie üblich Textdateien sein, aber auch Gerätedateien wie ein Terminal oder ein Drucker.
  • Es können auch Benutzernamen angegeben werden. Wenn der benannte Benutzer beim System angemeldet ist, wenn Rsyslog die Nachricht verarbeitet, wird die Nachricht auf allen Terminals dieses Benutzers gedruckt.
  • Ein Sternchen für die Aktion weist Rsyslog an, die Nachricht an alle eingeloggten Benutzer zu schreiben (sie geht an alle aktiven Terminals).
  • Nachrichten können an entfernte Hosts gesendet werden. Die Aktion @host weist Rsyslog an, die Nachricht an den Maschinenhost weiterzuleiten, wo sie vom Syslog-Daemon dieses Hosts erneut verarbeitet wird.

Standarddatei /etc/rsyslog.conf

Unten ist die Standardkonfigurationsdatei /etc/rsyslog.conf in CentOS 6.

# cat /etc/rsyslog.conf 
# rsyslog v5 configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### MODULES ####

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


#### GLOBAL DIRECTIVES ####

# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# File syncing capability is disabled by default. This feature is usually not required,
# not useful and an extreme performance hit
#$ActionFileEnableSync on

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf


#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log


# ### begin forwarding rule ###
# The statement between the begin ... end define a SINGLE forwarding
# rule. They belong together, do NOT split them. If you create multiple
# forwarding rules, duplicate the whole block!
# Remote Logging (we use TCP for reliable delivery)
#
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
#$WorkDirectory /var/lib/rsyslog # where to place spool files
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList   # run asynchronously
#$ActionResumeRetryCount -1    # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
# ### end of the forwarding rule ###


Cent OS
  1. Die Datei /etc/xinetd.conf unter Linux verstehen

  2. Die Datei /etc/security/limits.conf verstehen

  3. Wie kann ich die Datei /etc/shadow und /etc/passwd mit Auditd auf Änderungen überwachen?

  4. Verstehen des Verzeichnisses /etc/sysconfig

  5. So richten Sie /etc/issues ein, um die IP-Adresse für eth0 anzuzeigen

Verstehen der /etc/passwd-Datei

Verstehen der /etc/shadow-Datei

/etc/rsyslog.conf – Richten Sie einen Filter ein, um Nachrichten zu verwerfen oder umzuleiten

Verstehen der /etc/fstab-Datei unter Linux

Verstehen der /etc/exports-Datei

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen