Bloquear ataques de fuerza bruta en exim2

Bloquear ataques de fuerza bruta en exim2

De repente, algunas personas o computadoras intentan iniciar sesión en mi servidor Linux DirectAdmin.

Los últimos días recibo muchos mensajes de ataques de fuerza bruta para Exim2 en Direct Admin.

Ya instalé Fail2Ban y Block_IP.SH está en el servidor.

Entonces, si el usuario falla 15 veces al iniciar sesión, la dirección IP se bloqueará.

¿Cómo puedo evitar que los ataques continúen para que las computadoras ya no intenten iniciar sesión?

ingrese la descripción de la imagen aquí

Respuesta1

Este es un bot distribuido mal escrito. Por lo que puedo decir, estos hosts están intentando autenticarse a través de una conexión no cifrada. Si necesita una conexión segura para autenticarse, incluso fallarán. Sin embargo, parece que está permitiendo la autenticación en conexiones no cifradas.

De forma predeterminada, fail2banno se cumplirá esta condición, pero se bloqueará después de 3 intentos en 10 minutos. Puede crear un jail.localarchivo para ajustar la cantidad de fallas necesarias para ser prohibido fail2bano aumentar el tiempo de prohibición. fail2ban-clientTambién le permite ajustar la configuración mientras el servidor está en ejecución. Es posible que necesite crear un exim.localarchivo que filter.dcoincida con las líneas que se están generando. He incluido el contenido de mi exim.local. Puede usarlo fail2ban-regexpara probar expresiones regulares (deberá reemplazar las inclusiones de Python en la expresión regular).

[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 =

información relacionada