¿Cómo desconectar conexiones RELACIONADAS con otras conexiones caídas?

¿Cómo desconectar conexiones RELACIONADAS con otras conexiones caídas?

Guión:Escribí iptablesreglas para un host donde un motor DPI está observando las colas de Netfilter: las reglas de firewall ponen en cola el tráfico entrante a este host en diferentes colas de Netfilter dependiendo de si el tráfico proviene de uno ipsetde los míos.

En la FORWARDcadena, todas las conexiones se ponen en cola de manera diferente NFQUEUES: el motor DPI observa en las colas del espacio de usuario los paquetes enviados por iptables, si se observa una conexión prohibida, marca el paquete con un valor especial; El motor DPI reinserta paquetes prohibidos en la pila; en la POSTROUTINGcadena compruebo si las conexiones están marcadas con ese valor especial, si es así DROPlas hago.

Todo funciona bien, pero...

Problema: el motor DPI está bien, pero no es perfecto: a veces,

  1. el tráfico que debería identificarse como prohibido no se identifica como tal y por tanto no se bloquea;
  2. El tráfico prohibido se bloquea, pero no de inmediato, y mientras tanto, una conexión prohibida puede abrir otra conexión ( RELATED, según la máquina conntrack) que no está marcada como prohibida, pero también me gustaría bloquear la conexión relacionada.

El segundo caso es en el que quiero actuar: como ejemplo para el caso 2, imagina que el motor DPI quiere bloquear YouTube pero no logra hacerlo rápidamente; permite que la conexión de YouTube abra otra conexión etiquetada como SSL desde el motor DPI; El motor DPI finalmente bloquea YouTube, pero la conexión SSL es salvaje y libre; No puedo decirle al motor DPI que bloquee las conexiones SSL, independientemente de qué conexiones las abrieron.

Consideraciones: como se explica enGuión, los paquetes que vienen en POSTROUTINGcadena pueden marcarse con 0 (que es el valor predeterminado, por lo que el motor DPI no realizó ninguna acción) o con ese valor especial (el motor DPI vio una conexión prohibida y la marcó): un simple

iptables -t mangle -A POSTROUTING -m mark --mark DROPVALUE -j DROP

casi siempre es suficiente, pero enProblemasección Escribí que las conexiones RELACIONADAS con las prohibidas pero no son vistas como tales por el motor DPI, porqueincluso si fueron creados por una conexión prohibida, su protocolo no está en la lista negra y por eso no se consideran prohibidos. Esto es correcto porque no puedo incluir en la lista negra SSLy HTTPS.

Necesito bloquear conexiones RELATEDprohibidas: RELATEDy ESTABLISHED(si lo entendí bien) no me refiero a conexiones particulares pero necesito referirme a conexiones prohibidas.

Pregunta: ¿Es posible desconectar conexiones RELATEDa conexiones para conectar (o ya desconectadas) iptables? ¿O es necesario algún truco conntrack?

Gracias de antemano por cualquier sugerencia.

Respuesta1

Tu no entiendes RELATED. Esto no se utiliza para todas las conexiones que pueda realizar una sola dirección. Se utiliza únicamente para datos realmente relacionados, como el flujo de datos FTP asociado con una conexión de control FTP o mensajes de error ICMP asociados con una conexión abierta. Hay muy pocas conexiones de este tipo que realmente coincidan RELATED.

información relacionada