Моя установка fail2ban прервана после обновления dist. Я понятия не имею, почему это перестало работать. Файл журнала больше недели 0 байт. Даже если я вижу в журналах своего сервера, что клиент должен быть заблокирован.
Вот мои jail.conf
(комментарии удалены):
[DEFAULT]
ignoreip = 127.0.0.1
bantime = 600
maxretry = 3
backend = polling
destemail = root@localhost
banaction = iptables-multiport
mta = sendmail
protocol = tcp
action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s]
action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s]
action = %(action_)s
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6
#...
[ispconfig-w00tw00t]
enabled = true
filter = ispconfig-w00tw00t
action = iptables-complete[name=ispconfig-w00tw00t]
logpath = /var/log/apache*/*access.log
maxretry = 1
bantime = 86400
[block-phpmyadmin]
enabled = true
filter = block-phpmyadmin
action = iptables-complete[name=block-phpmyadmin]
logpath = /var/log/apache*/*access.log
maxretry = 1
bantime = 86400
А вот и два моих собственных правила ispconfig-w00tw00t.conf
:
[Definition]
failregex = ^<HOST> -.*"GET \/w00tw00t\.at.*".*
ignoreregex =
. 1110]
[Definition]
failregex = ^<HOST> -.*"GET .*php[Mm]y[Aa]dmin.*".*
ignoreregex =
Я немного взломал скрипт init.d и получил следующие сообщения об ошибке:
WARNING 'findtime' not defined in 'apache-noscript'. Using default value
WARNING 'findtime' not defined in 'pam-generic'. Using default value
WARNING 'findtime' not defined in 'vsftpd'. Using default value
WARNING 'findtime' not defined in 'xinetd-fail'. Using default value
WARNING 'findtime' not defined in 'block-phpmyadmin'. Using default value
WARNING 'findtime' not defined in 'ispconfig-w00tw00t'. Using default value
WARNING 'findtime' not defined in 'ssh-ddos'. Using default value
WARNING 'findtime' not defined in 'apache-multiport'. Using default value
WARNING 'findtime' not defined in 'apache-overflows'. Using default value
WARNING 'findtime' not defined in 'couriersmtp'. Using default value
WARNING 'findtime' not defined in 'wuftpd'. Using default value
WARNING 'findtime' not defined in 'ssh'. Using default value
ERROR /etc/fail2ban/action.d/iptables-multiport.conf and /etc/fail2ban/action.d/iptables-multiport.local do not exist
ERROR Error in action definition iptables-multiport[name=ssh, port="ssh", protocol="tcp]
ERROR Errors in jail 'ssh'. Skipping...
И демон не запускается. Не уверен почему.
Наконец-то мне удалось это исправить. Проблема в том, что действие было переименовано. Поэтому мне нужно было переименовать действие с iptables-complete[name=block-phpmyadmin]
на iptables-allports
. Теперь он работает нормально.