A abertura 443 no iptables não funciona

1

Eu tenho o iptables na minha máquina CentOS 6.2. Instalou e configurou o apache2 com suporte a SSL e funciona com o iptables desativado.

Quando eu adiciono a seguinte regra:

iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Quando eu salvo isso e reinicio o iptables, a conexão no navegador expira ... Alguma sugestão?

script completo

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [19:1748]
-A INPUT -p tcp -m tcp --dport 389 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
    
por ferdyh 04.06.2012 / 16:50

3 respostas

1

Você adicionou esta regra ao final do seu iptables.

Se você tiver um:

 iptables -A INPUT -j DROP

antes disso, os pacotes são descartados antes de avaliar sua regra. Você deve tentar colocar a regra no topo (inserindo, não anexando):

iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT   # -I instead of -A

Além disso, o iptables é aplicado imediatamente, por isso deve funcionar sem salvar / reiniciar o reinício.

    
por 04.06.2012 / 16:54
0
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Primeira linha: se agora as regras tiverem sido correspondidas ainda, rejeite este pacote. REJECT é uma regra de terminal, portanto, se for correspondido, nada será avaliado depois disso.

Como seu 443 é depois disso, ele nunca será testado. Você precisa inserir sua regra no script acima da linha de rejeição.

iptables -I é usado para inserir regras em uma tabela ativa.

    
por 04.06.2012 / 16:59
0

Em vez de usar iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT para colocar essa regra no final da tabela INPUT, você deve usar iptables -I INPUT 5 -p tcp -m tcp --dport 443 -j ACCEPT para colocá-la antes da regra "REJECT" na tabela INPUT.

Não há necessidade de colocá-lo como a primeira entrada na tabela, basta colocar essa regra acima da regra "REJEITAR". Além disso, você pode preferir adicionar a opção -m state --state NEW ao seu comando para que ela corresponda apenas às novas conexões.

    
por 04.06.2012 / 19:39