Wenn du Fail2Ban nutzt, kannst du deine Jails mit AbuseIP nutzen. Das ganze soll nichts mit einem “verpfeifen” anderer Teilnehmer zu tun haben, sondern einfach, das überhandnehmende automatisierte Abklopfen nach bekannten Schwachstellen durch diverse Bots.
Beobachten konnte ich das z.B.: als ich einen A Eintrag erstellt hatte, einfach nur um eine Weiterleitung über eine Webseite zu erstellen. Ich erstelle für JEDEN Webspace ein LetsEncrypt Zertifikat. In dem Fall wurde auf einen Service eines anderen Servers verwiesen, plötzlich habe ich SSH Anmeldeversuche mit “BESAGTE_APP-Admin” gesehen. Hier werden alle Stellen gescannt die auf einen Webserver verweisen, sprich je mehr A Einträge und Zertifikate für Webspaces desto mehr Angriffsversuche – teils sogar schon auf bestimmte Codeworte von diversen Applikationen abgestimmt.

Wenn ich mir auf meinem Webserver die SSH Jails ansehen will, komme ich über die “Scrollbare Grenze” in meiner Shell. Um einen kleinen Teil dazu beizutragen, das Internet ein wenig sauberer zu halten, schicke ich diverese Bruteforce Angriffe an AbuseIPDB.
Wie du dies mit ein paar Handgriffen selbst tun kannst, kannst du dir hier ansehen.

Ich möchte dies anhand des SSH Jail erörtern:

Zunächst wollen wir nachsehen, ob Fail2Ban bereits die entsprechenden Verbindungen besitzt. Falls nicht, ist das kein Problem, du kannst die Funktion auch “nachrüsten” – leider aber nur ab der Version 0.10.x (lässt sich mittels “fail2ban -V” überprüfen).

ls /etc/fail2ban/action.d/ | grep abuseipdb.conf

Wenn dieser Befehl eine Datei anzeigt (abuseipdb.conf) ist dein Fail2Ban “bereit zum loslegen”.

Falls nicht:

erstelle die Datei “/etc/fail2ban/action.d/abuseipdb.conf” mit dem Inhalt:

actionban = curl --tlsv1.0 --fail 'https://api.abuseipdb.com/api/v2/report' \
    -H 'Accept: application/json' \
    -H 'Key: <abuseipdb_apikey>' \
    --data-urlencode 'ip=<ip>' \
    --data-urlencode 'comment=<matches>' \
    --data 'categories=<abuseipdb_category>'

vergib die Besitz-Rechte für fail2ban

chown fail2ban abuseipdb.conf

Nun, da die Datei vorhanden ist, öffne deine jail.local um dort nachzusehen ob folgende Textstelle vorhanden ist.

# Report ban via abuseipdb.com.
#
# See action.d/abuseipdb.conf for usage example and details.
#
action_abuseipdb = abuseipdb

Falls nicht, füge diese einfach bei den Actions in deiner jail.local ein.

Nun kannst du nach dem SSH Jail suchen (in nano Strg+W) und unterhalb von:

[sshd]
enabled = true

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode   = normal
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

folgendes einfügen:

# IP bannen und an AbuseIPDB senden
action = %(action_)s
         %(action_abuseipdb)s[abuseipdb_apikey="my-api-key", abuseipdb_category="18,22"]

Hier musst du noch die Stelle “my-api-key” durch deinen echten Api-Key tauschen. Dieser ist kostenlos auf AbuseIPDB.com erhältlich. Du musst dich nur mit einer Mailadresse (Alias?) anmelden und erhältst bis 1000 Meldungen/Tag. Falls du “Webmaster” (Ich mag das Wort einfach nicht) bist kannst du bis 5000 Meldungen/Tag nutzen, wenn du deine Domain registrierst.

Mit der Kategorie 18 gibt man bekannt dass es sich um Bruteforce Attacken handelt mit der 22 dass es um den SSH Port geht. Du kannst die Action mit diversen Angaben bei allen deinen Fail2Ban Jails anwenden, hierfür gibt es eine Liste der Kategorisierung, welche du hier findest: https://www.abuseipdb.com/categories.