Abrindo corretamente a porta 443 para a internet

1

Eu preciso da porta 443 aberta para a internet no meu servidor.

Quando eu verifico internamente via netstat -tulpn | grep "nginx" , vejo que o nginx está realmente LISTENING nessa porta. No entanto, tentar nmap -p443 mysite.com de uma máquina externa informa que a porta 443 está filtrada . Da mesma forma, fazendo telnet <IP Address> 443 expirar. Como posso garantir que esta porta está aberta?

FYI em /etc/iptables/rules.v4 tenho o seguinte:

*filter
# Allow all outgoing, but drop incoming and forwarding packets by default
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Custom per-protocol chains
:UDP - [0:0]
:TCP - [0:0]
:ICMP - [0:0]

# Acceptable UDP traffic

# Acceptable TCP traffic
-A TCP -p tcp --dport 22 -j ACCEPT
-A TCP -p tcp --dport 80 -j ACCEPT
-A TCP -p tcp --dport 443 -j ACCEPT

# Acceptable ICMP traffic

# Boilerplate acceptance policy
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT

# Drop invalid packets
-A INPUT -m conntrack --ctstate INVALID -j DROP

# Pass traffic to protocol-specific chains
## Only allow new connections (established and related should already be handled)
## For TCP, additionally only allow new SYN packets since that is the only valid
## method for establishing a new TCP connection
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP

# Reject anything that's fallen through to this point
## Try to be protocol-specific w/ rejection message
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable

# Commit the changes
COMMIT

*raw
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT

*security
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT

O que estou fazendo de errado?

Note que o meu é uma configuração onde o aplicativo da web (Django) e o banco de dados (postgresql) residem em duas máquinas virtuais separadas. Meu servidor da web já está configurado para HTTPS.

    
por Hassan Baig 05.03.2016 / 03:13

2 respostas

2

Se esse for o seu firewall carregado e você estiver se conectando via IPv4, haverá outro firewall entre você e seu servidor que está fazendo a filtragem.

    
por 05.03.2016 / 09:19
0

Por padrão, a porta 443 está listada LISTEN no arquivo de configuração de todos os servidores da Web e vinculada a sites usando SSL.

Tudo que você precisa é ligar a porta ou abrir a porta no firewall.

Use o Telnet para verificar se a porta está aberta.

root @ ping # endereço IP do telnet 443

Verifique se a porta está aberta e você ainda não está conectando, então verifique se as ligações do endereço IP e do domínio com a porta 443 estão listadas corretamente em /etc/httpd/conf/httpd.conf e IIS for windows.

Se não, então, permita esta porta usando o iptables

iptables -I INPUT -p tcp --dport 443 -j Aceitar (para linux)

Crie uma regra de firewall personalizada no painel de controle e permita a porta 443 para todas as conexões de entrada (para Windows).

    
por 05.03.2016 / 10:20