pam service (sshd) ignoriert die maximalen Wiederholungsversuche

32

Ich habe VPS, auf dem ich einen Webserver laufen lasse. Derzeit läuft Ubuntu Server 12.04. Seit ein paar Wochen bekomme ich immer wieder viele Fehler in meiner SSH-Konsole.

2014 Apr 11 08:41:18 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:21 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:24 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:25 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:26 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3

Könnte mir bitte jemand sagen, was diese Fehler bedeuten. Oder sagen Sie mir zumindest, wie Sie diese Fehler deaktivieren können. Es ist wirklich ärgerlich, wenn ich über ssh arbeite und diese Fehler immer wieder auf meinem gesamten Bildschirm auftauchen.

Jerodev
quelle

Antworten:

40

PAMsagt Ihnen, dass es mit "retry = 3" konfiguriert ist und weitere Authentifizierungsanforderungen von sshd innerhalb derselben Sitzung ignoriert. SSHDer Versuch wird jedoch fortgesetzt, bis die MaxAuthTries-Einstellung erschöpft ist (standardmäßig 6).

Sie sollten wahrscheinlich beide (SSH und PAM) auf den gleichen Wert setzen, um maximale Wiederholungsversuche zu ermöglichen.

Aktualisiert

So ändern Sie dieses Verhalten:

Für sshdSie bearbeiten /etc/ssh/sshd_configund einstellen MaxAuthTries 3. Starten Sie auch den SSH-Server neu, damit die Einstellung wirksam wird.

Für PAM, müssen Sie nach Konfiguration im /etc/pam.dVerzeichnis suchen (ich denke, es ist common-passwordDatei in Ubuntu), müssen Sie retry=Wert ändern .

Hinweis: Ich würde dringend empfehlen, auch Peter Hommels Antwort auf den Grund dieser Anfragen zu überprüfen, da es möglich ist, dass Ihre SSH brachial erzwungen wird.

phoops
quelle
Vielen Dank, das Problem wurde durch Hinzufügen der MaxAuthTries 3in der SSH-Konfiguration und anschließendem Neustart des Servers behoben .
Jerodev
41

Bedenken Sie, dass diese Fehlermeldung möglicherweise nur ein Symptom für ein anderes zugrunde liegendes Problem ist, während die anderen Antworten korrekt sind, um die Fehlermeldung zu beseitigen, die Sie erhalten haben.

Sie erhalten diese Meldungen, weil es auf Ihrem System viele fehlgeschlagene Anmeldeversuche über ssh gibt. Möglicherweise versucht jemand, Brute-Force in Ihre Box zu befördern (war der Fall, als ich auf meinem System dieselben Nachrichten erhielt). Lesen Sie Ihre var/log/auth.logfür die Forschung ...

In diesem Fall sollten Sie ein Tool wie 'fail2ban' ( sudo apt-get install fail2banunter Ubuntu) installieren . Es liest automatisch die Protokolldateien Ihres Systems, sucht nach mehreren fehlgeschlagenen Anmeldeversuchen und blockiert die böswilligen Clients für eine konfigurierbare Zeit über iptables ...

Peter Hommel
quelle
4
Dies ist ein sehr netter Kommentar. Ich habe meine Antwort mit einer Notiz aktualisiert, in der Sie auch die Antwort für jeden lesen können, der auf diese Antwort stößt.
Phoops
5

Die obige Analyse scheint nicht ganz richtig zu sein. Es scheint keine retry = -Option für die Pam-Authentifizierung zu geben (ich habe eine für pam_cracklib gefunden, aber das betrifft nur das Ändern des Passworts im Abschnitt "password", nicht die Authentifizierung im Abschnitt "auth" von Pam). Stattdessen enthält pam_unix eine integrierte maximale Anzahl von Wiederholungsversuchen von 3. Nach drei Wiederholungsversuchen gibt pam den Fehlercode PAM_MAXRETRIES zurück, um sshd darüber zu informieren.

sshd sollte in diesem Fall wirklich aufhören, es zu versuchen, unabhängig von seinen eigenen MaxAuthTries. Es ist kein Fehler, was ich für einen Fehler halte (den ich gerade mit openssh gemeldet habe ).

Bis dieser Fehler behoben ist, scheint es, dass das Festlegen von MaxAuthTries auf <= 3 die einzige Möglichkeit ist, zu verhindern, dass diese Meldung angezeigt wird.

Matthijs Kooijman
quelle
der Fehler scheint mit Version 7.3p1 behoben zu sein
Dennis Nolte
3

Der ssh-Client versucht möglicherweise, sich mit einem oder mehreren Schlüsseln zu authentifizieren. Alle Schlüssel, die nicht in authorized_keys aufgeführt sind, schlagen fehl und verbrauchen einen der Wiederholungsversuche von sshd. Der Client probiert jeden SSH-Schlüssel aus, bis einer erfolgreich ist oder alle fehlschlagen. Daher ist es gut, dass Sie mit SSHD mehrere ausprobieren können.

