iptables política padrão de saída é aceita, mas algumas portas parecem bloqueadas

3

Sou novo em servidores e iptables. Eu tenho um aplicativo web (por acaso é bugzilla) rodando no meu servidor apache / httpd Centos 6.7, e ele tenta se conectar à web (updates.bugzilla.org) através da porta 80. Ele também tenta se conectar (para smtp .gmail.com) usando a porta 465. No entanto, não pode. Isso ocorre apesar de ter uma política de saída padrão do ACCEPT e de ter aberto as portas relevantes para entrada.

Não sei ao certo para onde ir a partir daqui. Onde devo procurar para começar a solucionar isso? Quais são os prováveis culpados?

Alguma saída:

$ service iptables status

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80

5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443

6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25

7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:587

Chain FORWARD (policy DROP) num target prot opt source destination

Chain OUTPUT (policy ACCEPT) num target prot opt source destination

AND:

iptables -L -v Chain INPUT (policy ACCEPT 881 packets, 106K bytes)

pkts bytes target prot opt in out source destination

0 0 ACCEPT all -- lo any anywhere anywhere

436 183K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED

0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh

1 60 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http

0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:https

0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:smtp

0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:submission

Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 348 packets, 56741 bytes)

pkts bytes target prot opt in out source destination

Espero que não seja uma coisa específica do bugzilla ou do centos, já que realizei uma instalação bem-sucedida do bugzilla no desktop ubuntu, apesar de usar o ufw do ubuntu (acho que também tentei com o iptables, mas tem que tentar novamente para verificar).

UPDATE:

Para as pesquisas na web e ver isso em uma data posterior, acontece que essa foi uma questão do SELinux! Necessário para habilitar o booleano 'httpd_can_network_connect' (para outros, use 'getsebool -a').

    
por tniles 01.10.2015 / 01:00

1 resposta

2

Tente isto:

service iptables save
service iptables stop
chkconfig iptables off

Boom, sem firewall. Teste novamente.

Tente usar o telnet para testar essa porta:

telnet updates.bugzilla.org 80

Uma vez conectado com o telnet, digite "get" e veja se há uma resposta.

Example:

# telnet updates.bugzilla.org 80
Trying 63.245.223.29... 
Connected to updates.bugzilla.org.
Escape character is '^]'
get
<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
Connection closed by foreign host.

Não funcionou?

Experimente o tcptraceroute para ver onde ele é bloqueado:

tcptraceroute updates.bugzilla.org 80

Poderia haver algo mais bloqueando as portas? Um firewall, roteador, ISP?

    
por 01.10.2015 / 10:35