2.5.7. IPTables e Rastreamento de Conexão
Você pode inspecionar e restringir conexões à serviços baseados em seus estados de conexão. Um módulo dentro do
iptables
usa um método chamado rastreamento de conexão para armazenar informações sobre conexões de entrada. Você pode permitir ou negar acesso baseado nos seguintes estados de conexão:
NEW
— Um pacote que requer uma nova conexão, tal como uma requisição HTTP.ESTABLISHED
— Um pacote que é parte de uma conexão existente.RELATED
— Um pacote que está requisitando uma nova conexão mas é parte de uma conexão existente. Por exemplo, o FTP usa a porta 21 para estabelecer uma conexão, mas os dados são transferidos em uma porta diferente (geralmente a porta 20).INVALID
— Um pacote que não é parte de nenhuma conexão na tabela de rastreamento de conexão.
Você pode usar a funcionalidade stateful (com estado) da conexão
iptables
rastreando com qualquer protocolo de rede, até mesmo se o próprio protocolo é stateless (sem estado) assim como o UDP. O exemplo a seguir mostra uma regra que usa o rastreamento de conexão para enviar somente os pacotes que são associados com uma conexão estabelecida:
[root@myServer ~ ] # iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT