IPtables - Aceptar paquetes arbitrarios

1

He logrado mucho en bloquear ataques en GameServers pero estoy atascado en algo. He bloqueado las principales solicitudes de juego-servidor que se encuentran en la forma "\ xff \ xff \ xff \ xff", que pueden ser seguidas por las consultas reales como get status o get info para hacer algo como "\ xff \ xff \ xff \ xff getstatus "pero veo otras consultas si las envía al servidor del juego causará que responda con un paquete de" desconexión "con la misma tasa de entrada, de modo que si la tasa de entrada es alta, la salida alta de" desconexión "podría dar retraso al servidor. Por lo tanto, quiero bloquear todas las consultas, excepto las que usan los clientes reales, que supongo que están en la forma "\ xff \ xff \ xff \ xff" o ... así que,

Intenté usar esta regla:

    -A INPUT -p udp -m udp -m u32 ! --u32 0x1c=0xffffffff -j ACCEPT 

    -A INPUT -p udp -m udp -m recent --set --name Total --rsource 
    -A INPUT -p udp -m udp -m recent --update --seconds 1 --hitcount 20 --name Total --rsource -j DROP

Ahora, donde la regla acepta a los clientes pero solo bloquea las solicitudes en la forma "\ xff \ xff \ xff \ xff getstatus" (por lo que GameServer responde con el estado) y no solo "getstatus" (por la cual GameServer responde desconectar el paquete). Así que supongo que la regla de aceptación también acepta la simple "cadena". De hecho, quiero que también bloquee las consultas no - (\ xff). Entonces, ¿cómo modifico la regla?

    
pregunta Asad Moeen 29.06.2012 - 08:29
fuente

1 respuesta

1

Es posible que desee desarrollar un proxy UDP. UDP es muy fácil de ser proxy, cada paquete es una estructura de datos completa, por lo que es fácil filtrarlo. El proxy UDP sería una aplicación de Linux C que recibe paquetes en el puerto X y los reenvía al puerto Y. Esto podría ser simple como un solo bucle. En este bucle, puede ejecutar cualquier tipo de paquetes de comprobación y eliminación simplemente no reenviando. Es así de fácil porque parece que no es tráfico cifrado.

    
respondido por el Andrew Smith 29.06.2012 - 15:46
fuente

Lea otras preguntas en las etiquetas