2010-11-24 19 views
9

¿Cuál es el mejor método para proteger un sitio del ataque DoS. ¿Alguna idea de cómo los sitios/servicios populares manejan este problema?Cómo proteger un sitio web de ataques DoS

¿Cuáles son las herramientas/servicios en la aplicación, sistema operativo, redes, niveles de alojamiento ?.

sería bueno si alguien pudiera compartir su experiencia real con la que tratan.

Gracias

Respuesta

3

¿Seguro que quiere decir DoS no inyecciones? No hay mucho que pueda hacer en un programa de programación web para prevenirlos, ya que se trata más de bloquear puertos de conexión y bloquearlos en la capa física que en la capa de aplicación (programación web).

En cuanto a la forma en que la mayoría de las empresas las evitan, muchas empresas utilizan el equilibrio de carga y granjas de servidores para desplazar el ancho de banda. Además, muchos enrutadores inteligentes monitorean la actividad desde IPs y rangos de IP para asegurarse de que no hay Entran demasiadas consultas (y si es así realiza un bloqueo antes de que llegue al servidor).

Sin embargo, el mayor DoS intencional que se me ocurre es woot.com durante un ataque. Sugiero probar wikipedia (http://en.wikipedia.org/wiki/Denial-of-service_attack#Prevention_and_response) y ver lo que tienen que decir sobre los métodos de prevención.

3

nunca he tenido que lidiar con esto todavía, pero un método común consiste en escribir un pequeño trozo de código para realizar un seguimiento de las direcciones IP que están haciendo una gran cantidad de peticiones en un corto período de tiempo y negarlos antes del procesamiento realmente sucede.

Muchos servicios de alojamiento proporcionan esto junto con el alojamiento, consulte con ellos para ver si lo hacen.

+2

preguntándome si el atacante suplanta la dirección IP, entonces esta técnica no será de mucha ayuda ... Acabo de enterarme de que se puede hacer ip spoofing pero no estoy seguro de lo práctico que será – Mahes

+1

Si su atacante está enviando paquetes maliciosos a un nivel tan bajo que se encuentra en la información de enrutamiento del paquete, entonces el único método que se me ocurre es verificar si hay paquetes TCP malformados o solicitudes HTTP, ya que los atacantes a menudo omiten algunos de los detalles para ahorrar velocidad.Por supuesto, este es un dolor gigantesco, por lo que su utilidad depende de cuánto temes un ataque DDoS. – Actorclavilis

3

Implementé esto una vez en la capa de aplicación. Registramos todas las solicitudes atendidas en nuestras granjas de servidores a través de un servicio al que cada máquina de la granja podía enviar información de solicitud. Luego, procesamos estas solicitudes, agregadas por dirección IP, y marcamos automáticamente cualquier dirección IP que exceda el umbral de una cierta cantidad de solicitudes por intervalo de tiempo. Cualquier solicitud proveniente de un IP marcado recibió una respuesta estándar de Captcha, si fallaron demasiadas veces, se prohibió para siempre (es peligroso si obtiene un DoS de un proxy). Si demostraron ser humano, las estadísticas relacionadas con su IP fueron "puestos a cero".

+2

También hay técnicas que puede usar para denegar solicitudes que se revelan como servicios automatizados. El encabezado User-Agent a menudo es indicativo de esto. Mira esta publicación, tiene mucha información buena. http://success.grownupgeek.com/index.php/2009/08/22/how-block-proxies/ –

1

Bueno, esta es una antigua, pero las personas que deseen hacerlo pueden consultar fail2ban.

http://go2linux.garron.me/linux/2011/05/fail2ban-protect-web-server-http-dos-attack-1084.html

Eso es más de un tipo serverfault de respuesta, en oposición a la construcción de esta en su aplicación, pero yo creo que es el tipo de problema que es muy probable que mejor aborda esa manera. Si la lógica de lo que desea bloquear es compleja, considere que su aplicación solo registre la información suficiente para basar la acción de política de prohibición, en lugar de intentar poner en práctica la política.

Considere también que, dependiendo del servidor web que utilice, puede ser vulnerable a cosas como un ataque slow loris, y no hay nada que pueda hacer al respecto en un nivel de aplicación web.

Cuestiones relacionadas