Portas do servidor com UDP estão todas abertas

1

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?

    
por Yves 11.07.2017 / 03:44

1 resposta

1

A resposta UDP é um falso-positivo, você pode desconsiderar isso. O UDP é um protocolo sem conexão / sem estado, portanto, não está esperando nada ... sem resposta, má resposta ... é tudo a mesma coisa. O TCP é um protocolo com estado, uma vez que ambos os terminais retêm informações sobre o estado um do outro, confirmações são necessárias e podem retransmitir.

Lendo sobre protocolos sem estado: link

Estado TCP: link

    
por 11.07.2017 / 04:07