Por que meu firewall iptables rejeita conexões com a porta 1531?

3

Ao instalar o RHEL, o iptables parece estar rejeitando conexões do 1531 (oracle). Esta é minha configuração:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Eu preciso interpretar essas regras para entender por que a porta 1531 não é aceita. Posso ver que não há ACCEPT para ele, mas também não vejo nenhum tipo de declaração "REJECT ALL".

    
por Nicolas de Fontenay 17.12.2015 / 19:10

2 respostas

3

Este é o mesmo arquivo, não as regras reais do firewall no kernel, mas elas aparecem aqui na mesma ordem em que estavam em um firewall em execução. O que está acontecendo nesse caso é que os pacotes recebidos atravessam todas as regras da cadeia INPUT, um a um, e continuam caindo até atingirem a regra que é salva como -A INPUT -j REJECT --reject-with icmp-host-prohibited . Neste ponto, eles são rejeitados pelo firewall.

Você pode resolver isso inserindo uma regra ACCEPT antes desta regra REJECT ou desabilitando o firewall completamente.

A confusão vem da política padrão que é ACCEPT; em muitos círculos de segurança, a lógica preferida seria remover as regras REJECT explícitas e simplesmente definir a política padrão na cadeia como REJECT ou DROP. Para ver as regras de firewall ativas a qualquer momento, você pode usar iptables -L . Para atualizar o firewall, recomendo vivamente o seguinte procedimento:

  1. Defina um "timer" que redefinirá o estado do firewall em 5 minutos (por exemplo, echo "service iptables restart" | at now + 5 minutes )
  2. Modifique o conjunto de regras do firewall no kernel e confirme se suas modificações funcionam da maneira desejada, sem efeitos colaterais indesejáveis. Se você se bloquear, aguarde 5 minutos até que seu temporizador expire e redefina seu firewall.
  3. Salve o conjunto de regras modificado por meio de service iptables save
por 17.12.2015 / 19:31
1

Parece que a porta não está configurada no seu iptables. Parece que o arquivo iptables padrão e eu acho que o iptables usa uma negação implícita, então você tem que declarar explicitamente as portas que você deseja permitir.

Você pode editá-lo manualmente inserindo uma linha antes das instruções REJECT assim:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1531 -j ACCEPT

Quando terminar, reinicie o iptables:

RedHat 6.x: service iptables restart

Redhat 7.x: systemctl restart iptables.service

Tenha em mente que lidei principalmente com o CentOS, que é a mesma coisa ... Existem outras maneiras de abrir a porta (por meio da linha de comando), mas isso é facilmente pesquisado por conta própria.

    
por 17.12.2015 / 19:38

Tags