Red de conocimiento informático - Conocimiento informático - ¿Cómo defenderse de los constantes ataques de la botnet al puerto 80 del servidor del sitio web?

¿Cómo defenderse de los constantes ataques de la botnet al puerto 80 del servidor del sitio web?

Guía para interpretar DDOS y defenderse de ataques DDOS

1.

Con el aumento del ancho de banda de Internet y el lanzamiento continuo de una variedad de herramientas de piratería DDOS, los ataques de denegación de servicio DDOS son cada vez más fáciles de implementar y los incidentes de ataques DDOS se están convirtiendo en una tendencia al alza. Debido a diversos factores, como la competencia empresarial, las represalias y la extorsión en la red, muchas salas de alojamiento de IDC, sitios comerciales, servidores de juegos, redes de chat y otros proveedores de servicios de red se han visto afectados por ataques DDOS durante mucho tiempo, seguidos de quejas de los clientes implicados. usuarios de hosts virtuales, disputas legales, pérdidas comerciales y una serie de otros problemas. Por lo tanto, resolver el problema de los ataques DDOS se ha convertido en una máxima prioridad para los proveedores de servicios de red.

2. ¿Qué es DDOS?

DDOS es la abreviatura de Distributed Denial of Service en inglés, que significa “Denegación de Servicio Distribuido”. Entonces, ¿qué es la Denegación de Servicio? Se puede entender que cualquier comportamiento que provoque que los usuarios legítimos no puedan acceder a los servicios normales de la red se considera un ataque de denegación de servicio. En otras palabras, el propósito de un ataque de denegación de servicio es muy claro: impedir que los usuarios legítimos accedan a los recursos normales de la red, logrando así el propósito ulterior del atacante. Aunque también es un ataque de denegación de servicio, DDOS y DOS siguen siendo diferentes. La estrategia de ataque de DDOS se centra en enviar una gran cantidad de archivos aparentemente legítimos al host de la víctima a través de muchos "hosts zombis" (hosts que han sido invadidos por atacantes). o puede usarse indirectamente). paquetes de usuarios legítimos, lo que hace que los usuarios legítimos no puedan acceder a los recursos de red del servidor normalmente. Por lo tanto, los ataques de denegación de servicio también se denominan "ataques de inundación". Los métodos de ataque DDOS comunes incluyen SYN Flood, ACK Flood, UDP Flood, ICMP Flood, TCP Flood. Connections Flood, Script Flood, Proxy Flood, etc., mientras que DOS se centra en explotar vulnerabilidades específicas en el host para provocar fallas en la pila de la red, fallas del sistema, fallas del host e incapacidad para proporcionar funciones normales de servicio de red, lo que provoca denegación de servicio. Los métodos de ataque incluyen TearDrop, Land, Jolt, IGMP Nuker, Boink, Smurf, Bonk, OOB, etc. En lo que respecta a estos dos tipos de ataques de denegación de servicio, los más dañinos son principalmente los ataques DDOS porque son difíciles de prevenir. En cuanto a los ataques DOS, se pueden prevenir parcheando el servidor host o instalando un software de firewall. Se presentará en detalle más adelante cómo lidiar con los ataques DDOS.

3. ¿Ha sufrido un ataque DDOS?

Hay dos formas principales de DDOS. Una es el ataque de tráfico, que es principalmente un ataque al ancho de banda de la red, es decir, una gran cantidad de paquetes de ataque provocan el bloqueo del ancho de banda de la red y los paquetes de red legítimos. el otro es un ataque de agotamiento de recursos, que es principalmente un ataque al host del servidor, es decir, a través de una gran cantidad de paquetes de ataque, la memoria del host se agota o la CPU se agota. ocupado por el kernel y las aplicaciones, lo que resulta en la incapacidad de proporcionar servicios de red.

¿Cómo determinar si una web ha sufrido un ataque de tráfico? Puede probarlo mediante el comando Ping. Si descubre que el tiempo de espera de Ping o la pérdida de paquetes son graves (suponiendo que sea normal), es posible que haya sufrido un ataque de tráfico en este momento, si descubre que el servidor está conectado al mismo. Cambie ya que no se puede acceder a su host. Básicamente es seguro que ha sufrido un ataque de tráfico. Por supuesto, la premisa de esta prueba es que el protocolo ICMP entre usted y el servidor host no esté bloqueado por enrutadores, firewalls y otros equipos. De lo contrario, puede utilizar el puerto de servicio de red del servidor host Telnet para realizar la prueba y el efecto será. lo mismo.

Pero una cosa es segura: si hacer ping a su servidor host y al servidor host conectado al mismo conmutador es normal y, de repente, ambos no pueden hacer ping o hay una pérdida grave de paquetes, entonces, si se puede eliminar el factor de falla de la red, definitivamente será causado. por una falla de red Otro fenómeno típico de los ataques de tráfico es que una vez que usted es atacado por el tráfico, encontrará que la conexión al servidor del sitio web mediante un terminal remoto fallará.

