Na przykładzie Centos.
Spamerzy to zmora każdego admina trzeba sprawdzać co jakiś czas czy nowe adresy się nie pojawiły i je blokować, co na dłuższą metę jest upierdliwe. Postanowiłem zaprząc do tego zadania fail2ban (posiada on już domyślnie wiele opcji więc polecam pokombinować z innymi - tu opisze tylko pod exima konfigurację). Fail2ban ma za zadanie przeglądać logi i na ich podstawie zablokować na określony czas za pomocą iptables delikwenta który chce na siłę zrobić coś, czego akurat nie chcemy, żeby robił.
W pierwszej kolejności instalujemy fail2ban
yum install fail2ban
następnie go konfigurujemy /etc/faul2ban/jail.conf:
[DEFAULT]
ignoreip = 127.0.0.1/8 # adresacja ip do wykluczenia z reguł
bantime = 600 # jak długo ma trwać
findtime = 600 # czas w którym muszą nastąpić błędne logowania określone w Maxretry w ilości bantime, żeby reguła się załączyła
maxretry = 20 # ilośc prób do zabanowania
backend = auto
[smtpauth-iptables] #Reguła dla exim
enabled = true
filter = smtpauth
action = iptables[name=SMTP, port=smtp, protocol=tcp]
logpath = /var/log/exim/main.log
maxretry = 3
Następnie musimy stworzyć regułę smtpauth
nano /etc/fail2ban/filterd/smtpauth.conf:
# Fail2Ban configuration file
#
# Author: Christoph Haas
# Modified by: Cyril Jaquier
#
# $Revision: 510 $
#
[Definition]
# Option: failregex
# Notes.: regex to match the password failures messages in the logfile. The
# host must be matched by a group named "host". The tag "<HOST>" can
# be used for standard IP/hostname matching and is only an alias for
# (?:::f{4,6}:)?(?P<host>\S+)
# Values: TEXT
#
failregex = \[<HOST>\]: 535 Incorrect authentication data
Jak już mamy to skonfigurowane uruchamiamy fail2ban:
service fail2ban start
jeśli wszystko jest ok (trzeba sobie wyeksperymentować optymalne ustawienia), to uruchamiamy fail2ban na stałe:
chkconfig fail2ban on
Następnie obserwujemy sobie działanie programu w celu analizy konfiguracji:
tail -f /var/log/fail2ban.conf
2014-06-09 08:19:11,343 fail2ban.actions: WARNING [smtpauth-iptables] Ban 190.117.212.81
2014-06-09 08:19:12,355 fail2ban.actions: WARNING [smtpauth-iptables] Ban 178.127.149.245
2014-06-09 08:19:35,374 fail2ban.actions: WARNING [smtpauth-iptables] Ban 112.163.8.4
2014-06-09 08:19:47,389 fail2ban.actions: WARNING [smtpauth-iptables] Ban 110.175.241.141
2014-06-09 08:19:49,417 fail2ban.actions: WARNING [smtpauth-iptables] Ban 122.163.1.132
2014-06-09 08:19:52,436 fail2ban.actions: WARNING [smtpauth-iptables] Ban 36.238.173.119
2014-06-09 08:20:07,454 fail2ban.actions: WARNING [smtpauth-iptables] Ban 113.165.209.9
2014-06-09 08:20:10,470 fail2ban.actions: WARNING [smtpauth-iptables] Ban 190.226.38.61
2014-06-09 08:20:14,485 fail2ban.actions: WARNING [smtpauth-iptables] Ban 115.242.158.139
2014-06-09 08:20:14,504 fail2ban.actions: WARNING [smtpauth-iptables] Ban 118.165.207.142
2014-06-09 08:20:59,531 fail2ban.actions: WARNING [smtpauth-iptables] Unban 202.72.245.42
2014-06-09 08:21:53,558 fail2ban.actions: WARNING [smtpauth-iptables] Ban 113.172.20.62
2014-06-09 08:21:55,584 fail2ban.actions: WARNING [smtpauth-iptables] Unban 188.115.204.36
2014-06-09 08:21:55,596 fail2ban.actions: WARNING [smtpauth-iptables] Unban 115.74.75.131
2014-06-09 08:22:00,605 fail2ban.actions: WARNING [smtpauth-iptables] 92.47.46.222 already banned
2014-06-09 08:22:12,608 fail2ban.actions: WARNING [smtpauth-iptables] Ban 151.74.66.254
2014-06-09 08:22:24,624 fail2ban.actions: WARNING [smtpauth-iptables] Unban 113.186.89.228
2014-06-09 08:22:25,634 fail2ban.actions: WARNING [smtpauth-iptables] Ban 46.62.246.30
2014-06-09 08:22:25,645 fail2ban.actions: WARNING [smtpauth-iptables] Ban 222.254.10.105
2014-06-09 08:22:36,658 fail2ban.actions: WARNING [smtpauth-iptables] Ban 59.176.64.47
2014-06-09 08:22:42,671 fail2ban.actions: WARNING [smtpauth-iptables] Ban 201.255.40.43
2014-06-09 08:22:53,688 fail2ban.actions: WARNING [smtpauth-iptables] Ban 87.236.233.68
2014-06-09 08:22:58,702 fail2ban.actions: WARNING [smtpauth-iptables] Unban 81.21.97.199
2014-06-09 08:23:04,721 fail2ban.actions: WARNING [smtpauth-iptables] Ban 120.61.190.243
2014-06-09 08:23:11,737 fail2ban.actions: WARNING [smtpauth-iptables] Unban 182.68.65.167
2014-06-09 08:23:13,754 fail2ban.actions: WARNING [smtpauth-iptables] Ban 171.255.47.104
2014-06-09 08:23:33,772 fail2ban.actions: WARNING [smtpauth-iptables] Ban 183.81.45.125
2014-06-09 08:23:36,788 fail2ban.actions: WARNING [smtpauth-iptables] Ban 117.0.161.53
2014-06-09 08:23:44,812 fail2ban.actions: WARNING [smtpauth-iptables] Unban 123.21.192.65
2014-06-09 08:23:47,836 fail2ban.actions: WARNING [smtpauth-iptables] Unban 14.163.236.24
2014-06-09 08:24:09,856 fail2ban.actions: WARNING [smtpauth-iptables] Ban 181.66.156.21
Jeśli wszystko działa tak jak powinno to mamy święty spokój i "ajzatyckimi" spamerami.
Powodzenia.