Qual é a ação padrão para os pacotes recebidos que não correspondem às regras explícitas do iptables?

1

CentOS 5.x

Eu gostaria de entender o que está acontecendo especificamente com pacotes de entrada que não correspondem explicitamente a regras em minhas cadeias de iptables. A ação padrão é rejeitá-los? Ou soltá-los? Como / onde posso definir isso?

Aqui está um exemplo de saída da minha configuração de firewall (algumas portas foram modificadas para proteger os inocentes :-)):

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     esp  --  anywhere             anywhere
ACCEPT     ah   --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:456
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
O ponto principal é que eu tenho uma cadeia diferente chamada RH-Firewall-1-INPUT que não tem uma instrução (policy ACCEPT) ou (policy REJECT) explícita. Qual seria o comportamento padrão para isso (supondo, claro, que eu não estou combinando qualquer uma das regras anteriores). A última linha é apenas "pegar tudo"?

    
por Mike B 13.03.2014 / 15:07

2 respostas

3

Depende da sua política, você pode definir para rejeitar ou aceitar se os pacotes recebidos não corresponderem explicitamente às regras (acho que, por padrão, será DROP ). Você pode definir a política padrão usando -P option:

# accept by default
iptables -P INPUT ACCEPT

# drop by dèault
iptables -P INPUT DROP
    
por 13.03.2014 / 15:15
3
(iptables -L INPUT; iptables -L OUTPUT; iptables -L FORWARD) | grep policy
Chain INPUT (policy DROP)
Chain OUTPUT (policy ACCEPT)
Chain FORWARD (policy DROP)

iptables -P define a política para uma cadeia.

man iptables :

Only built-in (non-user-defined) chains can have policies, and neither built-in nor user-defined chains can be policy targets.

A grande diferença da perspectiva da estrutura é: Se uma cadeia definida pelo usuário chegar ao final sem uma decisão explícita, o fluxo de controle retornará à cadeia de chamada, de cuja perspectiva o salto para a cadeia chamada é igual a qualquer outra regra corresponde ou não.

    
por 13.03.2014 / 15:17