En comparación con los ataques de tráfico, los ataques de agotamiento de recursos son más fáciles de juzgar. Si normalmente hace ping al host del sitio web y accede al sitio web normalmente, de repente encontrará que el acceso al sitio web es muy lento o inaccesible y el ping aún falla. Si se puede pasar el ping, es probable que haya sufrido un ataque de agotamiento de recursos. En este momento, si usa el comando Netstat -na en el servidor, observe que hay una gran cantidad de SYN_RECEIVED, TIME_WAIT, FIN_WAIT_1 y otros. estados, pero muy pocos ESTABLECIDOS, se puede determinar que definitivamente está sufriendo un ataque de agotamiento de recursos. Otro fenómeno que es un ataque de agotamiento de recursos es que no se puede hacer ping al ping del servidor del propio sitio web o que la pérdida de paquetes es grave, mientras que el ping del servidor en el mismo conmutador que el propio host es normal. El host del sitio web es atacado como resultado, la utilización de la CPU del kernel del sistema o de algunas aplicaciones llega a 100 y no puede responder al comando Ping. De hecho, el ancho de banda todavía está disponible; de ​​lo contrario, no se puede hacer ping al host conectado al mismo conmutador. .

Actualmente existen tres ataques DDOS populares:

1. Ataque de inundación SYN/ACK:

Este método de ataque es el método DDOS clásico y más eficaz. puede eliminar los servicios de red de varios sistemas, principalmente enviando una gran cantidad de paquetes SYN o ACK con IP de origen y puertos de origen falsificados al host de la víctima, lo que hace que los recursos de caché del host se agoten o estén ocupados enviando paquetes de respuesta, lo que provoca una denegación de Todos son falsos, por lo que es difícil localizarlos. La desventaja es que son difíciles de implementar y requieren el soporte de hosts zombies de gran ancho de banda. Una pequeña cantidad de este ataque hará que el servidor host sea inaccesible, pero se puede hacer ping. El uso del comando Netstat -na en el servidor observará una gran cantidad de estados SYN_RECEIVED. Una gran cantidad de estos ataques provocarán fallas en el ping. Falla de la pila TCP/IP. Falla y el sistema se congelará, es decir, no responderá al teclado ni al mouse. La mayoría de los cortafuegos habituales no pueden resistir este tipo de ataques.

2. Ataque de conexión completa TCP:

Este ataque está diseñado para eludir la inspección de los firewalls convencionales. En circunstancias normales, la mayoría de los firewalls convencionales tienen la capacidad de filtrar DOS como TearDrop y. Land tiene la capacidad de atacar, pero se ignoran las conexiones TCP normales. Sin embargo, muchos programas de servicios de red (como IIS, Apache y otros servidores web) pueden aceptar una cantidad limitada de conexiones TCP. incluso normal También hará que el acceso al sitio web sea muy lento o incluso inaccesible. Un ataque de conexión completa TCP utiliza muchos hosts zombies para establecer continuamente una gran cantidad de conexiones TCP con el servidor víctima hasta que la memoria del servidor y otros recursos se agotan y se arrastran. , provocando así denegación de servicio. La característica de este ataque es que puede eludir la protección de firewalls generales para lograr el propósito del ataque. La desventaja es que necesita encontrar muchos hosts zombies y debido a la IP del zombie. Los hosts están expuestos, es fácil de rastrear.

3. Ataque de script:

Este tipo de ataque está dirigido principalmente a sitios web que tienen programas de script como ASP, JSP, PHP, CGI, etc., y llaman a bases de datos como ésta. como MSSQLServer, MySQLServer, Oracle, etc. Diseñado para el sistema, su característica es establecer una conexión TCP normal con el servidor y enviar continuamente consultas, listas y otras llamadas que consumen una gran cantidad de recursos de la base de datos al programa script. Es un método de ataque típico a pequeña y gran escala.

En términos generales, el consumo y el uso de ancho de banda del cliente al enviar una instrucción GET o POST son casi insignificantes. Sin embargo, para procesar esta solicitud, es posible que el servidor tenga que encontrar un determinado registro entre decenas de miles de registros. El consumo de recursos es muy grande. Los servidores de bases de datos comunes rara vez admiten la ejecución de cientos de instrucciones de consulta al mismo tiempo, pero esto es fácil para el cliente, por lo que el atacante solo necesita enviar una gran cantidad de consultas al servidor host. a través del agente Proxy, las instrucciones de consulta solo toman unos minutos para consumir los recursos del servidor y causar denegación de servicio. Los fenómenos comunes son que el sitio web es lento como un caracol, el programa ASP falla, PHP no puede conectarse a la base de datos y el El programa principal de la base de datos ocupa una gran cantidad de CPU. La característica de este ataque es que puede eludir por completo la protección de firewall ordinaria y es fácil encontrar algunos agentes Proxy para llevar a cabo el ataque. La desventaja es que el efecto en sitios web que solo tienen páginas estáticas se reducirá considerablemente y algunos Proxy. expondrá la dirección IP del atacante.

4. ¿Cómo resistir DDOS?

Lidiar con DDOS es un proyecto sistemático. No es realista confiar únicamente en un determinado sistema o producto para prevenir DDOS. Lo cierto es que actualmente es imposible eliminar completamente DDOS, pero se puede resistir. a través de medidas adecuadas se puede lograr el 90% de los ataques DDOS. Dado que tanto el ataque como la defensa tienen costos generales, si se mejora la capacidad de resistir DDOS a través de métodos apropiados, significa aumentar los costos de ataque del atacante. Continuar y darse por vencido, lo que equivale a resistir con éxito un ataque DDOS. Los siguientes son los años de experiencia y sugerencias del autor para resistir DDOS, ¡y me gustaría compartirlos con usted!

1. Utilice equipos de red de alto rendimiento

En primer lugar, debemos asegurarnos de que los equipos de red no puedan convertirse en un cuello de botella a la hora de elegir enrutadores, conmutadores, firewalls de hardware y otros equipos. , intente elegir aquellos con gran reputación y buena reputación. Además, sería mejor si tuviera una relación o acuerdo especial con el proveedor de la red. Cuando se produce una gran cantidad de ataques, es muy eficaz pedirles que limiten el tráfico en los puntos de la red para combatir ciertos tipos de ataques DDOS.

2. Intente evitar el uso de NAT.

Ya sea un enrutador o un dispositivo de pared de protección de hardware, intente evitar el uso de NAT de traducción de direcciones de red, porque el uso de esta tecnología reducirá en gran medida la comunicación de la red. De hecho, la razón es muy simple, porque NAT necesita convertir direcciones de un lado a otro, y la suma de verificación de los paquetes de red debe calcularse durante el proceso de conversión, por lo que se consume mucho tiempo de CPU. desperdiciado, pero a veces se debe usar NAT, entonces no hay una buena manera.

3. Garantía de ancho de banda de red suficiente

El ancho de banda de la red determina directamente la capacidad de resistir ataques. Si solo hay 10 M de ancho de banda, no importa qué medidas se tomen, será difícil resistir. Para los ataques actuales, para los ataques SYNFlood, actualmente debe elegir al menos 100 M de ancho de banda compartido y, por supuesto, la mejor opción es colgarlo en una red troncal de 1000 M. Pero debe tenerse en cuenta que el hecho de que la tarjeta de red en el host sea de 1000 M no significa que su ancho de banda de red sea Gigabit. Si está conectado a un conmutador de 100 M, su ancho de banda real no excederá los 100 M, y si está conectado. a 100M El ancho de banda no significa que haya un ancho de banda de 100M, porque es probable que el proveedor de servicios de red limite el ancho de banda real en el conmutador a 10M. Esto debe entenderse.

4. Actualice el hardware del servidor host

Siempre que el ancho de banda de la red esté garantizado, intente mejorar la configuración del hardware para combatir eficazmente 100.000 paquetes de ataque SYN por segundo. configuración Al menos debería ser: P4 2.4G/DDR512M/SCSI-HD Las funciones clave son principalmente CPU y memoria. Si tiene una CPU dual Zhiqiang, úsela. La memoria debe ser memoria DDR de alta velocidad y el disco duro. debe ser SCSI, no seas codicioso por el bajo precio y la cantidad suficiente de IDE, de lo contrario pagarás un precio de alto rendimiento. Además, la tarjeta de red debe ser de marcas famosas como 3COM o Intel. , úselo en su propia PC.

5. Convierta el sitio web en una página estática.

Una gran cantidad de hechos han demostrado que convertir el sitio web en una página estática tanto como sea posible no solo puede mejorar en gran medida la capacidad de resistir ataques, pero también trae mayores riesgos de seguridad para los piratas informáticos. Muchos problemas, al menos hasta ahora no ha aparecido el desbordamiento de HTML, ¡echemos un vistazo! Los sitios web de portales como Sina, Sohu y NetEase son principalmente páginas estáticas. Si no necesita llamadas de script dinámicas, muévalas a otro host separado para evitar dañar el servidor principal cuando sea atacado. Algunas páginas innecesarias aún pueden crear un script de llamada a la base de datos. Además, es mejor denegar el acceso usando un proxy en el script que necesita llamar a la base de datos, porque la experiencia muestra que el 80% de las personas usan un proxy. acceder a su sitio web son comportamientos maliciosos.

6. Mejorar la pila TCP/IP del sistema operativo

Como sistemas operativos de servidor, Win2000 y Win2003 tienen cierta capacidad para resistir ataques DDOS, pero no se activan. Por defecto, si está activado, puede resistir alrededor de 10,000 paquetes de ataques SYN. ​​Si no está activado, solo puede resistir cientos de ellos. Para obtener detalles sobre cómo activarlo, lea el artículo de Microsoft. "Refuerzo de la seguridad de la pila TCP/IP". Algunas personas pueden preguntar, ¿qué debo hacer si uso Linux y FreeBSD? ¡Es fácil, solo sigue este artículo! 《Cookies SYN》