sshd <defunct> - setrlimit

  • Hallo und guten Morgen!


    Ich habe seit einigen Tagen das Problem, dass sie kind-Prozesse vom sshd aufhängen bzw. nicht sauber beendet werden. Die Vermutung liegt nahe, dass die nächtlichen Login-Versuche aus aller Welt mit daran Schuld sind. Visuell sieht das Ganze dementsprechend so aus:


    Code
    14950 sshd      15   0     0    0    0 Z    0  0.0   0:00.00 sshd <defunct>
    14955 root      15   0 35572 2592 2052 S    0  0.2   0:00.00 sshd
    14956 sshd      15   0     0    0    0 Z    0  0.0   0:00.00 sshd <defunct>
    14966 sshd      15   0     0    0    0 Z    0  0.0   0:00.00 sshd <defunct>
    14978 sshd      15   0     0    0    0 Z    0  0.0   0:00.00 sshd <defunct>

    Ich weiss, dass es dort um einen Bug "handeln soll", aber diese Bug-Meldung ist von 2006. Hat jemand ähnliche Probleme und dafür eine Lösung gefunden?


    Des Weiteren bekomme ich bei meinen Logins im auth.log folgende Fehlermeldung:


    Code
    Jul  5 08:12:40 home sshd[30471]: (pam_unix) session opened for user XXXXXX by (uid=0)
    Jul  5 08:12:40 home pam_limits[30471]: setrlimit limit #11 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
    Jul  5 08:12:40 home pam_limits[30471]: setrlimit limit #12 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0
    Jul  5 08:12:46 home su[30488]: Successful su for root by XXXXXX
    Jul  5 08:12:46 home su[30488]: + pts/4 XXXXXX:root
    Jul  5 08:12:46 home su[30488]: (pam_unix) session opened for user root by (uid=1000)

    Was hat es mit diesem pam_limits bzs. setrlimit auf sich. Ich komme bei meinen Recherchen leidet nicht weiter.


    Danke für eure Hilfe.

  • Hallo,
    nur noch eine kleine Ergänzung meinerseits:

    Zitat

    die nächtlichen Login-Versuche aus aller Welt

    Dieses Übel kennt wohl jeder. Vielleicht kannst du ja in Erwägung ziehen, den SSH-Daemon einfach auf einen anderen Port zu legen (sshd_config -> Port). Damit bleiben dann auch die ganzen SSH-Bots draußen, und die Serverlast steigt nicht mehr unnötig an, nur weil gerade wieder etliche SSH-Logins gleichzeitig durchprobiert werden.

  • Hallo,
    das Tutorial sieht doch soweit schonmal ganz brauchbar aus.
    Ob der Port nun allerdings zwangsläufig oberhalb von 1024 liegen sollte, spielt denke ich keine große Rolle. Da der SSH-Daemon mit Root-Rechten läuft, wäre auch jeder andere (lt. /etc/services ungenutzte) Port (<1024) in Ordnung.


    Eine einzige Option in der sshd_config vermisse ich dort allerdings:

    Code
    PermitRootLogin without-password

    Damit ist kein Root-Login mit Klartext-Passwort möglich sonder nur noch z.B. per Public-Private-Key, d.h. es kann auch kein Bot der Welt das Root-Passwort durch Klartext-Logins erraten.


    Wenn man allerdings wie im Tutorial mit "PasswordAuthentication no" die PasswordAuthentication ganz deaktiviert, sollte meine o.g. Zeile auch wieder überflüssig sein. Ich persönlich habe mir allerdings immer die PasswordAuth. als allerletztes Hintertürchen offen gehalten, wenn ich z.B. unterwegs an irgendeinem Rechner unbedingt Zugriff auf den Server benötige, und meinen SSH-Priv-Key gerade nicht dabei habe.

  • So weit muss man dann halt selbst denken, ob man z.B. von unterwegs aus Zugang braucht, und ob man sein Keyfile immer dabei hat (PDA/Schläpptop) oder nicht.


    Mir reichr diese Variante z.B. aus ;) so wichtig bin ich und meine Server dann doch nicht hihi.

  • Sicherlich sind das jetzt alles nur noch irgendwelche Feinheiten.
    Am wichtigsten ist es denke ich einfach, den Port zu ändern, und zumindest für Root ausschließlich Key-Auth. zu benutzen. Damit ist man schonmal auf der sicheren Seite.

  • also ich lasse erst garkeinen root login zu, indem ich den Zugang konsequent sperre.


    hier: sshd_config

    Zitat

    PermitRootLogin no


    wenn ich denn mal root-rechte benötige, dann hole ich mir das mit su.


    die port-änderung finde ich gut, das tutorial von dir alexander finde ich sehr gut gelungen. danke dafür.

  • Kann mir bitte jemand erklären, wozu in der config vom sshd die zeile


    Zitat

    ListenAddress


    ist? Trage ich dort die Adressen ein, die connecten dürfen oder, die ip, die nur für den sshd "lauschen" soll?


    für mich stellt sich in soweit die frage, da ich drei IP's habe, aber gerne das "lauschen" auf eine der drei ip's reduzieren möchte.


    danke für eure antworten.

  • ListenAdress sind die IPs des Servers auf denen er horchen soll.
    Dort also nur die IP eintragen, über die der sshd erreichbar sein soll.


    So verstehe ich zumindest die MAN dazu, leider keine Gewähr auf die Aussage.

  • hallo alexander,


    danke für dein statement. denn genauso weit bin ich auch. aber ich habe mir überlegt:


    ich werde jetzt zwei von den drei ip-adressen dort mal eintragen, restart durchführen und schauen, ob die dritte nicht eingetragene noch erreichbar per ssh ist. sage bescheid, ob es geklappt hat.


    EDIT:


    So wie wir beide es gedacht haben. Beispiel für andere Leser: Auf dem System existieren zwei IP-Adressen. 12.34.56.78 und 12.34.56.79. Wird nun unter

    Zitat

    ListenAddress 12.34.56.78


    eingetragen, ist über die zweite IP 12.34.56.79 keine Verbindung mehr möglich.

  • Zitat von Alexander W.H. Wachert;1603

    Wie hast du mehrere Adressen eingetragen? getrennt durch ein "," oder untereinander?


    Sorry, das habe ich vergessen. Also "nebeneinander" funktioniert es nicht. weder mit einem LEERZEICHEN, noch einem ';' noch einem ','. Daher habe ich wirklich fein säuberich


    Zitat


    ListenAddress 12.34.56.78
    ListenAddress 12.34.56.79


    und im Endeffekt dort aber dann nur noch eine IP spezifiziert.


    Ausserdem natürlich noch sehr wichtig, um das Ursprungsthema hier noch mal mit aufzugreifen und das <defunct> zu verringern:


    Zitat


    Port 1234


    also auf jeden Fall von 22 runter. Und bitte dann dementsprechend in Putty anpassen.

  • Hallo,


    hat sich bzgl. der setrlimit-Fehlermeldungen aus dem Log (siehe Anfang des Themas) noch etwas ergeben? Habe bei mir das gleiche im log.


    Code
    Jul  5 08:12:40 home pam_limits[30471]: setrlimit limit #11 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0


    Gruß


    micon

  • Hallo,


    bei mir finden sich auch massenhaft solche Logeinträge, 2 Beispiele:

    Code
    Apr 20 00:10:01 id CRON[29994]: pam_limits(cron:session): setrlimit limit #13 to soft=20, hard=0 failed: Operation not permitted; uid=20,euid=0
    Apr 26 15:12:55 id sudo: pam_limits(sudo:session): setrlimit limit #13 to soft=20, hard=0 failed: Operation not permitted; uid=20,euid=0

    Ich habe mich an den Support gewandt, wie unten vom Support-Mitarbeiter gepostet. Die Antwort war ein höflicher aber nichts sagender Verweis zurück auf dieses Forum.
    Kennt jemand die Ursache oder die Lösung dieses Problems?


    Danke
    -h


    Zitat von micon;1667


    Hallo,


    hat sich bzgl. der setrlimit-Fehlermeldungen aus dem Log (siehe Anfang des Themas) noch etwas ergeben? Habe bei mir das gleiche im log.


    Code
    Jul  5 08:12:40 home pam_limits[30471]: setrlimit limit #11 to soft=-1, hard=-1 failed: Operation not permitted; uid=0 euid=0

    Gruß
    micon


    Zitat von [netcup] Oli;1531

    Bitte samt Kundennummer bei mir melden.