Sou novo em servidores e iptables. Eu tenho um aplicativo da web (acontece ser o bugzilla) em execução no meu servidor Centos 6.7 apache/httpd e ele tenta se conectar à web (updates.bugzilla.org) via porta 80. Ele também tenta se conectar (para smtp .gmail.com) usando a porta 465. No entanto, isso não pode. Isso ocorre apesar de ter uma política de saída padrão ACCEPT e de ter aberto as portas relevantes para entrada.
Não tenho certeza 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:
$ status do serviço iptables
Tabela: filtro
Cadeia INPUT (política ACEITAR)
num alvo prot opt origem destino
1 ACEITAR tudo -- 0.0.0.0/0 0.0.0.0/0
2 ACEITAR tudo -- 0.0.0.0/0 0.0.0.0/0 estado RELACIONADO, ESTABELECIDO
3 ACEITAR tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
4 ACEITAR tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
5 ACEITAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
6 ACEITAR tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
7 ACEITAR tcp - 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
Cadeia FORWARD (política DROP) num alvo prot opt origem destino
Cadeia OUTPUT (política ACCEPT) num alvo prot opt origem destino
E:
iptables -L -v Chain INPUT (política ACCEPT 881 pacotes, 106K bytes)
pacotes bytes alvo prot opt in out origem destino
0 0 ACEITAR tudo -- eis qualquer lugar em qualquer lugar
436 183K ACEITAR todos - qualquer qualquer lugar em qualquer lugar estado RELACIONADO,ESTABELECIDO
0 0 ACEITAR tcp -- qualquer qualquer em qualquer lugar em qualquer lugar tcp dpt:ssh
1 60 ACEITAR tcp -- qualquer qualquer lugar em qualquer lugar tcp dpt:http
0 0 ACEITAR tcp -- qualquer qualquer lugar em qualquer lugar tcp dpt:https
0 0 ACEITAR tcp -- qualquer qualquer em qualquer lugar em qualquer lugar tcp dpt:smtp
0 0 ACEITAR tcp -- qualquer qualquer em qualquer lugar em qualquer lugar tcp dpt:submission
Cadeia FORWARD (política DROP 0 pacotes, 0 bytes) pacotes bytes alvo prot opt in out source destino
Cadeia OUTPUT (política ACCEPT 348 pacotes, 56741 bytes)
pacotes bytes alvo prot opt in out origem destino
Estou esperançoso de que não seja algo específico do bugzilla ou do centos, já que consegui uma instalação bem-sucedida do bugzilla no desktop do Ubuntu, embora isso tenha ocorrido enquanto usava o ufw do Ubuntu (acho que também tentei com o iptables, mas teria que tentar novamente para verificar).
ATUALIZAR:
Para aqueles que pesquisam na web e veem isso posteriormente, descobriu-se que era um problema do SELinux! Necessário para ativar o booleano 'httpd_can_network_connect' (para outros, use 'getsebool -a').
Responder1
Experimente 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 ao telnet, digite “get” e veja se há 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 tcptraceroute para ver onde ele é bloqueado:
tcptraceroute updates.bugzilla.org 80
Poderia haver algo mais bloqueando as portas? Um firewall, roteador, ISP?