Я пытаюсь остановить атаку и логи SASL LOGIN authentication failed
с моего почтового сервера. Однако я пытаюсь уже день и все еще не могу этого добиться. Логи продолжают генерировать атаку с тем же IP.
Машина
Linux server 5.4.0-109-generic #123-Ubuntu SMP Fri Apr 8 09:10:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Почта Логи в/var/log/mail.log
Apr 28 20:45:23 server postfix/smtpd[112579]: connect from unknown[5.34.207.81]
Apr 28 20:45:24 server postfix/smtpd[112409]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:25 server postfix/smtpd[112409]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Apr 28 20:45:30 server postfix/smtpd[112599]: connect from unknown[5.34.207.81]
Apr 28 20:45:31 server postfix/smtpd[112579]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:32 server postfix/smtpd[112579]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Apr 28 20:45:36 server postfix/smtpd[112409]: connect from unknown[5.34.207.81]
Apr 28 20:45:38 server postfix/smtpd[112599]: warning: unknown[5.34.207.81]: SASL LOGIN authentication failed: authentication failure
Apr 28 20:45:38 server postfix/smtpd[112599]: disconnect from unknown[5.34.207.81] ehlo=1 auth=0/1 rset=1 quit=1 commands=3/4
Fail2Ban с IPtables
/etc/fail2ban/jail.local
[postfix-sasl]
enabled = true
port = smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s
bantime = 10m
filter = postfix-sasl
#action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 15
Я это сделал sudo service fail2ban restart
, и проблема в том, что я не увидел никакой цепи с f2b-postfix
.
Итак, я сделал grep из fail2ban
логов и вот что получилось:
Fail2Ban Логинится/var/log/fail2ban.log
2022-04-27 16:27:10,133 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 5.34.207.81
2022-04-27 16:27:45,391 fail2ban.actions [567]: NOTICE [postfix-sasl] Ban 5.34.207.81
2022-04-27 16:32:17,801 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 212.70.149.72
2022-04-27 22:37:46,299 fail2ban.actions [567]: NOTICE [postfix-sasl] Unban 5.34.207.81
Fail2Ban с UFW
В ходе своих исследований я пришел к выводу, что Fail2Ban может работать с UFW, поэтому я провел небольшое исследование и вот моя конфигурация:
/etc/fail2ban/jail.local
[postfix-sasl]
enabled = true
journalmatch =
backend = polling
bantime = -1 // Permanent ban? Maybe
filter = postfix-sasl
logpath = /var/log/mail.log
maxretry = 15
banaction = ufw
findtime = 120
Стоит отметить, что я ввел данные вручную, sudo ufw insert 1 deny from 5.34.207.81 to any
но sudo ufw reload
, к сожалению, я все еще вижу атаку с того же IP-адреса в почтовых журналах./var/log/mail.log
решение1
Обновления
Наконец-то Fail2Ban
все получилось так, как и ожидалось, и я отмечу это как ответ!
Решение — установить action
равное для iptables-multiport
запрета нескольких портов! Однако я не использую UFW
для ограничения злоумышленника, поскольку понимаю, UFW
что всегда не включается во время загрузки из-за конфликтов с firewalld
.
Решения
Добавьте эту строку в свой/etc/fail2ban/jail.local
action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]
Это должно выглядеть примерно так:
[postfix-sasl]
enabled = true
filter = postfix-sasl
action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]
logpath = /var/log/mail.log
maxretry = 15
bantime = 12h
Ранее я установил maxretry
значение 3
для целей тестирования. Вы можете изменить его на более высокое значение. Иначе ваш пользователь может быстро попасть в беду.
Проверить статус Fail2Ban
Стоит проверить свою тюрьму:
sudo fail2ban-server status postfix-sasl
Выход:
Status for the jail: postfix-sasl
|- Filter
| |- Currently failed: 2
| |- Total failed: 49
| `- File list: /var/log/mail.log
`- Actions
|- Currently banned: 1
|- Total banned: 3
`- Banned IP list: 5.34.207.81
решение2
Стоит отметить, что в зависимости от количества ваших пользователей вы можете захотеть снизить порог, а в зависимости от количества атак — увеличить время бана.
Я не использую Postfix, а вместо этого использую Exim. Однако проблемы блокировки атакующих те же самые. Здесь вы можете увидеть статус моей тюрьмы Fail2ban, чтобы дать вам представление о размерах ботнетов:
XXXX@XXXX:~# fail2ban-клиент статус exim
Статус джейла: exim
|- Фильтр
| |- В настоящее время не удалось: 0
| |- Всего не удалось: 10380
| - File list: /var/log/exim4/mainlog
- Действия
|- В настоящее время забанено:1763
|- Всего забанено: 5644
`- Список запрещенных IP-адресов: XXXXXXXXXXXX