¿Qué tipo de ataques enfrentará un servidor SMTP si no tiene un límite de velocidad al enviar correos?

2

Suponga que un sitio web con algún tipo de opción de correo electrónico no implementa ningún límite de tasa: esto permite a los usuarios enviar una cantidad ilimitada de correo electrónico por segundo.

¿SMTP enfrentará posibles ataques DoS por eso? ¿O algún tipo de problema? ¿Alguien puede explicar esto?

    
pregunta Arun 07.07.2014 - 07:15
fuente

2 respuestas

0

No importa si usas limitación de velocidad o no. Si está ejecutando un servidor público, que acepta conexiones entrantes, es siempre y en cualquier lugar vulnerable para un DDoS. La limitación de la velocidad puede ser útil para no congestionar el sistema, podría ser una posible contramedida contra el DoS pero, de lejos, no protege completamente contra un ataque DoS.

    
respondido por el 4oxer 07.07.2014 - 10:35
fuente
2

Una de las dificultades para asegurar SMTP reside en el protocolo en sí, específicamente en las advertencias en RFC 5321 que ofrecen proscripciones sobre el tiempo de espera de una sesión. Una implementación fiel no proporciona facilidad para cronometrar una sesión. Lo ideal sería ignorar esas recomendaciones y establecer un tiempo de espera de sesión para la sesión de correo. Esto evitará, por ejemplo, cualquier ataque en el que se utilicen grandes demoras para enviar datos carácter por carácter con grandes tamaños de correo. Por ejemplo, si tiene un servidor de correo con un límite de tamaño de correo de 10 MB, es bastante fácil escribir un script que envíe un correo falso a su servidor y escriba un mensaje de Lorem Ipsum, un carácter a la vez hasta el límite de 10 MB, pero Retrasando cada personaje por 1 - 2 minutos. Teóricamente, sin un límite de sesión, tal sesión de correo podría durar alrededor de 10 millones de minutos. Así que ahora ejecute un script que simplemente inicie bots que hacen esto desde cientos de lugares en la web, y muy pronto los bots tendrán todas sus conexiones vinculadas (asumiendo que tiene límites de conexión o está usando un grupo de conexiones).

Idealmente, uno configuraría un temporizador desde el momento en que se emitió el comando DATA hasta el momento en que se emitió el "CRLF. CRLF". Algo así como 5 minutos aproximadamente para que todos los datos se transmitan debe ser razonable. Y viola el RFC y simplemente interrumpe la conexión si supera ese tiempo de espera. Los clientes bien educados nunca se acercarán a ese límite e incluso las personas que utilizan el terminal de línea de comandos deberían poder enviar datos dentro de ese período de tiempo, suponiendo que saben cómo escribir.

    
respondido por el Steve 22.02.2018 - 05:49
fuente

Lea otras preguntas en las etiquetas