Un ataque DDOS al cargar unos cientos de archivos grandes, ¿qué detiene a alguien?

1

Soy nuevo en el campo de la Seguridad de TI y esencialmente soy un desarrollador en lugar de una persona de redes, por lo tanto, la pregunta puede ser estúpida

Estoy escribiendo un servicio REST expuesto a Internet que acepta archivos para cargar en el servidor, y el tamaño podría ser de hasta 5 MB. Tenemos restricciones en el lado del servidor para no aceptar contenido superior a 5 MB, pero esto sucede después del hecho, es decir, después de que el contenido se haya cargado y ya lo estemos leyendo. Lo que plantea algunas preguntas relacionadas con la seguridad en DDOS de nuestro servicio:

  1. ¿Qué sucede si una red bot comienza a cargar archivos de 100 MB desde 100 máquinas al mismo tiempo? ¿Esto significaría que nuestras tuberías de red están obstruidas al manejar 10 GB de datos y ralentizar a nuestros clientes reales? ¿Cómo podemos incluso detectar un ataque de este tipo en el que la cantidad de servidores es menor? ¿Podemos configurar nuestra infraestructura de TI para bloquear las solicitudes según el tamaño de la carga útil en función del servicio al que se accede (tenemos múltiples servicios alojados en nuestras infraestructuras de TI)?
  2. ¿Puede rechazar las solicitudes de su infraestructura de TI cuya longitud de contenido supera un cierto límite?
  3. En general, para un servidor que acepta solicitudes POST / PUT, ¿cómo se protege de un ataque que simplemente carga archivos en la solicitud POST, aunque el servidor no esté destinado a aceptar cargas de archivos?
pregunta coderSam 28.07.2013 - 17:57
fuente

3 respuestas

5
  

pero esto sucede después del hecho

¿De verdad? Qué servidor web está utilizando (olvidó decirnos). Apache, nginx, lighttpd tienen opciones para limitar el tamaño de una solicitud (la solicitud se descarta si el cliente proporciona un tamaño mayor que el límite en el encabezado o el servidor recibe el límite de datos).

Si desea validar el tamaño antes de cargarlo, tendrá que implementar un applet de java que no sea de espacio aislado.

  

Esto significaría que nuestras tuberías de red están obstruidas al manejar 10 GB de datos

No, no si implementa la gestión de tráfico basada en QOS. Esto puede ser difícil de hacer en el sistema operativo (una vez más, se olvidó de decirnos qué es esto): si está utilizando Apache, eche un vistazo a mod_qos o mod_bw

  

¿Cómo detectamos tal ataque?

Monitorización activa + respuestas automáticas: si está usando un poco de Unix, asegúrese de que su servidor web esté configurado para limitar el tamaño de la publicación y REGISTRAR MENSAJES en caso de violación, luego configure fail2ban para procesar esos mensajes.

  

¿Puedes rechazar solicitudes?

Sí - ver arriba. La única advertencia es que alguien que intente matar a sus servidores puede decirle a los fibs en el encabezado de longitud del contenido (que de todos modos es opcional).

    
respondido por el symcbean 29.07.2013 - 09:53
fuente
2

¿Qué pasaría si el atacante envía los datos al mismo interruptor de banda, pero manteniendo su límite de tamaño? ¿Cuál es la diferencia entre enviar 100 archivos de 100 MB y enviar 10000 archivos de 1 MB?

Si quieres ser inmune para DDOS , lo que puedes olvidar, no puedes . Evento los ataques de los gigantes más grandes son de vez en cuando. Incluso las granjas de servidores más grandes tienen limitaciones de tráfico.

¿Qué pasa si estás bajo ataque? Lo mejor que puedes hacer es identificar las fuentes del ataque y soltarlas en los enrutadores. Pueden ser las IP únicas, pero puede ser necesario descartar todos los rangos de IP, o incluso todo el tráfico de países específicos. Puede (y probablemente afectará) a muchos de sus clientes, pero, con suerte, permitirá que los demás operen.

Algunos de estos bloques pueden crearse mediante scripts, pero en su mayoría es posible que deba tomarse manualmente. ¿Cómo distinguir entre un usuario que carga toda su colección de fotos de verano de solicitudes falsas? ¿Qué tasa de solicitud debe desencadenar una respuesta? Es una pregunta muy difícil, si alguien inocente se bloquea, a menudo es un cliente perdido.

Luego debes devolver el golpe . Un ataque DDOS es tan legal como empujar botellas de plástico viejas en su buzón: debe identificar y deshabilitar a los infractores. Los proveedores de IP deben cerrar a sus clientes que están haciendo daño de manera consciente. Los productores de software deberían reparar sus productos, si la causa del caos es un virus o un gusano. Finalmente, hay instituciones legales que deberían encontrar a los autores de tal ataque.

Honestamente, DDOS es una ofensa tan grande (tomar el control de una gran cantidad de servidores o computadoras domésticas) que tendrías que hacer que algunos enemigos realmente grandes sean el objetivo de tal ataque. Entonces, si no eres rico ni famoso ni influyente ni extremista, las posibilidades de tal ataque son muy bajas.

    
respondido por el Danubian Sailor 29.07.2014 - 12:04
fuente
0

Lea las publicaciones como un byte de transmisión por byte, cuando alcance el límite de 5 MB, simplemente devuelva una excepción y cierre la conexión.

No es difícil manejar las solicitudes de esta manera y los marcos web más actualizados pueden hacer esto.

Como un registro de protección adicional, dirija las direcciones IP y busque inundaciones / subredes de IP en los registros de rechazo y luego aplique una política de eliminación instantánea que haga que el servidor cierre instantáneamente la secuencia de archivos de una IP conocida de dos.

Un usuario típico lo hará una o dos veces, luego dejará de intentarlo y se pondrá en contacto con un administrador o algo así, un pirata informático / botnet seguirá intentándolo sin importar lo que haga, por lo que no es difícil detectar los IP de problema.     

respondido por el War 09.05.2016 - 17:29
fuente

Lea otras preguntas en las etiquetas