Pregunta teórica sobre la prevención DDoS del servidor de juegos

0

Es posible que no entienda cómo funcionan los ataques DDoS en este momento, pero me pregunto si esto funcionaría para un servidor de juegos.

SI cada vez que se intenta una nueva conexión y el paquete o el tipo de conexión no es similar al de un jugador normal, ¿bloquear la conexión?

No veo ninguna razón para que el servidor permita conexiones que no son necesarias para jugar. Solo 1 puerto estaría abierto. El único inconveniente que veo es que la CPU se vería sometida a mucho estrés con grandes ataques.

Pero en su mayor parte, ¿no funcionaría bien?

Puede que esté completamente equivocado y fuera de la base, así que solo estoy publicando aquí para averiguarlo.

    
pregunta ThatGuy343 17.01.2015 - 07:51
fuente

4 respuestas

3

Un ataque DDoS no satura necesariamente la capacidad de la red, cualquier recurso que se pueda agotar para hacer que la aplicación no pueda atender las solicitudes se puede usar para lograr un DoS.

Como dices:

  

El único inconveniente que veo es que la CPU se verá sometida a mucho estrés con grandes ataques.

La CPU es definitivamente un recurso que puede agotarse para lograr un DoS. En el caso de un servidor de juegos, este es probablemente un escenario particularmente común dado que el servidor de juegos probablemente realiza operaciones complejas del lado del servidor.

  

no es similar al de un jugador normal

Sospecho que determinar qué es no normal es otra tarea muy desafiante y subjetiva. Me imagino que los desarrolladores de juegos realizan un esfuerzo considerable en el desarrollo de límites de velocidad razonables para operaciones computacionalmente costosas para equilibrar la prevención DoS sin afectar el juego legítimo. Sin embargo, dudo que obtengan este balance correcto el 100% del tiempo, al igual que los desarrolladores no siempre pueden prevenir vulnerabilidades y errores el 100% del tiempo.

    
respondido por el thexacre 17.01.2015 - 08:04
fuente
0

Los ataques DDOS no son solo contra los recursos del Servidor, también lo son contra el ancho de banda. Los ataques más recientes tuvieron un consumo de ancho de banda de hasta 1 Tbps.

El bloqueo de IP no ayudará, ya que el cortafuegos todavía tiene que eliminar una gran cantidad de paquetes / conexiones de múltiples fuentes y en un corto período de tiempo el servidor se queda sin su ancho de banda asignado / disponible.

Los usuarios de juegos deben aceptar el tráfico en ciertos puertos a través de Internet para asegurarse de que los usuarios puedan acceder a ellos sin importar su ubicación. La mayoría de los servidores de juegos tienen servidores dedicados por región.

Los niños de secuencias de comandos en realidad no inician sesión en los servidores de juegos, simplemente intentan abrumar el ancho de banda / servidor para que los usuarios legítimos no puedan acceder a ellos.

    
respondido por el ciphercodes 17.01.2015 - 14:43
fuente
0

TL; DR El hardware potente es probablemente la única defensa para los ataques DDoS a gran escala. El bloqueo de la IP de los usuarios puede ayudar, pero también puede ser contraproducente, ya que los jugadores reales podrían usarse en DDoS contra ti sin saberlo. El manejo de la conexión del servidor es rápido y liviano, para evitar agregar formas adicionales de ataque.

En primer lugar, el servidor no debe permitir que una conexión haga nada hasta que se haya autenticado y se haya demostrado que es un usuario válido. No hay ninguna razón por la que el servidor deba hacer algo por conexiones no válidas. Sus jugadores deben tener cuentas en su servidor, y deben iniciar sesión con una contraseña. El servidor no debe hacer nada con una conexión hasta que puedan iniciar sesión correctamente. Cualquier manejo costoso solo debería ocurrir después de que se haya completado el inicio de sesión. Podría ir un paso más allá y bloquear la dirección IP de cualquiera que realice demasiados intentos de inicio de sesión incorrectos, pero esto probablemente no ayude mucho por las razones a continuación ...

Intentar bloquear las conexiones en el software no detendrá un verdadero ataque DDoS. En el mejor de los casos, funcionaría en un escenario específico en el que ha enfurecido a un foro de miles de miembros, quienes decidieron tomar represalias al pasar todo el día intentando iniciar sesión en su servidor. Plausible, pero no una forma eficiente de atacar. Bloquearlos reduciría la carga en su servidor de juegos si tiene un esquema de autenticación algo caro.

Una verdadera DDoS, sin embargo, ignora su protocolo de inicio de sesión. Opera en las capas inferiores de la red; antes de que su aplicación sepa que se ha recibido un paquete. Estos tipos de ataques no pueden ser mitigados más que por un hardware que sea lo suficientemente poderoso como para soportar más abusos que los atacantes. Los cortafuegos de hardware especiales pueden ayudar aquí. El propio firewall puede bloquear las conexiones en función de su propia lógica, pero aún así tiene límites. Un firewall más caro podría tener límites más altos, pero aún así probablemente no pueda soportar 10 millones de atacantes. Ahora, si su servidor de juegos es un clúster de servidores en docenas de lugares, cada uno con su propio enrutador y firewall costoso ... tiene muchas más posibilidades en general. Eso podría costar más que lo que vale cualquier servidor de juegos, pero incluso los enrutadores con precios modestos tienen algo de filtrado de tráfico.

El bloqueo de las conexiones en su código cuando su firewall no puede evitar que su código sufra un impacto secundario en el procesador y la memoria, y tampoco puede ayudarlo con la saturación de la red. (Puede cerrar la puerta de su casa para evitar que las personas pisoteen toda su casa, pero eso no impide que se abarroten en su camino de acceso. Puede agregar una puerta, pero pueden invadir la puerta. Podría construir una puerta más grande, pero suficiente de ellos también pueden enjambres.)

El tiempo en el software o mediante un firewall, el bloqueo de los usuarios por IP tiene un inconveniente. Imagínese si un troll que odia su juego decidiera crear una página web con un script que haga intentos de inicio de sesión en su juego. Si suben esta página a uno de tus foros de juegos, cualquier jugador legítimo que pase por esa página, sin saberlo, hará intentos de inicio de sesión. Esto no solo causa problemas para que su servidor maneje estas solicitudes ... ¡sino que si su servidor las bloquea, es posible que esté bloqueando jugadores legítimos!

Por lo tanto, al cerrar, asegúrese de tener un protocolo de inicio de sesión adecuado y eficiente, tan bueno como sea posible con un enrutador / firewall, y de que tenga mucho cuidado con la forma en que bloquea las direcciones IP, en todo caso.

    
respondido por el Meta 25.10.2016 - 02:36
fuente
-1

Si lees stevens, te darás cuenta de que el socket de red está definido en parte por el puerto de socket de origen y el socket del receptor. Así que tener un puerto abierto no es una panacea para las ddos. En este punto, lo que está tratando de equilibrar es la tasa a la que puede identificar y eliminar los recursos de recursos frente a la tasa de solicitudes entrantes.

Es la clasificación de las solicitudes entrantes que es la parte difícil.

    
respondido por el munchkin 17.01.2015 - 15:54
fuente

Lea otras preguntas en las etiquetas