Pregunta Tratar con el ataque de comando no válido SMTP


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

En los últimos dos días:

  • conexiones smtp entrantes con comandos no válidos de 39,000 IP únicas
  • Las direcciones IP provienen de varios rangos en todo el mundo, no solo de algunas redes que puedo bloquear
  • El servidor de correo sirve a los usuarios en toda América del Norte, por lo que no puedo bloquear las 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 tratarla de manera efectiva?


8
2017-09-03 16:47


origen


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


Respuestas:


Aquí hay al menos una opción para atacar estas conexiones después de que comiencen a escupir errores. Los clientes válidos y de buen comportamiento no 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. Puedes 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

4
2017-09-03 20:51





Yo instalo fail2ban y bloquear el primer comando inválido.


1
2017-09-03 20:29