From d0887f32345f34ebc2828751edf299be5f643ea7 Mon Sep 17 00:00:00 2001 From: ediazrod Date: Thu, 26 Feb 2015 18:48:31 +0100 Subject: [PATCH] This is a especific configuration for shorewall ipset proto6 Use ipset proto6 in shorewall. You must follow the rules to enable ipset in you blacklist if you have a lot of spam (my case) is better use ipset rather than shorewall command line (is my firewall) stop fail2ban with shorewall on one list of 1000 Ips takes 5 min with ipset in shorewall 10 sec. --- config/action.d/shorewall-ipset-proto6.conf | 84 +++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 config/action.d/shorewall-ipset-proto6.conf diff --git a/config/action.d/shorewall-ipset-proto6.conf b/config/action.d/shorewall-ipset-proto6.conf new file mode 100644 index 00000000..b18fda6d --- /dev/null +++ b/config/action.d/shorewall-ipset-proto6.conf @@ -0,0 +1,84 @@ +# Fail2Ban configuration file +# +# Author: Eduardo Diaz +# +# This is for ipset protocol 6 (and hopefully later) (ipset v6.14). +# for shorewall +# +# Use this setting in jail.conf to modify the name and the max time in every jain +# action = shorewall-ipset-proto6[name=SSH, bantime=10000] +# +# This requires the program ipset which is normally in package called ipset. +# +# IPset was a feature introduced in the linux kernel 2.6.39 and 3.0.0 kernels. +# +# The default Shorewall configuration is with "BLACKLISTNEWONLY=Yes" (see +# file /etc/shorewall/shorewall.conf). This means that when Fail2ban adds a +# new shorewall rule to ban an IP address, that rule will affect only new +# connections. So if the attempter goes on trying using the same connection +# he could even log in. In order to get the same behavior of the iptable +# action (so that the ban is immediate) the /etc/shorewall/shorewall.conf +# file should me modified with "BLACKLISTNEWONLY=No". +# +# A lot of this depends of the shorewall version at least have the 4.5.5 Version +# +# Enable to shorewall use a blacklist using iptables creating a file /etc/shorewall/blrules +# and adding "DROP net:+f2b-ssh all" one for every jail +# details in shorewall documentation blacklist. +# to enable restore you ipset You must set SAVE_IPSETS=Yes in shorewall.conf +# Is importan to read this documentation from shorewall http://shorewall.net/ipsets.html +# +# To force create the ipset in the case that somebody delete the ipset create a file +# /etc/shorewall/initdone and add one line for every ipset (this files are in Perl) +# take care of add 1; at the end of the file +# the example is: +# system("/usr/sbin/ipset -quiet -exist create f2b-ssh hash:ip timeout 600 "); +# 1; +# +# To destroy the ipset in shorewall you must add to the file /etc/shorewall/stopped +# # One line of every ipset +# system("/usr/sbin/ipset -quiet destroy f2b-ssh "); +# 1; # This must go to the end of the file if not shorewall complilation fails +# +# + + +[Definition] + +# Option: actionstart +# Notes.: command executed once at the start of Fail2Ban. +# Values: CMD +# +actionstart = if ! ipset -quiet -name list f2b- >/dev/null; + then ipset -quiet -exist create f2b- hash:ip timeout ; + fi + +# Option: actionstop +# Notes.: command executed once at the end of Fail2Ban +# Values: CMD +# +actionstop = ipset flush f2b- + +# Option: actionban +# Notes.: command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionban = ipset add f2b- timeout -exist + +# Option: actionunban +# Notes.: command executed when unbanning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionunban = ipset del f2b- -exist + +[Init] + +# Option: bantime +# Notes: specifies the bantime in seconds (handled internally rather than by fail2ban) +# Values: [ NUM ] Default: 600 +# +bantime = 600