Manejo del ataque de comando inválido SMTP

8

Uno de nuestros servidores de correo semi ocupados (sendmail) ha tenido muchas conexiones entrantes en los últimos días desde hosts que emiten comandos basura.

En los últimos dos días:

  • conexiones smtp entrantes con comandos no válidos de 39,000 IP únicas
  • las IP provienen de varios rangos de todo el mundo, no solo de algunas redes que puedo bloquear
  • el servidor de correo atiende a usuarios de toda América del Norte, por lo que no puedo simplemente bloquear conexiones de direcciones IP desconocidas
  • ejemplos de comandos incorrectos: http://pastebin.com/4QUsaTXT

No estoy seguro de lo que alguien está tratando de lograr con este ataque, además de molestarme.

¿Alguna idea de qué se trata o cómo tratarlo de manera efectiva?

marca
fuente
1
Como este tráfico no tiene nada que ver con smtp, me pregunto si algún firewall de capa 7 podría dejarlo caer antes de que llegue a sendmail.

Respuestas:

4

Aquí hay al menos una opción para proteger estas conexiones después de que comiencen a escupir errores. Los clientes válidos y de buen comportamiento nunca deberían caer en este tarpit.

dnl # New option in v8.14.0
dnl # Override default limit (of 20) NOOPs (invalid or unsupported SMTP
dnl #   commands) before daemon will throttle connection by slowing
dnl #   error message replies (similar to "confBAD_RCPT_THROTTLE")
define(`MaxNOOPCommands', `5')dnl

También puede usar la función GreetPause, que rechazará a estos clientes porque es poco probable que respeten la pausa. Puede leer más sobre esto aquí: http://www.deer-run.com/~hal/sysadmin/greet_pause.html

dnl # New feature in v8.13.1 (not listed in Companion)
dnl # Set time in milliseconds before sendmail will present its banner
dnl #   to a remote host (spammers won't wait and will already be
dnl #   transmitting before pause expires, and sendmail will
dnl #   refuse based on pre-greeting traffic) 5000=5 seconds
dnl # NOTE: Requires use of FEATURE(`access_db') and "GreetPause" entries
dnl #       in access table
FEATURE(`greet_pause',`5000')dnl
blueben
fuente
1

Instalaría fail2ban y bloquearía el primer comando no válido.

adamo
fuente