Fail2Ban und Zugriff auf Docker-Container

Ich hatte heute das Problem, dass Fail2Ban (läuft auf dem Host) zwar munter Regeln in den iptables angelegt hat, aber die Regel keine Wirkung auf alle weitergeleiteten Ports der Docker-Container hatte.

Die Lösung dafür ist relativ einfach – man darf die Regeln nur nicht als INPUT definieren, sondern muss diese für Forward definieren. Damit Ihr ein etwas leichteres Leben habt, habe ich eine neue Action geschrieben, welche ganz einfach angewendet werden kann:

[INCLUDES]

before = iptables-common.conf

[Definition]

actionstart = <iptables> -N f2bd-<name>
              <iptables> -A f2bd-<name> -j <returntype>
              <iptables> -I FORWARD -p <protocol> -m multiport --dports <port> -j f2bd-<name>

actionstop = <iptables> -D FORWARD -p <protocol> -m multiport --dports <port> -j f2bd-<name>
             <iptables> -F f2bd-<name>
             <iptables> -X f2bd-<name>

actioncheck = <iptables> -n -L FORWARD | grep -q 'f2bd-<name>[ \t]'

actionban = <iptables> -I f2bd-<name> 1 -s <ip> -j <blocktype>

actionunban = <iptables> -D f2bd-<name> -s <ip> -j <blocktype>

[Init]

blocktype = DROP
chain = FORWARD

Für alle Jails, welche für Docker-Container gelten, verwende ich als „banaction“ nur eben diese. Funktioniert bisher einwandfrei!


Beitrag veröffentlicht

in

, ,

von

Schlagwörter: