Ich habe ein Fail2Ban wie folgt konfiguriert:
- Blockiere die IP nach 3 fehlgeschlagenen Versuchen
- Geben Sie die IP-Adresse nach 300 Sekunden frei
Dies funktioniert einwandfrei und ich möchte es so halten, dass ein gültiger Benutzer die Möglichkeit hat, die Anmeldung nach dem Timeout erneut zu versuchen. Jetzt möchte ich eine Regel implementieren, in der, wenn dieselbe IP als Angriff erkannt und blockiert wurde, die Blockierung fünfmal aufgehoben wird, die IP dauerhaft blockiert und die Blockierung nie wieder aufgehoben wird. Kann dies mit fail2ban alleine erreicht werden oder muss ich mein eigenes Skript schreiben, um das zu tun?
Ich mache das in Centos.
Antworten:
Vor 0.11 gab es keine Standardfunktion oder Einstellung in fail2ban , um dies zu erreichen. Ab der bevorstehenden Version 0.11 wird die Sperrzeit jedoch automatisch berechnet und steigt exponentiell mit jeder neuen Straftat an, was auf lange Sicht eine mehr oder weniger dauerhafte Sperrung bedeutet.
Bis dahin ist es wahrscheinlich am besten, fail2ban so einzurichten , dass es seine eigene Protokolldatei überwacht . Es ist ein zweistufiger Prozess ...
Schritt 1
Wir könnten brauchen , um einen Filter zu erstellen zu überprüfen BAN ‚s in der Protokolldatei (fail2ban Protokolldatei)
Schritt 2
Wir müssen das Gefängnis wie folgt definieren ...
Technisch gesehen handelt es sich nicht um einen dauerhaften Block , sondern nur um einen Block für ein Jahr (den wir ebenfalls erhöhen können).
Wie auch immer, für Ihre Frage (Kann dies mit fail2ban alleine erreicht werden oder muss ich mein eigenes Skript schreiben, um das zu tun?) ... das Schreiben eines eigenen Skripts könnte gut funktionieren. Das Einrichten des Skripts zum Extrahieren der häufig gesperrten IP-Adressen und zum anschließenden Speichern dieser IP-Adressen
/etc/hosts.deny
würde ich empfehlen.quelle
sshd_config
, kann dies möglicherweise nur 3 fehlgeschlagene Anmeldungen für eine SSHD- "Sitzung" blockieren - nicht 3 fehlgeschlagene Anmeldungen. Beispielsweise könnte ein Angreifer standardmäßig ['pass1', 'pass2', 'pass3'] in einer einzelnen Sitzung versuchen, bevor sshd die Verbindung trennt. Abhängig davon, wie sshd für die Protokollierung eingestellt ist, kann dies als 1, 2 oder 3 Versuche zu Fail2Ban angezeigt werden.Ich glaube, wenn Sie
bantime = -1
in diesem Konfigurationsabschnitt setzen, ist es ein dauerhafter Block.quelle
bantime
eines negativen Werts ein dauerhaftes Verbot (ab Fail2Ban Version 0.6.1 (16.03.2006))Phil Hagen hat einen ausgezeichneten Artikel zu diesem Thema geschrieben. " Wiederholungstäter dauerhaft mit fail2ban sperren ".
Sein Vorschlag ist der gleiche wie der von Pothi, bietet jedoch eine schrittweise Anleitung.
Dies beinhaltete:
quelle
Die Antwort von Chin zu erweitern ist ziemlich einfach. Bearbeiten Sie einfach die 2 Einstellungen in
/etc/fail2ban/jail.local
, um sie Ihren Vorlieben anzupassen.quelle
fail2ban hat bereits ein Gefängnis, in dem ein Rückfall verboten werden kann. Wenn Sie zuschauen
/etc/fail2ban/jail.conf
, werden Sie feststellen:Wie füge ich in jail.local hinzu?
Für die Prüfung loglevel Sie Sie tun können:
fail2ban-client get loglevel
.Mit der alten Version von fail2ban können Sie diesen Fehler bekommen .
quelle
Gehe zu vim und öffne /etc/fail2ban/jail.conf
und ändern Sie einfach nach
fail2ban service restart
:quelle