2.6.2.4. Opciones coincidentes de IPTables
Los protocolos de red diferentes proporcionan opciones coincidentes especializadas que pueden configurarse para coincidir con un determinado paquete mediante ese protocolo. Sin embargo, se debe especificar el protocolo en el comando de
iptables
. Por ejemplo, -p <nombre-protocolo>
activa opciones para el protocolo especificado. Tenga en cuanta que puede usar el ID de protocolo, en lugar del nombre de protocolo. Consulte los siguientes ejemplos, cada uno de los cuales tiene el mismo efecto:
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p 5813 --icmp-type any -j ACCEPT
Las definiciones de servicio se proporcionan en el archivo
/etc/services
. Para facilitar la lectura, se recomienda el uso de nombres de servicios en lugar de números de puertos.
Aviso
Proteja el archivo
/etc/services
para evitar la modificación no autorizada. Si este archivo se puede editar, los ciberpiratas pueden usarlo para activar puertos en su máquina si no la ha cerrado. Para proteger este archivo, escriba los siguientes comandos como root:
[root@myServer ~]# chown root.root /etc/services [root@myServer ~]# chmod 0644 /etc/services [root@myServer ~]# chattr +i /etc/services
De esta manera se evita que se cambie de nombre, se borren o se creen enlaces al archivo.
2.6.2.4.1. Protocolo TCP
Estas opciones coincidentes están disponibles para el protocolo TCP (
-p tcp
):
--dport
— Establece el puerto de destino para el paquete.Para configurar esta opción, utilice el nombre del servicio de red (tal como www o smtp); un número de puerto; o un rango de números de puerto.Para especificar un rango de número de puertos, separe los dos números con dos puntos (:
). Por ejemplo:-p tcp --dport 3000:3200
. El rango más amplio que se acepta es0:65535
.Use el signo de exclamación (!
) antes de la opción--dport
para hacer coincidir todos los paquetes que no usen ese servicio o puerto de red.Para explorar los nombres y alias de los servicios de red y los números de puerto que utilizan, consulte el archivo/etc/services
.La opción coincidente--destination-port
es sinónima de--dport
.--sport
— Establece el puerto de origen mediante las mismas opciones como--dport
. La opción coincidente--source-port
es sinónima de--sport
.--syn
— Se aplica a todos los paquetes TCP diseñados para iniciar la comunicación, conocidos comúnmente como Paquetes SYN. Los paquetes que llevan carga útil de datos no se tocan.Use un signo de exclamación (!
) antes de la opción--syn
para que coincida con todos los paquetes non-SYN.--tcp-flags <tested flag list> <establece la lista de indicadores>
— Permite que los paquetes TCP que tienen establecidos bits específicos (indicadores), coincidan con una regla.La opción de coincidencia--tcp-flags
acepta dos parámetros. El primer parámetro es la máscara; una lista de indicadores separados por coma que van a ser examinados en el paquete. El segundo paquete es una lista de indicadores separados por coma que se deben establecer para que la regla coincida.Los indicadores posibles son:ACK
FIN
PSH
RST
SYN
URG
ALL
NONE
Por ejemplo, una regla deiptables
que contiene la siguiente especificación solamente concuerda con los paquetes TCP que tienen el indicador SYN y los indicadores de ACK y FIN no configurados:--tcp-flags ACK,FIN,SYN SYN
Use el signo de exclamación (!
) antes de--tcp-flags
para reversar el efecto de la opción de coincidencia.--tcp-option
— Intenta coincidir con opciones específicas de TCP que puedan establecerse dentro de un paquete determinado. Esta opción de coincidencia también se puede reversar con el signo de exclamación (!
).