Sie können ufw und fail2b zusammen verwenden, aber wie bereits erwähnt, ist die Reihenfolge der (ufw-) Regeln wichtig.
Standardmäßig verwendet fail2ban iptables und fügt Regeln zuerst in die INPUT-Kette ein. Dies wird ufw weder schaden noch in Konflikt bringen.
Wenn Sie fail2ban vollständig integrieren möchten, um ufw (statt iptables) zu verwenden. Sie müssen eine Reihe von Dateien bearbeiten, einschließlich
/etc/fail2ban/jail.local
jail.local ist der Ort, an dem Sie Ihre Dienste definieren, einschließlich des Ports, an dem sie empfangsbereit sind (denken Sie daran, ssh in einen nicht standardmäßigen Port zu ändern) und welche Aktion Sie ausführen müssen.
** Bitte beachten Sie *: Bearbeiten Sie niemals die jail.conf , Ihre Änderungen sollten in vorgenommen werden jail.local
! Diese Datei beginnt damit:
# Changes: in most of the cases you should not modify this
# file, but provide customizations in jail.local file,
# or separate .conf files under jail.d/ directory
Beachten Sie am Beispiel von ssh auch die Definition eines nicht standardmäßigen Ports =)
[ssh]
enabled = true
banaction = ufw-ssh
port = 2992
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Anschließend konfigurieren Sie fail2ban für die Verwendung von ufw in (eine .conf-Datei für jeden Dienst).
/etc/fail2ban/action.d/ufw-ssh.conf
Die Syntax lautet
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = ufw insert 1 deny from <ip> to any app OpenSSH
actionunban = ufw delete deny from <ip> to any app OpenSSH
Hinweis: Sie konfigurieren fail2ban ufw zu verwenden und neue Regeln einzufügen FIRST mit der „Insert 1“ Syntax. Das Löschen findet die Regel unabhängig von der Reihenfolge.
Es gibt einen schönen Blog-Beitrag, der hier ausführlicher beschrieben wird
http://blog.vigilcode.com/2011/05/ufw-with-fail2ban-quick-secure-setup-part-ii/
[EDIT] Für Ubuntu 16.04+
Standardmäßig ein " defaults-debian.conf
" für den /etc/fail2ban/jail.d
Inhalt
[sshd]
enabled = true
aktiviert den ssh schutz von fail2ban.
Sie müssen es auf falsch setzen.
Dann erstelle eine jail.local, wie du es im Allgemeinen tun würdest, meine würde so aussehen:
[ssh-with-ufw]
enabled = true
port = 22
filter = sshd
action = ufw[application="OpenSSH", blocktype=reject]
logpath = /var/log/auth.log
maxretry = 3
Es gibt bereits eine ufw.conf in der Standardinstallation von fail2ban, so dass Sie keine erstellen müssen.
Die einzige spezifische Änderung für Sie in jail.local ist in action line, wo Sie die betreffende Anwendung für den Schutz platzieren müssen und was Sie als Ergebnis erhalten möchten.
ufw erkennt in der Regel automatisch eine bestimmte Anzahl von Apps, die über das Netzwerk ausgeführt werden. Um die Liste zu haben, tippe einfach sudo ufw app list
. Es wird zwischen Groß- und Kleinschreibung unterschieden.
Wenn Sie fail2ban neu laden, wird die fail2ban-Kette nicht mehr angezeigt, und wenn eine IP-Adresse blockiert wird, wird sie angezeigt sudo ufw status