diff --git a/config/action.d/firewallcmd-ipset-native.conf b/config/action.d/firewallcmd-ipset-native.conf new file mode 100644 index 00000000..757d46ad --- /dev/null +++ b/config/action.d/firewallcmd-ipset-native.conf @@ -0,0 +1,77 @@ +# Fail2Ban action file for firewall-cmd using native ipset implementation +# +# 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 = firewall-cmd --permanent --new-ipset= --type=hash:ip --option=timeout= + firewall-cmd --reload + firewall-cmd --direct --add-rule filter 0 -m set --match-set src -j + +actionstop = firewall-cmd --direct --remove-rule filter 0 -m set --match-set src -j + firewall-cmd --permanent --delete-ipset= + firewall-cmd --reload + +actionban = firewall-cmd --ipset= --add-entry= + +actionunban = firewall-cmd --ipset= --remove-entry= + +[Init] + +# Option: chain +# Notes specifies the iptables chain to which the fail2ban rules should be +# added +# Values: [ STRING ] +# +chain = INPUT_direct + +# Option: bantime +# Notes: specifies the bantime in seconds (handled internally rather than by fail2ban) +# Values: [ NUM ] Default: 600 + +bantime = 86400 + +# Option: actiontype +# Notes.: defines additions to the blocking rule +# Values: leave empty to block all attempts from the host +# Default: Value of the multiport +actiontype = + +# Option: allports +# Notes.: default addition to block all ports +# Usage.: use in jail config: banaction = firewallcmd-ipset[actiontype=] +# for all protocols: banaction = firewallcmd-ipset[actiontype=""] +allports = -p + +# Option: multiport +# Notes.: addition to block access only to specific ports +# Usage.: use in jail config: banaction = firewallcmd-ipset[actiontype=] +multiport = -p -m multiport --dports + +ipmset = f2b- +familyopt = + +[Init?family=inet6] + +ipmset = f2b-6 +familyopt = family inet6 + + +# DEV NOTES: +# +# Author: Edgar Hoch and Daniel Black and Mihail Politaev +# firewallcmd-new / iptables-ipset-proto6 combined for maximium goodness