Por que os pacotes estão sendo rejeitados até mesmo através de uma regra que aceita todos eles antes da mão?

7

Estou apenas lendo o iptables, finalmente. Estou um pouco confuso porque a cadeia de entrada da tabela de filtros (como instalada, fedora 17), é assim:

target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251          state NEW udp dpt:mdns
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Pelo que tenho lido, a terceira regra deve aceitar apenas qualquer coisa, mas este não é o caso (eu tenho que desabilitar o iptables para permitir acesso ao sshd ou a um servidor https). Todas as outras cadeias para todas as outras tabelas são políticas ACCEPT, sem regras, exceto filtro FORWARD que REJEITA tudo.

Então, o que ACCEPT realmente faz?

iptables -v -L

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
36625   38M ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere            
    1    60 ACCEPT     all  --  lo     any     anywhere             anywhere            
    0     0 ACCEPT     udp  --  any    any     anywhere             224.0.0.251          state NEW udp dpt:mdns
  534 73926 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 31484 packets, 3973K bytes)
 pkts bytes target     prot opt in     out     source               destination

Então, isso implica para mim que a terceira regra, na verdade, só se aplica à interface de loopback? [sim]

    
por goldilocks 18.10.2012 / 17:16

1 resposta

8

O ACCEPT target é um destino final que permite ao pacote passar pelo NetFilter. O REJECT é um destino de término que efetivamente impede o envio do pacote e faz com que a resposta do ICMP seja enviada ao originador do pacote. A terceira regra em sua amostra provavelmente será assim se você listar as tabelas com o comando 'iptables -v -L':

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  639  304K ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere            
  101  7798 ACCEPT     all  --  lo     any     anywhere             anywhere            

Na coluna in , há uma interface na qual a regra está combinando. Para a terceira regra, é a interface lo , portanto, essa regra permite qualquer tráfego na interface loopback e isso está correto, caso contrário, você não poderá acessar nenhum local dos serviços host em relação a TCP ou UDP em localhost endereço.

    
por 18.10.2012 / 17:58

Tags