fail2ban und denyhosts sperren mich ständig auf Ubuntu

fail2ban und denyhosts sperren mich ständig auf Ubuntu

Ich habe gerade eine Ubuntu-Instanz auf Linode bekommen. Um das SSH darauf zu sichern, habe ich fail2ban(mit apt-get) installiert, hatte dann aber ein Problem: fail2banMeine IP wurde ständig gesperrt (zum Glück für begrenzte Zeit), obwohl ich das richtige Passwort eingegeben habe. Also habe ich stattdessen entfernt fail2banund neu installiert denyhosts. Dasselbe Problem, aber schwerwiegender: Es scheint, als würde meine IP jedes Mal gesperrt, wenn ich mich per SSH anmelde. Ich entferne sie von /etc/hosts.deny, starte neu denyhostsund melde mich erneut an, und meine IP wird erneut gesperrt.

Die einzige Erklärung, die mir einfällt, ist, dass ich mich per SSH als Root angemeldet habe (ja, ja, ich weiß); vielleicht ist irgendwo etwas eingestellt, das jeden blockiert, der sich per SSH als Root anmeldet, selbst wenn er sich erfolgreich anmeldet? Das kommt mir bizarr vor. Irgendwelche Ideen? (Das Whitelisting meiner IP ist eine vorübergehende Lösung. Ich möchte mich nicht nur von einer IP aus anmelden können.)

Antwort1

Ich glaube, ich habe schon einmal jemanden sagen hören, dass einige dieser Apps fehlgeschlagene Schlüsselanmeldungen als Brute-Force-Versuch werten. Läuft bei Ihnen ein SSH-Agent mit darin enthaltenen Schlüsseln? Bei der Verbindung mit diesem Set werden alle Schlüssel nacheinander angeboten, bevor auf das Passwort zurückgegriffen wird. Das könnte der Grund sein. Versuchen Sie, die Protokollebene von SSHD höher einzustellen, und überprüfen Sie die Protokolle von Fail2ban/Denyhost.

Bearbeiten:Hierist die Originalquelle, die mich darauf aufmerksam gemacht hat und eine Möglichkeit zur Behebung des Problems bietet.

Antwort2

Bitte überprüfen Sie die folgenden Links:

Wenn Sie die ganze Fail2Ban- und DenyHosts-Idee aufgeben möchten, tun Sie es wie Nathan Powell unten sagt, wechseln Sie von Port 22 zu etwas Unbekannterem

außerdem noch ein paar weitere Ideen:

  1. iptables: Das folgende Beispiel trennt eingehende Verbindungen, die innerhalb von zehn Minuten mehr als zwei Verbindungsversuche über Port 22 unternehmen:

    iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW 
             -m recent --set
    
    iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW
             -m recent --update --seconds 60 --hitcount 4 -j DROP
    
  2. Schlüsselbasierte Anmeldung

  3. Port-Knocker (geknockt)

Antwort3

Wenn sshd auf die Protokollierungsebene VERBOSE (oder höher) eingestellt ist, fügt es den Satz „...Keiner fehlgeschlagen...“ in das Systemprotokoll ein, wenn sich ein Benutzer erfolgreich anmeldet. Standardmäßig ist fail2ban so eingestellt, dass dies als Fehler gewertet wird. Ich habe das Problem behoben, indem ich die Protokollierungsebene für sshd wieder auf INFO zurückgesetzt habe.

Weitere Einzelheiten finden Sie in meiner Antwort auf diese Frage.fail2ban sperrt mich nach einer Reihe *erfolgreicher* Anmeldungen

Antwort4

Wenn Sie bereit sind, zu fail2ban zurückzukehren, können Sie immer die ignoreipDirektive in verwenden jail.conf. Beispiel:

ignoreip = 127.0.0.1 192.168.1.0/32

Auf diese Weise werden Sie nicht wegen Ihrer schlampigen Eingabe blockiert ;-) Es bedeutet auch, dass niemand Sie blockieren kann, indem er Ihre IP fälscht (bei TCP-Verkehr ist das allerdings kein allzu großes Problem).

verwandte Informationen