dann will ich jetzt auch mal eine kleine Anleitung schreiben, die sich zwar aus den anderen Tutorials ableiten lässt, aber vielleicht trotzdem einigen hilft, die neu dabei sind und von der Plesk Eingabemaske verwirrt sind.
Ziel ist es, die in Blocklist gelisteten Adressen per Plesk Fail2ban zu importieren und auszusperren.
In diesem Beispiel importiere ich jede Stunde alle IP-Adressen, die zum Service ssh hinterlegt sind. (Früher habe ich immer alle Services importiert, das sind aber sehr viele IP-Adressen, wobei der Server ewig mit beschäftigt war. teilweise über 1 Stunde. Da bei mir über ssh die meisten Einbruchsversuche kommen, sperre ich erstmal nur diese IPs vorab. Der Rest wird von Fail2ban beim Versuch geblockt.)
Als erstes müssten die Dateien empty.log und blocklist.php in /etc/fail2ban/ Ordner angelegt werden.
Die empty.log bleibt leer.
Der Inhalt der blocklist.php ist folgender
Code: Alles auswählen
<?php
$time = date("H:i",time()-3600);
$src = file_get_contents("https://api.blocklist.de/getlast.php?time=".$time."&service=ssh");
$arr = explode("\n",$src);
foreach($arr as $ip) {
if(trim($ip)=="") continue;
$cmd = "fail2ban-client set ssh-blocklist banip $ip";
exec($cmd);
}
exec("echo \"-\" > /etc/fail2ban/empty.log"); //force reload ip-locks
?>
Dann muss in Plesk das Jail angelegt werden. Folgendes muss in die Felder eingetragen werden:
Name: ssh-blocklist
Filter: sshd - Fehlgeschlagene SSH-Anmeldeversuche
Aktion: im Auswahlfeld "Ip-Tables - Sperren via iptables-Firewall, auf einen einzigen Port" wählen und Hinzufügen klicken
Protokollpfad: /etc/fail2ban/empty.log
Zeitraum für IP-Adress-Sperre: 86400
Maximale Anzahl an fehlgeschlagenen Anmeldeversuchen: 1
Speichern, es ist dann direkt aktiviert, das kann so bleiben.
Dann noch einen Crontab anlegen, der die blocklist.php stündlich ausführt und somit die IP Adressen der letzten Stunde von Blocklist abruft.
Das kann man entweder über die Konsole über crontab -e erledigen:
Code: Alles auswählen
0 */1 * * * php /etc/fail2ban/blocklist.php
Tools & Einstellungen -> Tools & Ressourcen -> Geplante Aufgaben -> Systembenutzer root -> Neue Aufgabe hinzufügen
und wie folgt ausfüllen:
Aktiviert: Haken setzen
Minute: 0
Stunde: */1 (bedeutet jede Stunde, alle 2 Stunden wäre */2 )
Monat: *
Wochentag: *
Befehl: php /etc/fail2ban/blocklist.php
Und auf Ok klicken.
Zur nächsten vollen Stunde kann man unter den gesperrten Adressen viele IPs bewundern.
Hoffe es hilft einigen beim Absichern. Wer will kann so ja auch noch andere Dienste absichern.
Viel Erfolg.
LG, Verena