2.6.2.4. Opções de Coincidência de IPTables
Protocolos de rede diferentes fornecem opções de coincidência especializadas que podem ser configuradas para coincidir um pacote específico usando aquele protocolo. No entanto, o protocolo deve primeiro ser especificado no comando
iptables
. Por exemplo, -p <protocol-name>
habilita as opções para o protocolo especificado. Note que você também pode usar o ID de protoloco, ao invés do nome do protocolo. Consulte os seguintes exemplos, cada dos quais tem o mesmo efeito:
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p 5813 --icmp-type any -j ACCEPT
iptables -A INPUT -p 5813 --icmp-type any -j ACCEPT
Definições de serviço são fornecidas no arquivo
/etc/services
. Para definição legível, recomenda-se que você use os nomes de serviços ao invés dos números de porta.
Atenção
Proteja o arquivo
/etc/services
para prevenir edição não autorizada. Se este arquivo for editável, invasores podem usá-lo para habilitar portas em sua máquina que você tenha fechado. Para proteger este arquivo, digite os seguintes comandos como usuário root:
chown root.root /etc/services chmod 0644 /etc/services chattr +i /etc/services
[root@myServer ~]# chown root.root /etc/services
[root@myServer ~]# chmod 0644 /etc/services
[root@myServer ~]# chattr +i /etc/services
Isto evita que o arquivo seja renomeado, removido ou ter links apontados para ele.
2.6.2.4.1. Protocolo TCP Copiar o linkLink copiado para a área de transferência!
Copiar o linkLink copiado para a área de transferência!
Estas opções de coincidência estão disponíveis para o protocolo TCP (
-p tcp
):
--dport
— Define a porta de destino para o pacote.Para configurar esta opção, use um nome de serviço de rede (tal como o www ou smtp); um número de porta; ou uma classe de números de porta.Para especificar uma classe de números de porta, separe os dois números com dois pontos (:
). Por exemplo:-p tcp --dport 3000:3200
. A classe válida maior é0:65535
.Use um ponto de exclamação (!
) antes da opção--dport
para coincidir todos os pacotes que não usam aquele serviço ou porta de rede.Para navegar pelos nomes e aliases de serviços de rede e números de porta que eles usam, visualize o arquivo/etc/services
.A opção de coincidência do--destination-port
é sinônima da--dport
.--sport
— Define a porta fonte do pacote usando as mesmas opções que--dport
. A opção de coincidência--source-port
é sinônimo da--sport
.--syn
— Se aplica à todos os pacotes TCP criados para iniciar a comunicação, geralmente chamada de pacotes SYN. Quaisquer pacotes que carreguem um bloco de dados não são tocados.Use um ponto de exclamação (!
) antes da opção--syn
para coincidir com todos os pacotes que não são SYN.--tcp-flags <tested flag list> <set flag list>
— Permite que pacotes TCP que possuem específicos bits (sinalizadores) definidos, coincidirem com uma regra.A opção de coincidência--tcp-flags
aceita dois parâmetros. O primeiro parâmetro é a máscara; uma lista separada por vírgula de sinalizadores a serem examinados no pacote. O segundo parâmetro é uma lista separada por vírgula de sinalizadores que devem ser definidos para a regra que coincidir.Os possíveis sinalizadores são:ACK
FIN
PSH
RST
SYN
URG
ALL
NONE
Por exemplo, uma regraiptables
que contenha a seguinte especificação somente coincide com pacotes TCP que possuem o sinalizador SYN definido e os sinalizadores ACK e FIN não definidos:--tcp-flags ACK,FIN,SYN SYN
Use o ponto de exclamação (!
) antes do--tcp-flags
para reverter o efeito da opção de coincidência.--tcp-option
— Tenta coincidir com as opções de TCP específicas que podem ser definidas dentro de um pacote particular. Esta opção coincidente também pode ser revertida com o ponto de exclamação (!
).