Máquina

Máquina

Estou tentando impedir um ataque e fazer login SASL LOGIN authentication failedno meu servidor de e-mail. No entanto, estou tentando há um dia e ainda não consigo. Os logs continuam gerando o ataque com o mesmo IP.

Máquina

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

Login de e-mail/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 com 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

Eu fiz sudo service fail2ban restarte o problema é que não vi nenhuma corrente com f2b-postfix.

Então fiz um grep a partir de fail2banlogs e aqui está o resultado:

Fail2Ban faz login/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 com UFW

Na minha pesquisa, entendi que o Fail2Ban pode funcionar com o UFW, então fiz algumas pesquisas e aqui está minha configuração:

/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

Vale a pena mencionar que eu inseri manualmente, sudo ufw insert 1 deny from 5.34.207.81 to anymas sudo ufw reloadinfelizmente ainda consigo ver o ataque do mesmo IP nos logs de e-mail/var/log/mail.log

Responder1

Atualizações

Por fim, meu Fail2Bantrabalho está dentro do esperado e vou marcar isso como a resposta!

A solução é definir actionigual para iptables-multiportbanir múltiplas portas! Porém, não costumo UFWrestringir o invasor porque percebo que UFWele sempre não está habilitado durante a inicialização devido a conflitos com o firewalld.

Soluções

Adicione esta linha ao seu/etc/fail2ban/jail.local

action = iptables-multiport[name=postfix, port="smtp,ssmtp,465,submission,imap,imaps,pop3,pop3s"]

Deveria ser algo assim:

[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

Anteriormente eu configurei maxretrypara 3fins de teste. Você pode querer alterá-lo para um valor mais alto. Caso contrário, seu usuário poderá rapidamente ter problemas.

Verifique o status do Fail2Ban

Vale a pena conferir sua prisão:

sudo fail2ban-server status postfix-sasl

Saída:

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

Recursos:Fail2Ban não pode definir regras de Iptables:

Responder2

Vale a pena notar que dependendo do número de usuários que você tem, você pode querer diminuir o limite e, com base no número de ataques, talvez aumentar o tempo de banimento.

Eu não uso o Postfix, mas sim o Exim. No entanto, os desafios de bloquear invasores são os mesmos. Aqui você pode ver o status da minha prisão Fail2ban para ter uma ideia dos tamanhos de botnets disponíveis:

XXXX@XXXX:~# status do cliente fail2ban exim

Status da prisão: exim
|- Filtro
| |- Atualmente falhou: 0
| |- Total de falhas: 10380
| - File list: /var/log/exim4/mainlog- Ações
|- Atualmente banidas:1763
|- Total banidos: 5644
`- Lista de IP banidos: XXXXXXXXXXXX

informação relacionada