Impedir DDoS de una dirección IP falsa [duplicado]

0

Según esta respuesta , es posible enviar un paquete de red con una dirección IP de origen falsificada.

Entonces, qué métodos puede tomar un administrador de servidor para prevenir / bloquear innumerables solicitudes de direcciones IP falsas, asumiendo que no tienen una regularidad conocida (excepto que son muchas), y no tiene la intención de evitar que algunos clientes legítimos desde el servicio (por ejemplo, un servidor web), incluso temporalmente.

    
pregunta Reflection 05.11.2013 - 18:19
fuente

1 respuesta

1

Para la respuesta rápida: use synproxy (como lo ofrece pf de BSD por ejemplo), o un proxy inverso como Nginx si tiene un Apache directamente frente a Internet.

Los problemas reales de DDoS provendrían simplemente de una dirección IP real que es propiedad de botnets y no de una dirección IP falsa. Sin embargo, algunas aplicaciones siguen siendo realmente sensibles al paquete SYN falso, pero esto es simplemente un problema de aplicación explotable por un solo host (también conocido como DoS con una 'D' única) que un DDoS

¿Por qué? Gracias a protocolo de enlace TCP 3 way :

  • El cliente envía un paquete SYN,
  • Los servidores responden con un paquete SYN-ACK,
  • El cliente responde con un paquete ACK,
  • Luego, por fin, se establece la conexión TCP y la solicitud HTTP (por ejemplo) se puede enviar desde el cliente al servidor.

Lo que invalida la dirección IP falsificada es que cada host selecciona una secuencia aleatoria en este intercambio, y para que se establezca la conexión, el ACK final del cliente debe mostrar los dos números de secuencia incrementados de manera válida.

Cuando usa una dirección IP falsificada para su solicitud SYN, por definición nunca recibirá el SYN-ACK del servidor, por lo que nunca tendrá el número de secuencia aleatorio que seleccionó, por lo que nunca podrá completar el protocolo TCP. .

Entonces, cuando usa una dirección IP falsificada, el único "daño" que puede hacer es enviar solicitudes falsas de SYN al servidor, que debería requerir recursos muy bajos en el lado del servidor, y que de hecho, se requiere un recurso insignificante si el servidor o su firewall está usando el synproxy mencionado anteriormente (con esta opción habilitar, la conexión se enviará al servicio de escucha solo cuando el protocolo de enlace de tres vías se haya ejecutado con éxito).

Si no usa synproxy, dependiendo de la forma en que se implementa su servicio, un paquete SYN puede implicar más o menos recursos. El problema con el servidor Apache es que ya se encuentra en un proceso nuevo en la recepción de paquetes SYN, por lo que necesita protegerlo utilizando medidas específicas (agregar Nginx que usa otra implementación que no es sensible a ese problema) o configurar su firewall para mitigar el riesgo (reduzca la cantidad de apretones de manos TCP en curso, reduzca la demora del protocolo, etc., pero a diferencia de las soluciones anteriores, esta puede tener un impacto en clientes legítimos).

    
respondido por el WhiteWinterWolf 05.11.2013 - 20:01
fuente

Lea otras preguntas en las etiquetas