fail2ban
erkennt fehlgeschlagene SSH-Anmeldungen mit öffentlichem Schlüssel nicht und ich gehe davon aus, dass dies gelöst werden kann, indem das failregex
von so geändert wird, dass es /etc/fail2ban/filter.d/sshd.config
mit der folgenden Zeile übereinstimmt:
<date> <time> <server-hostname> sshd[25917]: Connection closed by <client-ip> [preauth]
Aber ich kann keine anständige Einführung finden, wie man diesen Failregex richtig modifiziert. Da ich nicht wirklich weiß, welche Variablen ^%(__prefix_line)s
enthalten, ist es schwierig, einen funktionierenden regulären Ausdruck zu erhalten.
Ich verstehe, dass die neueste Version 0.9.1 den regulären Ausdruck enthält, um die Zeile "Verbindung durch [preauth] geschlossen" abzugleichen, aber ich verwende fai2ban aus dem Debian-Repository und die Konfiguration von 0.9.1 ist nicht mit der von I kompatibel haben.
/var/log/fail2ban.log
bei Spielen anmelden würde , aber dies geschah nicht, nur wenn es gesperrt wurde, wurde es schließlich protokolliert. Vielen Dank für die Hilfe!MaxAuthTries=N
in/etc/ssh/sshd_config
. Wissen Sie, ob so etwas wie Ihre Regex absichtlich vom Standardfilter weggelassen wurde? Vielen Dank!Zumindest in openssh 7.3 enthalten die Protokollnachrichten auch eine Portnummer. Also musste ich die Lösung von sebix wie folgt ändern:
quelle
Es ist kein Regex-Hacking erforderlich (zumindest seit fail2ban 0.10.4). In
/etc/fail2ban/jail.conf
ist die folgende Information:Befolgen Sie daher die Empfehlungen, indem Sie
/etc/fail2ban/jail.local
mit Ihren anderen Anpassungen zusammen mit einem der strengeren Modi erstellen, z.Dieser Modus deckt jetzt fehlerhafte öffentliche Schlüssel ab.
quelle
Connection closed ... [preauth]
bei fehlgeschlagenen öffentlichen Schlüsseln im Grunde nichts hat (Sie würdenFailed publickey ...
stattdessen erhalten). Weitere fehlgeschlagene Nachrichten finden Sie unter github.com/fail2ban/fail2ban/blob/… . Verbindung geschlossen bedeutet nur, dass die Verbindung in der Vorbereitungsphase geschlossen wurde (der Benutzer wird also aus irgendeinem Grund nicht authentifiziert).Connection closed…
Meldung für „Fehler beim Verbinden mit einem gültigen Benutzernamen aber falschen öffentlichen Schlüssel“, die das ist letzte Zeile Sie verknüpft.Failed publickey…
Nachricht, sondern nur dieConnection closed…
eine.Unter Ubuntu 18.04 mit OpenSSH 7.6p1 musste ich die " cmnfailre " -Regeln in /etc/fail2ban/filter.d/sshd.conf um erweitern
um SSH-Anmeldeversuche ohne korrekten SSH-Schlüssel abzugleichen:
quelle
sshd.conf
nur mit dieser Zeile zu erweitern , oder gibt es die einzige Möglichkeit, das Ganze zu kopieren.local
und dort hinzuzufügen?/etc/fail2ban/filter.d/sshd.local
wie diese `[Definition] failregex =% (bekannt / failregex) s% (__ prefix_line) sConnection geschlossen durch Authentifizierung Benutzer <F-USER> + </ F-USER> <host> Port \:. d + [preauth] $ `.conf
nicht überschreiben? Das war mein Hauptanliegen. Ich habe das.local
ursprünglich erstellt, aber nur die gesamte Konfiguration kopiert und den neuen Filter hinzugefügtfailregex
, aufgrund von%(known/failregex)s
. Sie können dies bestätigen, indem Siesudo fail2ban-regex -v /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
vor und nach dem Hinzufügen der genannten Datei ausführen. Die Anzahl der Failregex-Einträge erhöht sich um 1.Für mich funktioniert dies besser, da ich Tonnen von legitimen Protokolleinträgen erhalte, die mit dem regulären Ausdruck "Verbindung geschlossen" übereinstimmen, zumindest in OpenSSH 6.6.1-Varianten. Glauben Sie, dass es auch das neue OpenSSH-Protokollformat abdeckt, das "Port" enthält:
quelle