Wenn keine Schlüssel übereinstimmen, können Sie mit sshd möglicherweise ein Kennwort versuchen. Jeder dieser Versuche verbraucht auch einen der erlaubten Wiederholungsversuche von sshd. Es verbraucht jedoch auch eine der zulässigen PAM-Wiederholungsversuche.

Die Kombination aus 6 ssh-Authentifizierungsversuchen und 3 pam-Authentifizierungsversuchen ist also eine gute Sache: Dies bedeutet, dass ssh insgesamt 6 Authentifizierungsversuche (Schlüssel oder Kennwort) zulässt, aber nur 3 Kennwortversuche.

Wie andere gesagt haben, versucht jemand, seinen Weg in Ihr System zu erzwingen, wenn Sie diese häufig in Ihren Protokollen sehen. Ziehen Sie in Betracht, mit fail2ban Pakete von IP-Adressen, von denen diese Versuche ausgehen, vollständig zu blockieren.

Rechnung
quelle
1

Nach dem Upgrade von Debian 6 auf Debian 7 hatte ich die gleichen Probleme. Plötzlich tauchten diese SSHD-Fehler in meiner Konsole auf.

2014 Oct 15 13:50:12 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:17 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:18 vps456 PAM service(sshd) ignoring max retries; 6 > 3

In meinem Fall war das Problem, dass rsyslognach dem Debian-Upgrade nicht mehr installiert wurde.

Nach der Installation von rsyslog sind diese Fehler von meiner Konsole verschwunden: apt-get install rsyslog

Computer
quelle
3
Dadurch werden sie nur an einer anderen Stelle als an der Konsole angezeigt. Meine Antwort behebt die Fehlerursache aufgrund einer fehlerhaften SSH / PAM-Konfiguration nach dem Upgrade.
Phoops
-1

Sicherlich könnte es ärgerlich sein, diese Benachrichtigungen auf Ihrer Konsole zu haben, aber wenn ich in meinen Protokolldateien sehe, dass ich gestern 987 fehlgeschlagene Root-Anmeldeversuche von einer IP-Adresse in China oder 2670 von einem Cloud-Dienst in Kalifornien oder ... vielen hatte Andere mache ich mir keine Sorgen. Der Benutzer root darf sich auf meinem Computer überhaupt nicht anmelden. Egal wie viele Versuche.

Würden sie anfangen, Benutzernamen auszuprobieren, die sich anmelden können, wäre das eine andere Sache, aber wenn man gute Passwörter hat, sehe ich dort auch kein Risiko. Login-Passwörter können (anders als Verschlüsselungsschlüssel) nur so schnell ausprobiert werden.

Die Verwendung von so etwas wie fail2ban scheint unnötig komplex zu sein, was nichts kostet (wenn Sie gute Passwörter haben), und Komplexität ist schlecht für die Sicherheit. Drosselungsversuche sollten von sshd implementiert werden, nicht von Add-Ons ... und sshd führt Drosselungsversuche durch. Gut.

-kb, der Kent, der nur gute Passwörter verwendet und niemals zwischen verschiedenen Sites recycelt.

Kent Borg
quelle
2
Die Verwendung von SSH-Schlüsseln und das Deaktivieren von Kennwörtern verhindern erfolgreiche Brute-Force-Angriffe.
HBruijn
Ja, aber dann verlagert sich das Problem auf den Schutz Ihrer SSH-Schlüssel. Wo sind sie? Sind sie verschlüsselt? Wie gut schützt ein Schlüssel sie? Wenn ein Passwort in den letzten X Jahren nicht geknackt werden kann, dann kann es in den letzten X Jahren nicht geknackt werden. Wofür brauchen Sie "besser"? Ich habe viel Zeit in die Verwaltung meiner Passwörter investiert, und ich kann sie eingeben, viele von ihnen, an die ich mich erinnere. Aber ein paar SSH-Schlüssel? Benötigen Sie einen sicheren Ort, um sie aufzubewahren.
Kent Borg
2
Das brachiale Erzwingen eines Kennworts (normalerweise weniger als 20 Zeichen lang und zu oft falsch gewählt) ist viel einfacher als das brachiale Erzwingen eines privaten 1024-Bit-Schlüssels (vereinfacht das Äquivalent eines 128-Zeichen-Kennworts), um Zugriff über SSH zu erhalten. Bleiben wir beim Vergleich von Äpfeln mit Äpfeln. - - Wenn Sie kein Vollidiot sind (z. B. Ihren privaten Schlüssel in Ihrem öffentlichen Github speichern), ist es schwierig, an Ihren privaten SSH-Schlüssel zu gelangen, da er Ihre Workstation niemals verlassen muss. Sobald Ihr privater Schlüssel kompromittiert ist, sind wir nicht mehr an zufälligen Angriffen beteiligt, sondern betreten den Bereich gezielter Angriffe ...
HBruijn,
@Kent Sie wissen, dass Sie Ihre SSH-Schlüssel mit einem Passwort schützen können? Sie sagen auch, dass fail2ban nicht erforderlich ist, schlagen aber weiterhin vor, dass SSH diese Funktion in sich selbst implementieren sollte. Wenn Sie die Anforderungen nicht blockieren, kann dies Ihr System erheblich vereinfachen.
Phoops