From 1619ab3145c7c27f695e5c3af6909a776dd2efb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Sun, 1 Feb 2015 00:06:56 +0100 Subject: [PATCH 1/3] Added sendmail-geoip-lines.conf --- config/action.d/sendmail-geoip-lines.conf | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 config/action.d/sendmail-geoip-lines.conf diff --git a/config/action.d/sendmail-geoip-lines.conf b/config/action.d/sendmail-geoip-lines.conf new file mode 100644 index 00000000..5f0a42d2 --- /dev/null +++ b/config/action.d/sendmail-geoip-lines.conf @@ -0,0 +1,48 @@ +# Fail2Ban configuration file +# +# Author: Viktor Szépe +# +# + +[INCLUDES] + +before = sendmail-common.conf + +[Definition] + +# Option: actionban +# Notes.: Command executed when banning an IP. Take care that the +# command is executed with Fail2Ban user rights. +# You need to install geoiplookup and the GeoLite or GeoIP databases. +# (geoip-bin and geoip-database-contrib in Debian) +# Tags: See jail.conf(5) man page +# Values: CMD +# +actionban = printf %%b "Subject: [Fail2Ban] : banned from `uname -n` + Date: `LC_TIME=C date -u +"%%a, %%d %%h %%Y %%T +0000"` + From: <> + To: \n + Hi,\n + The IP has just been banned by Fail2Ban after + attempts against .\n\n + Here is more information about :\n + http://bgp.he.net/ip/ + http://www.projecthoneypot.org/ip_ + http://whois.domaintools.com/\n\n + Country:`/usr/bin/geoiplookup -f /usr/share/GeoIP/GeoIP.dat "" | cut -d':' -f2-` + AS:`/usr/bin/geoiplookup -f /usr/share/GeoIP/GeoIPASNum.dat "" | cut -d':' -f2-` + hostname: `/usr/bin/host -t A 2>&1`\n\n + Lines containing IP: in \n + `grep -E '(^|[^0-9])([^0-9]|$)' `\n\n + Regards,\n + Fail2Ban" | /usr/sbin/sendmail -f + +[Init] + +# Default name of the chain +# +name = default + +# Path to the log files which contain relevant lines for the abuser IP +# +logpath = /dev/null From 0430e0daccc684062c9a09f4fa890b3e7a00e8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Sun, 1 Feb 2015 00:24:40 +0100 Subject: [PATCH 2/3] Changelog entry for sendmail-geoip-lines --- ChangeLog | 1 + 1 file changed, 1 insertion(+) diff --git a/ChangeLog b/ChangeLog index f1963b1e..f1a5cc57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -44,6 +44,7 @@ ver. 0.9.2 (2014/XX/XXX) - wanna-be-released - Monit config for fail2ban in /files/monit - New actions: - action.d/firewallcmd-multiport and action.d/firewallcmd-allports Thanks Donald Yandt + - action.d/sendmail-geoip-lines.conf - New status argument, flavor: - fail2ban-client status [flavor] - empty or "basic" works as-is From 4c88a00c28df3558cb23b518bb6316145a0883dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Sz=C3=A9pe?= Date: Fri, 6 Feb 2015 17:22:30 +0100 Subject: [PATCH 3/3] Line notes implemented --- config/action.d/sendmail-geoip-lines.conf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/config/action.d/sendmail-geoip-lines.conf b/config/action.d/sendmail-geoip-lines.conf index 5f0a42d2..4225a3eb 100644 --- a/config/action.d/sendmail-geoip-lines.conf +++ b/config/action.d/sendmail-geoip-lines.conf @@ -14,12 +14,13 @@ before = sendmail-common.conf # Notes.: Command executed when banning an IP. Take care that the # command is executed with Fail2Ban user rights. # You need to install geoiplookup and the GeoLite or GeoIP databases. -# (geoip-bin and geoip-database-contrib in Debian) +# (geoip-bin and geoip-database in Debian) +# The host command comes from bind9-host package. # Tags: See jail.conf(5) man page # Values: CMD # actionban = printf %%b "Subject: [Fail2Ban] : banned from `uname -n` - Date: `LC_TIME=C date -u +"%%a, %%d %%h %%Y %%T +0000"` + Date: `LC_TIME=C date +"%%a, %%d %%h %%Y %%T %%z"` From: <> To: \n Hi,\n @@ -29,9 +30,9 @@ actionban = printf %%b "Subject: [Fail2Ban] : banned from `uname -n` http://bgp.he.net/ip/ http://www.projecthoneypot.org/ip_ http://whois.domaintools.com/\n\n - Country:`/usr/bin/geoiplookup -f /usr/share/GeoIP/GeoIP.dat "" | cut -d':' -f2-` - AS:`/usr/bin/geoiplookup -f /usr/share/GeoIP/GeoIPASNum.dat "" | cut -d':' -f2-` - hostname: `/usr/bin/host -t A 2>&1`\n\n + Country:`geoiplookup -f /usr/share/GeoIP/GeoIP.dat "" | cut -d':' -f2-` + AS:`geoiplookup -f /usr/share/GeoIP/GeoIPASNum.dat "" | cut -d':' -f2-` + hostname: `host -t A 2>&1`\n\n Lines containing IP: in \n `grep -E '(^|[^0-9])([^0-9]|$)' `\n\n Regards,\n