Provavelmente ufw
mostra apenas a configuração ufw e quaisquer regras inseridas diretamente na configuração do seu firewall (com iptables
ou outra ferramenta como docker) sem passar pelo ufw NÃO são exibidas.
25/tcp closed smtp
Why is this here?
Uma razão freqüente é que muitos ISPs (consumidores) e organizações bloqueiam o tráfego SMTP de saída.
81/tcp open hosts2-ns
Why is this port opened?
Não apenas a porta 81 está aberta, o nmap parou de varrer na porta 1024, mas eu espero que quando você verificar que a porta 3307 também esteja aberta.
Ele é aberto pela janela de encaixe, já que sua janela de encaixe é instruída a publicar as portas 81 e 3307 e mapeá-las para as instâncias da janela de encaixe ...
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------
app docker-php-entrypoint php-fpm Up 9000/tcp
database docker-entrypoint.sh mysqld Up 0.0.0.0:3307->3306/tcp, 33060/tcp
web nginx -g daemon off; Up 0.0.0.0:81->80/tcp
Inspecione a configuração de firewall ativa real sem a interface ufw amigável com por exemplo iptables-save
ou com iptables -L -v -n -t nat
(a maioria das interesing docker acontece nas seções NAT e de roteamento) e talvez iptables -L -v -n
Entradas relevantes seriam algo como:
# Generated by iptables-save v1.6.0 on Thu Sep 13 13:50:12 2018
*nat
:PREROUTING ACCEPT [21796:1434198]
:INPUT ACCEPT [9101:666864]
:OUTPUT ACCEPT [20943:1960461]
:POSTROUTING ACCEPT [118496:7063513]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A DOCKER -i docker0 -j RETURN
-A DOCKER ! -i docker0 -p tcp -m tcp --dport 3307 -j DNAT --to-destination 172.17.0.3:33060
-A DOCKER ! -i docker0 -p tcp -m tcp --dport 81 -j DNAT --to-destination 172.17.0.8:80
O que você provavelmente precisa fazer, se não quiser publicar as portas 81 e 3307 em toda a Internet, é alterar a maneira como você as publica na janela de encaixe. link