frank
Goto Top

Meldung im Syslog: Drop messages due to rate-limiting

Hallo Ubuntu User,

ich hatte im Syslog (/varlog/syslog) einige merkwürdige Meldungen über einen "Message Drop". Es wurden also Nachrichten nicht ins globale Syslog geschrieben. Hier ein Beispiel:
Mar 17 09:18:21 server-01 rsyslogd-2177: imuxsock begins to drop messages from pid 28537 due to rate-limiting
Mar 17 09:18:26 server-01 rsyslogd-2177: imuxsock lost 507 messages from pid 28537 due to rate-limiting
Mar 17 09:18:27 server-01 rsyslogd-2177: imuxsock begins to drop messages from pid 28537 due to rate-limiting
Mar 17 09:18:32 server-01 rsyslogd-2177: imuxsock lost 488 messages from pid 28537 due to rate-limiting
Mar 17 09:18:34 server-01 rsyslogd-2177: imuxsock begins to drop messages from pid 28537 due to rate-limiting
Mar 17 09:18:38 server-01 rsyslogd-2177: imuxsock lost 333 messages from pid 28537 due to rate-limiting
Mar 17 09:18:39 server-01 rsyslogd-2177: imuxsock begins to drop messages from pid 28537 due to rate-limiting
Was macht der rsyslogd Daemon hier?

Seit der rsyslogd Version 5.7.1 gibt es ein neues Feature (drop), dass nach 200 Nachrichten eines einzigen Prozesses innerhalb von 5 Sekunden die Nachrichten nicht mehr in das Logfile schreibt (das sind die default Werte). Satt dessen erscheint die Meldung "imuxsock begins to drop messages from pid 12345 due to rate-limiting".

Was bei Firewalls/Routern (und evtl. noch Webservern) sicher sinnvoll erscheint, kann bei anderen Systemen leicht zu einer Fehlinterpretation führen. Es können mit dem Drop auch wichtige Informationen vom System oder den Daemons unterschlagen werden. In den unterschlagenen Informationen können sich Sicherheitsrelevante Informationen befinden, die durch den Drop nicht mehr im Syslog erscheinen. Aus meiner Sicht ist das für den rsyslogd keine gute Grundeinstellung.

Aber man kann das Default-Verhalten leicht ändern. Dazu muss man nur die Datei /etc/rsyslog.conf bearbeiten. Nach dem Modul und im Bereich von "#### GLOBAL DIRECTIVES ####" kann man zwischen zwei Alternativen wählen:

a) Man ändert die Default-Werte. Beispiel:

$SystemLogRateLimitInterval 10
$SystemLogRateLimitBurst 500
(500 Nachrichten innerhalb von 10 Sekunden)

b) Man schaltet das Drop-Feature komplett aus

$SystemLogRateLimitInterval 0

Danach muss man den rsyslogd Daemon neu starten:

sudo service rsyslog restart

P.S. der Tipp funktioniert natürlich für alle Systeme (ab CentOS 6.x, ab Debian 5.0, ab Fedora 13, ab OpenSuSE 11.x/12.x, ab Ubuntu 10.0), die den rsyslogd Daemon benutzen.

Gruß
Frank

Content-Key: 232793

Url: https://administrator.de/contentid/232793

Printed on: April 19, 2024 at 11:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Mar 17, 2014 at 10:30:51 (UTC)
Goto Top
Zitat von @Frank:

Aus meiner Sicht ist das für den rsyslogd keine gute Grundeinstellung.

Es ist zweischneidig. Macht man das Limit zu hoch (oder gar keins), öffnet das Angriffspunkte für DOS-Attacken. Macht man es zu niedrig, können wichtige Informationen verlorengehen. Wie immer muß der Admin das Zeug halt anfassen und für ihn sinnvolle Werte einstellen.

lks
Member: Frank
Frank Mar 17, 2014 updated at 10:57:22 (UTC)
Goto Top
Hi lks,

es kommt halt immer auf das System drauf an. Auf einem Server, der z.B. im Internet gar nicht erreichbar ist, brauche ich persönlich die volle Info im Syslog. Klar, jeder Admin muss selbst ermessen, ob es für ihn Sinn macht, dieses Feature zu nutzen oder nicht.

Gruß
Frank