iptables regra para bloquear o tráfego não especificado em todas as outras regras

1

Existe uma maneira de adicionar uma regra no iptable para bloquear o tráfego não especificado / coberto em todas as outras regras? Eu sei que podemos usar! para bloquear portas e endereços IP específicos, mas há muitas regras no meu iptable para lidar individualmente com todas as regras.

Obrigado

    
por user2103008 13.10.2013 / 06:49

3 respostas

0

Você cria suas regras com o método de aceitação.

iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT <good traffic> -J ACCEPT
iptables -A INPUT DROP

A última coisa deixa tudo que você não aceitou anteriormente. A configuração se torna mais complicada se você tiver mais de 1 nic.

Para simplificar a configuração, você deve usar correntes se ainda não o seu.

iptables -A INPUT -i eth0 -j input_eth0
iptables -A INPUT-i eth1 -j input_eth1
iptables -A INPUT-i eth2 -j input_eth2

etc

Então você prossegue como eu sugeri.

iptables -A input_eth0 <good traffic> -J ACCEPT
... 
iptables -A input_eth0 -J DROP

iptables -A input_eth1 <good traffic> -J ACCEPT 
iptables -A input_eth1 -J DROP

Além disso, essas regras na parte superior da lista serão salvas para garantir que o tráfego existente proveniente de dentro de sua rede exista e entre livremente na sua rede.

iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
    
por 13.10.2013 / 07:49
1

As regras especificadas por davidgo e cybernard estão corretas e o cybernard as posiciona corretamente. Deixe-me explicar por quê.

As regras do Iptables são aplicadas sequencialmente: de cima para baixo. Assim que for encontrado um que se aplique ao pacote em questão, a ação especificada por essa regra "primeira" será aplicada, e todas as regras a seguir serão negligenciadas.

Assim, a estrutura típica de uma lista de regras do iptables inclui uma "regra padrão" que é deixada como última. É a regra padrão, ou seja, a que aplicamos quando todas as outras regras são inaplicáveis, portanto, devemos deixá-la como última. Se a regra padrão for uma regra DROP, todas as regras precedentes serão apenas regras ACCEPT. Então, qualquer pacote ao qual nenhuma regra ACCEPT se aplique deve ser descartado, e isso é feito por meio da regra padrão. Em outras palavras, se a regra padrão for DROP, você só precisará das regras ACCEPT e, se a regra padrão for ACCEPT, você precisará apenas das regras DROP.

Por último, você pode alcançar o mesmo objetivo usando a instrução

iptables -P INPUT -J DROP

que define uma "política padrão" (-P) para a cadeia INPUT e que a política padrão é DROP. Ele tem o mesmo efeito que as regras discutidas acima, mas seu uso é mais restrito (veja a página man do Linux para iptables aqui )

    
por 13.10.2013 / 14:31
0
$IPTABLES -A INPUT -j DROP   
$IPTABLES -A OUTPUT -j DROP
$IPTABLES -A FORWARD -j DROP 
    
por 13.10.2013 / 07:00

Tags