Rev 192 | Blame | Compare with Previous | Last modification | View Log | RSS feed
# Fail2Ban action file for firewall-cmd/ipset## This requires:# ipset (package: ipset)# firewall-cmd (package: firewalld)## This is for ipset protocol 6 (and hopefully later) (ipset v6.14).# Use ipset -V to see the protocol and version.## IPset was a feature introduced in the linux kernel 2.6.39 and 3.0.0 kernels.## If you are running on an older kernel you make need to patch in external# modules.[INCLUDES]before = firewallcmd-common.conf[Definition]actionstart = ipset create <ipmset> hash:ip timeout <default-ipsettime> <familyopt>firewall-cmd --direct --add-rule <family> filter <chain> 0 <actiontype> -m set --match-set <ipmset> src -j <blocktype>actionflush = ipset flush <ipmset>actionstop = firewall-cmd --direct --remove-rule <family> filter <chain> 0 <actiontype> -m set --match-set <ipmset> src -j <blocktype><actionflush>ipset destroy <ipmset>actionban = ipset add <ipmset> <ip> timeout <ipsettime> -exist# actionprolong = %(actionban)sactionunban = ipset del <ipmset> <ip> -exist[Init]# Option: chain# Notes specifies the iptables chain to which the fail2ban rules should be# added# Values: [ STRING ]#chain = INPUT_direct# Option: default-ipsettime# Notes: specifies default timeout in seconds (handled default ipset timeout only)# Values: [ NUM ] Default: 0 (no timeout, managed by fail2ban by unban)default-ipsettime = 0# Option: ipsettime# Notes: specifies ticket timeout (handled ipset timeout only)# Values: [ NUM ] Default: 0 (managed by fail2ban by unban)ipsettime = 0# expresion to caclulate timeout from bantime, example:# banaction = %(known/banaction)s[ipsettime='<timeout-bantime>']timeout-bantime = $([ "<bantime>" -le 2147483 ] && echo "<bantime>" || echo 0)# Option: actiontype# Notes.: defines additions to the blocking rule# Values: leave empty to block all attempts from the host# Default: Value of the multiportactiontype = <multiport># Option: allports# Notes.: default addition to block all ports# Usage.: use in jail config: banaction = firewallcmd-ipset[actiontype=<allports>]# for all protocols: banaction = firewallcmd-ipset[actiontype=""]allports = -p <protocol># Option: multiport# Notes.: addition to block access only to specific ports# Usage.: use in jail config: banaction = firewallcmd-ipset[actiontype=<multiport>]multiport = -p <protocol> -m multiport --dports "$(echo '<port>' | sed s/:/-/g)"ipmset = f2b-<name>familyopt =[Init?family=inet6]ipmset = f2b-<name>6familyopt = family inet6# DEV NOTES:## Author: Edgar Hoch and Daniel Black# firewallcmd-new / iptables-ipset-proto6 combined for maximium goodness