Использовал fail2ban в нескольких различных методах и теперь попытался заставить его блокировать попытки взлома через smtp для отправки спама через сервер.
Regex соответствует нормам при тестировании:
Failregex
|- Regular expressions:
| [1] \[<HOST>\]: 535 Incorrect authentication data
|
`- Number of matches:
[1] 147 match(es)
Тюрьма загружается нормально:
2014-03-04 21:16:46,162 fail2ban.server : INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.6
2014-03-04 21:16:46,163 fail2ban.jail : INFO Creating new jail 'exim-auth'
2014-03-04 21:16:46,165 fail2ban.jail : INFO Jail 'exim-auth' uses Gamin
2014-03-04 21:16:46,187 fail2ban.filter : INFO Added logfile = /var/log/exim/main.log
2014-03-04 21:16:46,188 fail2ban.filter : INFO Set maxRetry = 3
2014-03-04 21:16:46,190 fail2ban.filter : INFO Set findtime = 3600
2014-03-04 21:16:46,191 fail2ban.actions: INFO Set banTime = 3600
2014-03-04 21:16:46,205 fail2ban.jail : INFO Creating new jail 'ssh-iptables'
2014-03-04 21:16:46,206 fail2ban.jail : INFO Jail 'ssh-iptables' uses Gamin
2014-03-04 21:16:46,207 fail2ban.filter : INFO Added logfile = /var/log/secure
2014-03-04 21:16:46,208 fail2ban.filter : INFO Set maxRetry = 5
2014-03-04 21:16:46,210 fail2ban.filter : INFO Set findtime = 3600
2014-03-04 21:16:46,211 fail2ban.actions: INFO Set banTime = 3600
2014-03-04 21:16:46,410 fail2ban.jail : INFO Jail 'exim-auth' started
2014-03-04 21:16:46,439 fail2ban.jail : INFO Jail 'ssh-iptables' started
И запреты ssh все еще работают нормально. Даже когда ошибки проходят через журнал, ничего не происходит. Все время синхронизировано, syslog, fail2ban и exim перезапущены.
Основной журнал exim:
2014-03-04 21:16:24 no host name found for IP address 89.xxx.33.33
2014-03-04 21:16:24 auth_plain authenticator failed for ([10.xxx.80.53]) [89.xxx.33.33]: 535 Incorrect authentication data (set_id=jamie@****.co.uk)
2014-03-04 21:16:30 no host name found for IP address 89.xxx.33.33
2014-03-04 21:16:30 auth_plain authenticator failed for ([10.xxx.80.53]) [89.xxx.33.33]: 535 Incorrect authentication data (set_id=jamie@****.co.uk)
2014-03-04 21:16:38 no host name found for IP address 89.xxx.33.33
2014-03-04 21:16:38 auth_plain authenticator failed for ([10.xxx.80.53]) [89.xxx.33.33]: 535 Incorrect authentication data (set_id=jamie@****.co.uk)
(очевидно, что xxx и **** теперь редактируются).
Конфиг для раздела jail.conf:
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure
maxretry = 5
[exim-auth]
enabled = true
filter = exim_auth
action = iptables[name=SMTP, port=25, protocol=tcp]
mail[name=EximAuth, dest=jamie@****.co.uk]
logpath = /var/log/exim/main.log
maxretry = 3
Файл обрабатывается нормально, и я получаю электронное письмо с сообщением об успешном завершении работы тюрьмы.
filter.d / exim_auth.conf:
# Fail2Ban configuration file
#
#
# $Revision$
#
[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>[\w\-.^_]+)
# Values: TEXT
#
failregex = \[<HOST>\]: 535 Incorrect authentication data
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
Если кто-то может понять, почему он не запускается, а также для бонусной точки, где я могу запустить два действия iptables, чтобы заблокировать оба порта 25 и 465, я был бы очень признателен.
Хорошо, я решил свою проблему. Терпение и отсутствие отладки, как обычно.
Все были идеальны. Единственным фактором является чрезмерно большой файл журнала, вызванный взломанной учетной записью, что означает, что fail2ban имеет файл размером 1,2 ГБ для обработки, и это занимало ДОЛГОЕ время.
Установка отладки на 4 показала, что все строки пропущены, быстрая проверка метки времени на каждой показала, что они старые.
Заставьте использовать logrotate, хороший свежий файл, и все запускается нормально.