
Archwiki presenta un artículo con sugerencias para unafirewall de iptables con estado. recomiendan algunosreglas para engañar a los escáneres de puertos, pero advierten que abren una vulnerabilidad para ataques DoS. En particular, al negar el acceso a IP que continuamente intentan acceder a puertos cerrados, un atacante potencial podría enviar estos paquetes con una IP falsificada para que mi firewall bloquee a los usuarios legítimos.
Las reglas TCP sugeridas son las siguientes:
# iptables -I TCP -p tcp -m recent --update --rsource --seconds 60 --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
# iptables -A INPUT -p tcp -m recent --set --rsource --name TCP-PORTSCAN -j REJECT --reject-with tcp-reset
Mi pregunta es, ¿podría limitar la efectividad de dicho ataque DoS si agrego el TTL del paquete a las reglas? De acuerdo apágina de manual de iptables:
--rttl:[···] esto limitará la coincidencia para que solo ocurra cuando la dirección esté en la lista y el TTL del paquete actual coincida con el del paquete que cumplió con la regla --set. Esto puede ser útil si tiene problemas con personas que falsifican su dirección de origen para hacerle DoS a través de este módulo al no permitir que otros accedan a su sitio enviándole paquetes falsos.
¿Funcionaría o me falta algo?
Respuesta1
Existen un par de problemas al utilizar la opción TTL para este propósito. Básicamente, propone utilizar TTL como un componente adicional de identificación al identificar direcciones.
Sin embargo, así como los atacantes pueden falsificar direcciones IP para bloquear clientes legítimos, también pueden falsificar los valores TTL de los paquetes; cualquiera puede generar paquetes con valores TTL arbitrarios, no están limitados a comenzar con el valor inicial supuesto.
Además, naturalmente, a medida que cambia la infraestructura de la red, la cantidad de saltos entre usted y el atacante cambiará con el tiempo, lo que limita la utilidad práctica de TTL como identificador único.
El último problema con esta técnica es que es muy posible que un atacante tenga la misma cantidad de saltos entre él y usted que entre muchos hosts legítimos y usted. Por lo tanto, incluso sin ninguna suplantación de TTL, probablemente podrían lograr algún nivel de ataque DoS.
Respuesta2
Esto realmente no responde a su pregunta porque es algo fuera de iptables, pero si desea protegerse contra escaneos de puertos, PSAD es una mejor opción. Puede configurarlo para bloquear cualquier IP cuyo puerto escanee su sistema. http://cipherdyne.org/psad/
Esto usa iptables pero no es necesariamente solo una regla de iptables