Ich betreibe meinen FHEM-Server unter anderem abgesichert durch fail2ban (https://www.fail2ban.org) und firehol-Blacklisten (https://firehol.org/). Um so ein bisschen Überblick zu haben, wie viele IPs da momentan gebannt sind und wieviele Pakete von außen dadurch abgewehrt werden, hab ich mal ein kleines Python-Script geschrieben.
Ist im Endeffekt ein Serverdienst, der zyklisch konfigurierbare Statistik-Werte der iptables-Firewall (und ipset) einsammelt und per MQTT versendet. Die kann man dann z.B. mit FHEM empfangen und auswerten (und plotten usw):
https://github.com/verybadsoldier/iptables_stats
Das Ganze gibt's hier auch als Docker-Container:
https://hub.docker.com/r/verybadsoldier/iptables_stats
https://github.com/verybadsoldier/docker-iptables_stats
Bei dem Docker-Image gibt's noch keine Beschreibung. Kann ich aber gerne nachreichen, falls Bedarf besteht.
Evtl. hat da ja auch jemand anders Verwendung für...
Wo bzw. wie hast du denn iptables installiert?
Hast du FHEM als bridged Container laufen? Wo läuft dann dein iptables?
Ich muß dir gestehen, das ich an die fail2ban-scripte gegangen bin. Wenn failo2ban eine "Aktion" erkennt, werden "akions" gestartet.- Im Normalfall das Blocken und eventuell Mail. bei mir habe ich ein Zusatzscript geschrieben, was in eine mysql-DB loggt. So ist das ganze "nur" eventgesteuert und super recourcensparend.
Zitat von: FunkOdyssey am 20 März 2019, 15:02:12
Wo bzw. wie hast du denn iptables installiert?
Hast du FHEM als bridged Container laufen? Wo läuft dann dein iptables?
Ich hab bei mir FHEM gar nicht als Docker laufen. Würde aber sowieso iptables auf dem Host laufen lassen.
Ich starte den Container bei mir so:
version: '3'
services:
iptables_stats:
container_name: iptables_stats
image: "verybadsoldier/iptables_stats"
network_mode: "host"
volumes:
- ./iptables_stats.yml:/etc/iptables_stats.yml
cap_add:
- NET_ADMIN
restart: always
Zitat von: Wernieman am 20 März 2019, 18:12:07
Ich muß dir gestehen, das ich an die fail2ban-scripte gegangen bin. Wenn failo2ban eine "Aktion" erkennt, werden "akions" gestartet.- Im Normalfall das Blocken und eventuell Mail. bei mir habe ich ein Zusatzscript geschrieben, was in eine mysql-DB loggt. So ist das ganze "nur" eventgesteuert und super recourcensparend.
Klar, gibt viele Wege. Mir war wichtig, nicht nur fail2ban überwachen zu können, sondern auch andere iptables-Chains. Und vor allem die Kernel-internen ipsets, die ich mit firehol-Listen befülle.
Musst du dann aber nicht wiederum aus FHEM die Datenbank pollen, um die fail2ban-Änderungen mitzubekommen oder hast du das auch per Event gelöst?
Naja .. als ich es implementiert habe, hatte ich noch kein FHEM ;o)
War auch nir ein Hinweis, das es auch andere Wege gibt ...