
depois de reiniciar meu servidor, não consigo mais fazer ssh nele. Estou executando o Ubuntu 20.04.5 sem cabeça. Depois de investigar o problema, percebi que todas as portas do meu servidor parecem estar fechadas (usando um verificador de porta aberta como o yougetsignal). Testei isso com todas as portas abertas anteriormente.
Porém, sudo netstat -tulpn | grep LISTEN
retorna que minhas portas estão abertas. Exemplo para a porta 22:
tcp6 0 0 :::22 :::* LISTEN 362/sshd: /usr/sbin
telnet localhost 22
também resulta em um tempo limite.
Minha próxima suposição foi que de alguma forma as regras do iptables foram substituídas, então executei iptables -S | grep '22'
, ainda usando a porta 22 como exemplo. Resultou em:
-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Além disso, o ufw não está instalado, nem qualquer outro serviço de firewall que eu conheça.
Estou um pouco perdido agora, pois não consigo localizar o problema e muito menos resolvê-lo.
Qualquer ajuda é muito apreciada.
Atualizar:
nnmap localhost
tem a seguinte saída:
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 985 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
110/tcp open pop3
143/tcp open imap
443/tcp open https
465/tcp open smtps
587/tcp open submission
993/tcp open imaps
995/tcp open pop3s
3000/tcp open ppp
3306/tcp open mysql
8090/tcp open opsmessaging
No entanto, usar o nmap para digitalizar de outro sistema retorna:
Host is up (0.0011s latency).
Not shown: 995 filtered ports
PORT STATE SERVICE
53/tcp open domain
143/tcp open imap
993/tcp open imaps
995/tcp open pop3s
40193/tcp closed unknown
Portanto, embora pareça que as portas estão abertas, elas não são acessíveis do lado de fora.
Responder1
Consegui resolver isso, deixando instruções caso alguém encontre esse tópico com o mesmo problema.
O problema é que as regras do iptables não são salvas após a reinicialização. Especificamente, a parte IN_public_allow. Deve listar todas as portas abertas no seu servidor. Caso contrário, você deverá anexar essas regras manualmente, iptables -A IN_public_allow -p tcp --dport [PORT]-j ACCEPT
onde [Porta] é a porta que deve ser adicionada.
Para evitar isso após reinicializações futuras, você pode simplesmente instalar um pacote para salvar e restaurar as regras automaticamente com: apt-get install iptables-persistent
As regras podem ser salvas com iptables-save > /etc/iptables/rules.v4
e ip6tables-save > /etc/iptables/rules.v6
para IPv6.