Sou um desenvolvedor trabalhando em um servidor CentOS7. Hoje eu quero verificar o status de todas as portas do servidor.
Primeiro eu executo o comando: firewall-cmd --zone=public --list-ports
e eu recebo isto:
110/tcp 443/tcp 80/tcp 995/tcp 143/tcp 3306/tcp 993/tcp
Todas as portas acima são abertas por mim, então tudo está bem.
Então eu uso outro PC Linux e uso nc
para varrer as portas do servidor (dizendo que o ip do servidor é a.a.a.a):
nc -v -z -w2 a.a.a.a 1-4000
Eu obtenho o mesmo resultado.
Depois disso, eu uso nc
para varrer portas usando UDP:
nc -v -z -w2 -u a.a.a.a 1-4000
Para minha surpresa, parece que todas as portas estão abertas porque recebo o resultado abaixo:
Connection to a.a.a.a port 1 [udp/tcpmux] succeeded!
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src b.b.b.b port 62086
dst a.a.a.a port 2
rank info not available
Connection to a.a.a.a port 2 [udp/compressnet] succeeded!
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src b.b.b.b port 60795
dst a.a.a.a port 3
rank info not available
Connection to a.a.a.a port 3 [udp/compressnet] succeeded!
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src b.b.b.b port 50133
dst a.a.a.a port 4
rank info not available
Connection to a.a.a.a port 4 [udp/*] succeeded!
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src b.b.b.b port 64246
dst a.a.a.a port 5
rank info not available
Connection to a.a.a.a port 5 [udp/rje] succeeded!
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src b.b.b.b port 50334
dst a.a.a.a port 6
rank info not available
...
...
Agora estou confuso.
Por que todas as portas estão abertas para o UDP? É seguro? Se não é seguro, por que o firewall não os fecha?
Para mim, "porta está aberta" significa que algum programa ou o sistema está escutando. Por exemplo, 80/tcp
significa que meu programa da web está escutando na porta 80. Se estou certo, isso significa que o servidor está escutando em todas as portas com UDP?
Ou "porta está aberta" significa apenas que o firewall não bloqueia a porta para que você possa usar algum programa para ouvi-la?