¿Cómo forzar el "cálculo costoso" cuando los clientes se conectan a mi servidor?

8

Página 183 de Secretos & Miente al contrarrestar los ataques de denegación de servicio:

  

Algunos investigadores han propuesto defensas que obligan al cliente a   realice un cálculo costoso para realizar una conexión . La idea es   que si el cliente tiene que pasar tiempo de cómputo para hacer una conexión,   entonces no puede inundar el objetivo con tantas conexiones.

Forzar al cliente a realizar un cálculo antes de la conexión parece ser una buena forma de combatir DOS ¿Pero hay algunos ejemplos de este método utilizado en la práctica?

Específicamente, ¿cómo puedo usar esta idea para proteger mi servidor HTTP de los ataques de DOS?

    
pregunta Pacerier 09.03.2014 - 15:59
fuente

1 respuesta

8

Creo que esta idea básicamente describe el concepto de prueba de trabajo tal como se usa en anti - Configuraciones de spam o más popularmente Bitcoin.

La prueba de trabajo se utiliza para hacer que el solicitante / remitente realice un pequeño cálculo para demostrar su autenticidad, siguiendo la idea de que los spammers (incluido el spam no relacionado con el correo) evitarán tales sistemas porque les costaría demasiado poder de CPU para enviar su spam.

Sin embargo, no conozco ninguna implementación en el tráfico http "normal", pero parece que definitivamente existen:

Su implementación: los ataques DoS comunes se basan en el protocolo TCP (la base para el tráfico HTTP). Los ataques abusan del protocolo de enlace de tres vías al enviar solicitudes SYN al servidor sin responder las señales SYN-ACK que el servidor envía. Como es la idea principal de un ataque DoS, el servidor solo puede tener tantas solicitudes pendientes y deja de enviarlas a remitentes legítimos de señales SYN en algún momento, por lo que aparece sin conexión. Al agregar una capa adicional en el movimiento de mano de tres vías mediante POW, se evita el DoS de TCP porque los cálculos adicionales necesarios interrumpen el flujo de solicitudes de DoS previsto. Como solo las solicitudes legítimas llegan al servidor, el tráfico HTTP puede fluir libremente y debido a que los cálculos adicionales requeridos por el POW toman solo 0,2-0,3 segundos, el usuario no experimenta un retraso real.

También, esta pregunta podría mantener alguna información relevante

    
respondido por el user3244085 10.03.2014 - 11:09
fuente

Lea otras preguntas en las etiquetas