Soy principiante en iptables y redes, así que discúlpenme por preguntas de principiante.
Encontré en Internet parte del filtrado de paquetes con formato incorrecto:
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL SYN -m state --state NEW -j RETURN
Pero hasta donde yo sé, el primer paquete (nuevo) debe contener el indicador SYN y ¿esta regla evitará nuevas conexiones? ¿O estoy entendiendo mal esto?
Además, ¿qué ocurrirá después de aplicar las siguientes reglas?
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL RST,ACK,PSH
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL RST,ACK,URG
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL RST,ACK,PSH,URG
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL FIN,PSH,ACK,URG
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL ACK,URG
/usr/bin/sudo /sbin/iptables -A tcpchk -p tcp --tcp-flags ALL ACK,URG,FIN
¿Si tengo razón no hay acción? iptables verificará las banderas anteriores y simplemente pasará a las siguientes reglas, ¿verdad?
Respuesta1
El segundo ejemplo no tiene acción, por lo que no hace nada excepto acumular estadísticas.
iptables -xvn -L tcpchk
ALL SYN coincide con las conexiones establecidas y expulsa la conexión establecida de la cadena tcpchk y la regresa a su cadena principal, presumiblemente INPUT. El-j VOLVERdevolver el paquete a los padres.
La regla no causará un mal funcionamiento porque en realidad no descarta ni rechaza nada.