wachsende Anzahl von TCP Ports im LISTEN Status - Urheber unbekannt
Hallo,
Seit einiger Zeit habe das Problem, dass sich die Anzahl der TCP-Ports
im LISTEN Modus wie von Geisterhand ständig weiter erhöht. Messungen
über einige Tage haben ergeben, dass ca. alle 5 Min. ein Port
hinzukommt. Nach spätestens einer Woche ist ein Reboot fällig, da die
dann ca. 2000 offenen Ports sich langsam unangenehm bei
Speicherverbrauch bemerkbar machen (bspw. Mem: 3921868k total,
3735796k used, 186072k free, 26996k buffers). Das erste Mal ist es
mir die Sache aufgefallen, als ca. 20000 erreicht wurden und im syslog
immer wieder fehlende file descriptors gemeldet wurden (schon ein paar
Woche her). Leider habe ich keine Ahnung welcher Prozess/Dienst dafür
verantwortlich ist...
Hier mal eine Kostprobe:
xxxxx:~# netstat -anp | grep LISTEN | more
tcp 0 0 0.0.0.0:35168 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:41824 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:50656 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:51584 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:50944 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:48800 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:48384 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:36128 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:36192 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:41280 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:56960 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:38016 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:49120 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:44512 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:35392 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:46976 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:53376 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:45536 0.0.0.0:*
LISTEN -
tcp 0 0 0.0.0.0:49248 0.0.0.0:*
LISTEN -
...
Ich habe ein wenig mit auditd herumexperimentiert, leider ohne einen
wesentlich Erkenntnisgewinn (falsche Audit-Regeln?). Ein Versuch die
Ports mittels nmap zu identifizieren hat auch nichts gebracht außer
einem timeout. Eins habe ich jedoch feststellen können: wenn der slapd
(openlapd 2.3) nicht läuft, bleibt die Anzahl der Ports offenbar auf
hohem Niveau konstant...
Nun noch ein paar Details zur Maschine:
Debian etch 4.0 (AMD64) - aktueller Stand
Linux xxxxx 2.6.24-etchnhalf.1-amd64 #1 SMP Tue Sep 9 15:49:45 UTC 2008
x86_64 GNU/Linux (Original-Kernel aus Distribution)
Dienste, die in diesem Zusammenhang vielleicht von Interesse sind (also
irgendwie mit LDAP arbeiten): Courier-IMAP/authdaemon, Postfix, SASL2,
Samba3, automount, apache2, pam_ldap, libnss_ldap. NFSv4 (ohne Kerberos)
ist auch aktiv. Der Samba3-Server ist an ein AD (Win2003) angebunden,
d.h. von dort aus werden Benutzer/Gruppen lokal eingebunden. Da wir
keine Schema-Erweiterungen im AD vornehmen können (Domäne ist Teil eines
Forest), wird LDAP unter Linux genutzt, um diese Erweiterungen zu
simulieren, d.h. Basis-Nutzerdaten werden aus dem AD ins lokale LDAP
abgebildet/synchronisiert und dort erweitert (bspw.
E-Mail-Weiterleitungs-Attribut für postfix).
Ach ja, auf einer weiteren Maschine (auch Debian 4.0, aber
selbstgebauter i686 2.6.24.2 Kernel) mit im Prinzip gleichem
Dienstangebot (slapd läuft dort als slave) läßt sich das gleich Phänomen
beobachten. Merkwürdig ist allerdings, dass dort nach einem Reboot die
Anzahl die Ports nicht immer gleich unaufhörlich in den Himmel wächst.
Es können durchaus Tage vergehen, bis auch dort plötzlich die Ports wie
Pilze auf dem Boden schießen.
Da oben beschrieben Setup lief bis vor ca. 6-8 Wochen seit ca. 1 Jahr
ohne Probleme. Meine Vermutung(!) ist, dass durch ein dpkg-update
irgendetwas auf den Maschinen gelandet ist, das für den Port-Wildwuchs
verantwortlich ist.
Was tun? Wie kann ich herausfinden, welcher Prozess diese Ports
überhaupt öffnet (offen lässt)? Hat jemand vielleicht ähnliche Problem
(gehabt)?
Bin für jeden sinnvollen Hinweis dankbar... :-)
Grüße
Lars Wessels
Reply to: