Re: Memory Problem ?

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 14 Apr 2004 12:55:33 +0200 (CEST)

Widmer Hannes <hannes.widmer(at)cybernet.ch> wrote:
> Mem: 155M Active, 7348K Inact, 49M Wired, 6752K Cache, 35M Buf, 31M Free
> Swap: 593M Total, 29M Used, 564M Free, 4% Inuse

Das sieht OK aus.

> Warum er diese Meldung bringt, ist mir auch nicht klar:
>
> Apr 2 15:40:00 matrix /kernel: arp: 00:06:b1:xx:xx:xx is using my IP address 62.2.113.168!

Was ist daran nicht klar? Die Meldung sagt doch eigentlich
alles. In Deinem Subnetz ist ein Rechner (mit der angege-
benen MAC-Adresse), der versucht, Deine IP zu benutzen.
Entweder ist da ein falsch konfigurierter Rechner in Deinem
Netz, oder _Dein_ Rechner ist falsch konfiguriert, oder
jemand in Deinem Subnetzt versucht sich mit IP-Spoofing.

> Mein Provider und ich haben zu dieser Zeit kein Gerät
> in betrieb genommen wo wir hätten die gleiche ip
> brauchen koennen.

Aber offenbar _war_ so ein Gerät in Betrieb -- anders wäre
die Meldung nicht zu erklären.

> Eine Antwort auf die Frage, warum ich Connection
> attempts auf den Kernel habe obwohl auf diesem Port
> apache läuft, ist mir auch nicht klar..ist dies normal?..

Bist Du sicher, daß zu dem jeweiligen Zeitpunkt ein Apache
lief? Denkbar wäre auch, daß zu dem jeweiligen Zeitpunkt
ein DoS-Angriff lief und Dein Aapache vielleicht wegen
Überlastung keine Verbindung mehr annehmen konnte. Aber
das ist jetzt nur reine Spekulation.

> Mar 16 14:12:51 matrix /kernel: swap_pager: out of swap space
> Mar 16 14:12:56 matrix /kernel: swap_pager_getswapspace: failed
> Mar 16 14:12:57 matrix /kernel: swap_pager_getswapspace: failed
> Mar 16 14:12:57 matrix /kernel: pid 84619 (mysqld), uid 1000, was killed: out of swap space
> Mar 16 14:12:59 matrix /kernel: pid 84619 (mysqld), uid 1000, was killed: out of swap space

Wenn FreeBSD keinen physikalischen Speicher (also RAM +
Swap) mehr alloziieren kann, wird als Notfallmaßnahme der
größte Prozeß gekillt. (Man kann sich streiten, ob das
sinnvoll ist, aber die Alternative wäre ein erzwungener
Reboot, was auch nicht toll ist.) In Deinem Fall war das
das mysql.

Möglichkeit 1:
Aus irgendeinem Grund hatte sich Dein mysql-Prozeß offenbar
soweit aufgebläht, daß er allen zur Verfügung stehenden
Speicher aufgebraucht hat. Dies kann Folge eines DoS-An-
griffs sein, oder Folge einer Fehlkonfiguration von mysql,
oder beides. Überprüfe Deine Konfiguration, und stelle
sicher, daß Du keine Software mit bekannten Schwachstellen
einsetzt.

Möglichkeit 2 (wahrscheinlicher):
Es wurden so viele Apache-Prozesse gestartet, daß kein
phsyikalischer Speicher mehr frei war. (Gekillt wurden
aber trotzdem die mysql-Prozesse, da diese größer waren.)
Das ist ganz klar Folge einer Fehlkonfiguration. Du
solltest unbedingt Deine Apache-Konfiguration überprüfen
und die Anzahl der maximalen Child-Prozesse herabsetzen.
Außerdem solltest Du die Prozeß-Limits für den User, unter
dem Dein Apache läuft (wohl UID 80), geeigent einstellen,
so daß dieser gar nicht erst so viele System-Resourcen
verbrauchen kann (Speicher und Anzahl Prozesse).

> Mar 23 16:55:53 matrix /kernel: pid 195 (httpd), uid 80: exited on signal 6
> Mar 23 16:55:54 matrix /kernel: pid 196 (httpd), uid 80: exited on signal 6
> Mar 23 16:55:55 matrix /kernel: pid 197 (httpd), uid 80: exited on signal 6
> Mar 23 16:55:55 matrix /kernel: pid 51787 (httpd), uid 80: exited on signal 6
> Mar 23 16:55:55 matrix /kernel: pid 202 (httpd), uid 80: exited on signal 6
> Mar 23 16:55:55 matrix /kernel: pid 198 (httpd), uid 80: exited on signal 6

Das sieht nach einem Angriff aus. Prüfe Deine Apache-
Version.

> Apr 12 23:26:52 matrix /kernel: vr0: no memory for tx list
> Apr 12 23:26:52 matrix /kernel: looutput: mbuf allocation failed
> Apr 12 23:26:52 matrix /kernel: All mbuf clusters exhausted, please see tuning(7).

Das sagt ja bereits alles (ist außerdem eine FAQ).
Die genannte manpage hast Du sicherlich schon gelesen.
»netstat -m« sagt Dir die aktuelle Belegung; der Peak-Wert
sollte nie in die Nähe des Max-Wertes geraten.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"UNIX was not designed to stop you from doing stupid things,
because that would also stop you from doing clever things."
        -- Doug Gwyn
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 14 Apr 2004 - 12:56:14 CEST

search this site