Anleitung - bearDropper - Fail2Ban Alternative auf OpenWRT
Script-Start
#!/bin/sh
Pakete installieren
opkg update
opkg install ca-certificates libustream-opensslwget -qO- http://rawgit.com/robzr/bearDropper/master/install.sh | sh
# IP nach 5 Versuchen blockieren und für LAN aktivieren
uci set bearDropper.@bearDropper[0].attemptCount=5
uci set bearDropper.@bearDropper[0].banLength=100w
uci add_list bearDropper.@bearDropper[0].firewallHookChain='input_lan_rule:1'
uci add_list bearDropper.@bearDropper[0].firewallHookChain='forwarding_lan_rule:1'
uci commit
/etc/init.d/bearDropper stop
/etc/init.d/bearDropper start
exit
E-Mail Benachrichtigung konfigurieren
Im Programm von bearDropper müssen wir ein Zeile anpassen, um im Falle einer Blockierung eine Benachrichtigung zu erhalten.
vi /usr/sbin/bearDropper
Wir suchen nach der Zeile 233:
...
logLine 1 "Inserting ban rule for IP $ip into iptables chain $firewallChain"
...
Und füge die untere Zeile ein:
...
logLine 1 "Inserting ban rule for IP $ip into iptables chain $firewallChain"
echo "Inserting ban rule for IP $ip into iptables chain $firewallChain" | sendmail <empfänger@yourdomain.com>
...
bearDropper neu starten
/etc/init.d/bearDropper stop
/etc/init.d/bearDropper start
Blockierte IP-Adressen ausgeben
iptables -L bearDropper -v -n
Blockierte IP-Adresse entfernen (unban)
Nachstehende Funktion ist standardmäßig deaktiviert. Blockiert IP-Adressen werden daher ausschließlich im temporären Ordner gespeichert und gehen nach einem Neustart verlogen.
uci set bearDropper.@bearDropper[0].persistentStateWritePeriod=4w
Am einfachsten ist es daher, wenn der Router neu gestartet wird. Ist das nicht möglich kann eine IP wie folgt entfernt werden:
iptables -D bearDropper -s <banned-ip> -j DROP
/etc/init.d/bearDropper stop
rm /tmp/bearDropper.*
/etc/init.d/log restart
/etc/init.d/firewall restart
/etc/init.d/bearDropper start
Dropbear Authentifizierungswarnungen ausgeben
logread | grep authpriv.warn\ dropbear | wc -l
Quelle
GutHub -bearDropper
https://github.com/robzr/bearDropper
Fail2ban replacement and RBL firewall sync'ing - in lightweight ash
https://forum.archive.openwrt.org/viewtopic.php?id=62084&p=2
How to find all ip addresses blocked by iptables -A
https://stackoverflow.com/questions/43976030/how-to-find-all-ip-addresses-blocked-by-iptables-a