Cómo prevenir ataques TCP SYN Flood
3. Prevención ¿Cómo realizar una prevención eficaz? 1. TCP Wrapper El uso de TCP Wrapper (solo los sistemas tipo Unix admiten esta función, los sistemas NT son inferiores) puede ser útil en algunas situaciones limitadas, como cuando el servidor solo procesa solicitudes de conexión TCP de fuentes IP limitadas y otras conexiones de fuentes no especificadas. La solicitud fue denegada. Esto no es adecuado cuando es necesario prestar servicios al público. Además, los atacantes pueden atacar directamente los servicios TCP protegidos por TCP Wrapper mediante suplantación de IP. Es más, los atacantes pueden disfrazarse de la dirección del propio servidor. 2. Aumentar la capacidad de trabajo pendiente de TCP Aumentar la capacidad de trabajo pendiente de TCP es una solución temporal en lugar de una solución permanente. Por un lado, ocupa más memoria del sistema y, por otro lado, prolonga el tiempo que tarda TCP en procesar la cola de caché. Mientras el atacante continúe realizando SYN Flood, puede lograr el propósito de denegar el servicio.
Acceso del ISP Cuando todos los ISP procesan paquetes IP que ingresan a la red troncal en la frontera, verificarán si la dirección de origen es legal. Si no está dentro del rango de direcciones IP de origen especificado, se considerará una suplantación de IP y se descartará. En un entorno real, el alcance de implementación de esta solución es demasiado amplio. Este es un problema social, no un problema técnico. Detección y prevención de inundaciones TCP SYN 1. Monitoreo de conexiones TCP (interceptación de TCP) Para prevenir eficazmente los ataques de inundaciones TCP SYN y al mismo tiempo garantizar que los usuarios normalmente puedan establecer conexiones legales con el servidor a través de redes lentas, es necesario minimizar la acumulación de TCP del servidor. tiempo de limpieza. La mayoría de los firewalls funcionan en modo de monitoreo de conexión TCP. La mayoría de los firewalls utilizan el modo de monitoreo de conexión TCP. 1. El firewall recibe la solicitud de conexión SYN del cliente Z y establece una entrada de monitoreo local para la conexión; 2. El firewall reenvía la solicitud de conexión al servidor A. 3. El servidor A responde a la solicitud de conexión y devuelve SYN/ACK; actualiza los elementos de la tabla de monitoreo relacionados con la conexión; 4. El firewall reenvía SYN/ACK al cliente Z. 5. El firewall envía ACK al servidor A, y el servidor envía el trabajo pendiente de TCP al servidor A y elimina el trabajo pendiente de TCP de la conexión; en el servidor A. entrada de la tabla; 6. En este momento, dependiendo de si la solicitud de conexión es legal, pueden ocurrir las dos situaciones siguientes: a. Si la solicitud de conexión del usuario Z es legal, el firewall reenviará la conexión al cliente Z; Si el usuario Z Si la solicitud de conexión del usuario Z es ilegal, el firewall reenviará la conexión al cliente Z. Si la solicitud de conexión del usuario Z es ilegal, el firewall reenviará la conexión al cliente Z; La solicitud de conexión del usuario Z es ilegal. Ilegal, el firewall reenviará la conexión al cliente Z. Si la solicitud de conexión del usuario Z es legal, el firewall reenviará el ACK al servidor A y el servidor A ignorará el ACK porque se ha establecido una conexión TCP completa. Si la solicitud de conexión del usuario Z es ilegal, el firewall lo hará. reenviado al servidor A, y el servidor A ignorará el ACK porque se ha establecido una conexión TCP completa c. Si la solicitud de conexión del usuario Z es ilegal, el firewall reenviará el ACK al servidor A, y el servidor A ignorará el ACK; Se ha establecido una conexión TCP completa. Si la solicitud de conexión del usuario Z es ilegal, el firewall reenviará la solicitud de conexión del usuario Z al servidor y envía RST para desconectarse. 7. Comienza el proceso de transferencia TCP. Se puede ver que este método tiene dos limitaciones: 1. Independientemente de si la solicitud de conexión legal se reenvía directamente al servidor A, primero debe juzgarse como una conexión ilegal (no se devuelve ningún ACK) y luego se tomarán medidas para terminar la conexión, lo que al final desperdicia tiempo del servidor. 2. El firewall crea entradas localmente para monitorear las conexiones (similar a la tabla de trabajos pendientes de TCP), que pueden ser explotadas por los atacantes. Puerta de enlace de defensa Skynet DoS El firewall Skynet adopta un método de monitoreo de conexión TCP optimizado. De esta manera, al procesar una solicitud de conexión TCP, el cliente Z primero se aísla del servidor A y luego se juzga si la solicitud de conexión es legal. 1. El firewall recibe la solicitud de conexión SYN del cliente Z; 2. El firewall devuelve un SYN/ACK especialmente procesado al cliente Z para verificar la legitimidad de la conexión. 3. En este momento, dependiendo de si la solicitud de conexión es legal; Puede aparecer un mensaje en una de las dos situaciones siguientes: a. El firewall recibe la respuesta ACK del cliente Z y la solicitud de conexión es legal.
Vaya al paso 4 para continuar; b. El firewall no recibe la respuesta ACK del cliente Z y la solicitud de conexión es ilegal y no será procesada. 4. El firewall establece una entrada de monitoreo orientada a la conexión localmente y registra la solicitud de conexión; -SYN relacionado se envía al servidor A; 5. El firewall recibe la respuesta SYN/ACK del servidor A; 6. El firewall devuelve un ACK, establece un firewall completo y envía ACK al cliente Z, indicando que el proceso de transmisión TCP puede comenzar. . Entre ellos, en el proceso de los pasos 2/3/4/7, se realizan las siguientes operaciones dentro del firewall: 1. En el paso 2, para verificar la legitimidad de la conexión, el firewall realiza un procesamiento especial en el SYN devuelto. /ACK y le indica al cliente que el Cliente Z no transmite datos válidos por el momento. 2. En el paso 3, el firewall recibe el ACK del cliente Z y verifica su legitimidad; 3. En el paso 4, el firewall crea localmente una entrada de monitoreo para la conexión y envía el SYN relacionado con la conexión al servidor A. 4. En el paso 7, el firewall transmite los datos TCP con la entrada de monitoreo Comparar, compare la secuencia. número y ventana, y ajuste el número de secuencia y la ventana para que coincidan. Inicie la transferencia de datos TCP. Aquí, el firewall Skynet proporciona la capacidad de más de 300.000 conexiones simultáneas a través de algoritmos eficientes (hashing de 64 K bits), lo que proporciona una sólida garantía para una transmisión de datos eficiente y confiable.
Espero que te ayude, por favor acepta.