OpenWRT Firewarll INPUT Chain permitindo tudo?

1

Eu não fiz nada para minhas regras de firewall padrão, exceto abrir uma porta para o ssh do wan e adicionar as regras para o OpenVPN, conforme definido neste tutorial: link , mas eu estou preocupado que eu tenha deixado mais portas abertas do que o pretendido por causa da saída iptables -L. Eu coloquei a saída completa abaixo, mas em particular:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
syn_flood  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN
input_rule  all  --  anywhere             anywhere
input      all  --  anywhere             anywhere
from the:
ACCEPT     all  --  anywhere             anywhere

bit isso significa que tudo está sendo aceito de qualquer lugar?

Saída das tabelas de IP completas para referência:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
syn_flood  tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN
input_rule  all  --  anywhere             anywhere
input      all  --  anywhere             anywhere
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            ctstate RELATED,ESTABLISHED
forwarding_rule  all  --  anywhere             anywhere
forward    all  --  anywhere             anywhere
reject     all  --  anywhere             anywhere
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
output_rule  all  --  anywhere             anywhere
output     all  --  anywhere             anywhere
Chain forward (1 references)
target     prot opt source               destination
zone_lan_forward  all  --  anywhere             anywhere
zone_wan_forward  all  --  anywhere             anywhere
zone_vpn_forward  all  --  anywhere             anywhere
Chain forwarding_lan (1 references)
target     prot opt source               destination
Chain forwarding_rule (1 references)
target     prot opt source               destination
Chain forwarding_vpn (1 references)
target     prot opt source               destination
Chain forwarding_wan (1 references)
target     prot opt source               destination
Chain input (1 references)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:openvpn
zone_lan   all  --  anywhere             anywhere
zone_wan   all  --  anywhere             anywhere
zone_vpn   all  --  anywhere             anywhere
Chain input_lan (1 references)
target     prot opt source               destination
Chain input_rule (1 references)
target     prot opt source               destination
Chain input_vpn (1 references)
target     prot opt source               destination
Chain input_wan (1 references)
target     prot opt source               destination
Chain output (1 references)
target     prot opt source               destination
zone_lan_ACCEPT  all  --  anywhere             anywhere
zone_wan_ACCEPT  all  --  anywhere             anywhere
zone_vpn_ACCEPT  all  --  anywhere             anywhere
Chain output_rule (1 references)
target     prot opt source               destination
Chain reject (7 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable
Chain syn_flood (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere            tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50
DROP       all  --  anywhere             anywhere
Chain zone_lan (1 references)
target     prot opt source               destination
input_lan  all  --  anywhere             anywhere
zone_lan_ACCEPT  all  --  anywhere             anywhere
Chain zone_lan_ACCEPT (3 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
Chain zone_lan_DROP (0 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
Chain zone_lan_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere
reject     all  --  anywhere             anywhere
Chain zone_lan_forward (1 references)
target     prot opt source               destination
zone_wan_ACCEPT  all  --  anywhere             anywhere
forwarding_lan  all  --  anywhere             anywhere
zone_lan_REJECT  all  --  anywhere             anywhere
Chain zone_vpn (1 references)
target     prot opt source               destination
input_vpn  all  --  anywhere             anywhere
zone_vpn_ACCEPT  all  --  anywhere             anywhere
Chain zone_vpn_ACCEPT (3 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
Chain zone_vpn_DROP (0 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
Chain zone_vpn_REJECT (0 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere
reject     all  --  anywhere             anywhere
Chain zone_vpn_forward (1 references)
target     prot opt source               destination
zone_wan_ACCEPT  all  --  anywhere             anywhere
zone_lan_ACCEPT  all  --  anywhere             anywhere
forwarding_vpn  all  --  anywhere             anywhere
zone_vpn_ACCEPT  all  --  anywhere             anywhere
Chain zone_wan (1 references)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootpc
ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:23232
input_wan  all  --  anywhere             anywhere
zone_wan_REJECT  all  --  anywhere             anywhere
Chain zone_wan_ACCEPT (3 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
Chain zone_wan_DROP (0 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere
Chain zone_wan_REJECT (2 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere
reject     all  --  anywhere             anywhere
Chain zone_wan_forward (1 references)
target     prot opt source               destination
forwarding_wan  all  --  anywhere             anywhere
zone_wan_REJECT  all  --  anywhere             anywhere
    
por rainkinz 23.07.2014 / 18:47

1 resposta

1

Desculpe, mas não consigo ver onde está o problema aqui. Sim, você tem um firewall que permite que qualquer pacote passe, tanto como INPUT quanto como FORWARD. Esta é a configuração padrão para o firewall OpenWRT recém-instalado, eu tinha a mesma configuração.

Basicamente, as regras iptables devem ser lidas sequencialmente: lendo do primeiro ao último, a primeira regra que se ajusta é aplicada e as regras restantes não são testadas. Se todas as regras forem testadas e nenhuma se ajustar, a política padrão será aplicada (por exemplo, no caso de sua cadeia INPUT, a política padrão é ACCEPT).

Tomando como exemplo sua cadeia INPUT, o pacote de entrada é testado para verificar se está relacionado a uma conexão existente; Se for, a regra é aplicada, assim o pacote é aceito. Se não for (assim o pacote pertence a uma conexão ainda não estabelecida), passamos para a segunda regra. A segunda regra não tem critérios para atender, portanto, todos os pacotes se encaixam nela; assim, é aplicado e sua aplicação significa: ACEITAR.

As regras restantes nunca são questionadas. É por isso que você deve verificar cuidadosamente as regras do iptables antes de salvá-las permanentemente: a ordem em que você forneceu as regras pode diferir daquela em que elas são aplicadas e, assim, causar conseqüências desagradáveis.

Essa política geral (a primeira regra que se ajusta é aplicada, as regras a seguir são negligenciadas) difere, por exemplo, da política com a qual o kernel aplica regras de roteamento: nesse caso, a regra mais restritiva que se encaixa em > é aplicado, independentemente da ordem em que as regras de roteamento são armazenadas.

    
por 03.08.2014 / 14:56