Mehrere Daemons weg - was ist passiert?

ed1949

Well-Known Member
Hallo,

ich hatte gestern den interessanten Fall, dass auf FBSD 9.1 p1 in mehreren Jails die Daemons gestorben sind. Dabei waren der Nameserver, der Mailserver, der Webserver und noch ein paar weitere. Nicht betroffen waren glücklicherweise unter anderem die SSH Daemons, der NTP und die Syslog Daemons.

Auf einem anderen Server mit ähnlicher Hardware in gleicher Konfiguration läuft alles wie bisher. Dort laufen sogar noch mehr Services und die Netzwerklast ist höher.

Bisher ist auch auf dem ersten Server alles stabil gelaufen. Letzte Woche habe ich ihn dann per freebsd-update von 9.0 auf 9.1 gebracht. Seit ich die Services wieder gestartet habe läuft alles wieder. In den Logs war nichts zu finden, die haben einfach ab irgend einem Zeitpunkt keine Einträge mehr für die entsprechenden Daemons. Die IDS Trigger und die Fallen sind alle sauber, daher würde ich einen Angriff ausschliessen. Das einzig gemeinsame an den Daemons ist, dass alle zum fraglichen Zeitpunkt eine oder mehrere Netzwerkverbindungen offen gehabt haben könnten.

Jetzt Frage ich mich, was da passiert ist?!
 
In den Logs steht eben nichts dergleichen. Beim SMTP hört das Log einfach irgendwann auf, ebenso beim Webserver. Der Nameserver loggt normalerweise sowieso nicht viel mit, aber auch dort steht nichts.

Ich weiss auch nicht ob alle Daemons gleichzeitig beschlossen haben, die Arbeit niederzulegen oder ob sich einer nach dem anderen beendet hat. Es gibt auch keine Core Dumps.
 
Doch, dmesg war die Lösung:

Code:
...
pid 7704 (named), uid 53, was killed: out of swap space
pid 21990 (exim-4.80.1-2), uid 26, was killed: out of swap space
pid 25357 (lighttpd), uid 80, was killed: out of swap space
...

Und noch ein paar andere Daemons. Da muss einer ziemlich Amok gelaufen sein. Bekommt man nachträglich noch raus wer der Übeltäter war? Normalerweise ist die Maschine vom Speicherbedarf her eher unauffällig und weit weg vom Limit.
 
Moin ed1949,

den Übeltäter könntest Du nur herausfinden, wenn Du die Logfiles - auch die archivierten Logfiles - studierst. Spontan würde ich zwei Kandidaten nennen: lighttpd und exim. Schau mal in die Logfiles, die von diesem Daemons produziert werden.

Viele Grüße

JueDan
 
FreeBSDs OOM-Killer schießt den Prozess ab, dessen Speicheranfrage nicht mehr erfüllt werden kann. Das trifft mit einer vergleichsweise hohen Wahrscheinlichkeit schon den richtigen. Ich würde mir daher mal den Dienst vornehmen, der als letzter (bevor es sich berappelt hat) abgeschossen wurde,
 
Der letzte war der lighttpd. Die Logs haben hier gar keine Einträge - auch für die anderen Daemons nicht. Ich werde dem System mal ein paar GiByte mehr Swap geben und eine zusätzliche Überwachung einrichten. Seit ich die Services neu gestartet habe läuft das System unauffällig.
 
Zurück
Oben