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 es 0: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 de iptables 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 (!).