diff options
| author | Lukasz Kasprzak <lukasz.kasprzak@pm.me> | 2026-03-20 19:16:32 +0100 |
|---|---|---|
| committer | Lukasz Kasprzak <lukasz.kasprzak@pm.me> | 2026-03-20 19:16:32 +0100 |
| commit | 39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2 (patch) | |
| tree | 9221704f413398cfb5d5759083b1e7032566820e /straper/db/public/fail2ban/etc-fail2ban/action.d/firewallcmd-rich-rules.conf | |
| parent | 6b59b75c3a294060dea66bdee16ffaf95ae92889 (diff) | |
| download | bin-39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2.tar.gz bin-39711cf6c2ec5a3b4480dcb4800cc3802bda5bf2.zip | |
feat: first fully successful run e2e on straper
Diffstat (limited to 'straper/db/public/fail2ban/etc-fail2ban/action.d/firewallcmd-rich-rules.conf')
| -rw-r--r-- | straper/db/public/fail2ban/etc-fail2ban/action.d/firewallcmd-rich-rules.conf | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/straper/db/public/fail2ban/etc-fail2ban/action.d/firewallcmd-rich-rules.conf b/straper/db/public/fail2ban/etc-fail2ban/action.d/firewallcmd-rich-rules.conf new file mode 100644 index 0000000..75a27d8 --- /dev/null +++ b/straper/db/public/fail2ban/etc-fail2ban/action.d/firewallcmd-rich-rules.conf @@ -0,0 +1,44 @@ +# Fail2Ban configuration file +# +# Author: Donald Yandt +# +# Because of the rich rule commands requires firewalld-0.3.1+ +# This action uses firewalld rich-rules which gives you a cleaner iptables since it stores rules according to zones and not +# by chain. So for an example all deny rules will be listed under <zone>_deny. +# +# If you use the --permanent rule you get a xml file in /etc/firewalld/zones/<zone>.xml that can be shared and parsed easliy +# +# Example commands to view rules: +# firewall-cmd [--zone=<zone>] --list-rich-rules +# firewall-cmd [--zone=<zone>] --list-all +# firewall-cmd [--zone=zone] --query-rich-rule='rule' + +[INCLUDES] + +before = firewallcmd-common.conf + +[Definition] + +actionstart = + +actionstop = + +actioncheck = + +#you can also use zones and/or service names. +# +# zone example: +# firewall-cmd --zone=<zone> --add-rich-rule="rule family='ipv4' source address='<ip>' port port='<port>' protocol='<protocol>' <rich-blocktype>" +# +# service name example: +# firewall-cmd --zone=<zone> --add-rich-rule="rule family='ipv4' source address='<ip>' service name='<service>' <rich-blocktype>" +# +# Because rich rules can only handle single or a range of ports we must split ports and execute the command for each port. Ports can be single and ranges separated by a comma or space for an example: http, https, 22-60, 18 smtp + +fwcmd_rich_rule = rule family='<family>' source address='<ip>' port port='$p' protocol='<protocol>' %(rich-suffix)s + +actionban = ports="<port>"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --add-rich-rule="%(fwcmd_rich_rule)s"; done + +actionunban = ports="<port>"; for p in $(echo $ports | tr ", " " "); do firewall-cmd --remove-rich-rule="%(fwcmd_rich_rule)s"; done + +rich-suffix = <rich-blocktype>
\ No newline at end of file |
