Bloquear ataques de força bruta no exim2

Bloquear ataques de força bruta no exim2

De repente, algumas pessoas ou computadores estão tentando fazer login no meu servidor linux directadmin.

Nos últimos dias recebi muitas mensagens de ataques de força bruta para Exim2 no Direct Admin.

Já instalei o Fail2Ban & Block_IP.SH está no servidor.

Portanto, se o usuário falhar 15 vezes no login, o endereço IP será bloqueado.

Como posso impedir que os ataques continuem, para que os computadores não tentem mais fazer login?

insira a descrição da imagem aqui

Responder1

Este é um bot distribuído mal escrito. Pelo que sei, esses hosts estão tentando se autenticar em uma conexão não criptografada. Se você precisar de uma conexão segura para autenticar, eles falharão mesmo. No entanto, parece que você está permitindo a autenticação em conexões não criptografadas.

Por padrão, fail2banirá perder esta condição, mas bloqueará após 3 tentativas em 10 minutos. Você pode criar um jail.localarquivo para ajustar o número de falhas necessárias para ser banido fail2banou aumentar o tempo de banimento. fail2ban-clienttambém permite ajustar a configuração enquanto o servidor está em execução. Pode ser necessário criar um exim.localarquivo para filter.dcorresponder às linhas que estão sendo geradas. Eu incluí o conteúdo do meu arquivo exim.local. Você pode usar fail2ban-regexpara testar o regex (você precisará substituir as inclusões do python no regex).

[Definition]

host_info = H=([\w.-]+ )?(\(\S+\) )?\[<HOST>\](:\d+)? ?(I=\[\S+\]:\d+ )?(U=\S+ )?(P=e?smtp )?

failregex = ^%(pid)s %(host_info)s [^:]+: Sender host address is listed in zen.spamhaus.org
        ^%(pid)s %(host_info)s sender verify fail for <\S+>: (?:Unknown user|Unrouteable address|all relevant MX records point to non-existent hosts)\s*$
        ^%(pid)s (plain|login) authenticator failed for (\S+ )?\(\S+\) \[<HOST>\]: 535 Incorrect authentication data( \(set_id=.*\)|: \d+ Time\(s\))?\s*$
        ^%(pid)s %(host_info)s F=(<>|[^@]+@\S+) rejected RCPT [^@]+@\S+: (relay not permitted|Sender verify failed|Unknown user)\s*$
        ^%(pid)s SMTP protocol synchronization error \([^)]*\): rejected (connection from|"\S+") %(host_info)s(next )?input=".*"\s*$
        ^%(pid)s SMTP call from \S+ \[<HOST>\](:\d+)? (I=\[\S+\]:\d+ )?dropped: too many nonmail commands \(last was "\S+"\)\s*$
        \[<HOST>\]: 535 Incorrect authentication data
        ^%(pid)s %(host_info)s Warning: smtp used a hostname$
        ^%(pid)s no MAIL in SMTP connection from (\([^)]+\) )?\[<HOST>\] D=\d+(m\d+)?s( C=.*)?$
        ^%(pid)s SMTP protocol synchronization error \(input sent without waiting for greeting\): rejected connection from %(host_info)s

ignoreregex =

informação relacionada