Scanner de portas

Vinte portas conhecidas, uma ligação TCP a cada uma, a partir do servidor da sysosx — e três respostas honestas, não duas. Uma porta pode estar aberta (algo responde), fechada (o anfitrião recusa ativamente) ou filtrada (silêncio — normalmente uma firewall a descartar pacotes, não a prova de que não há lá nada). O alvo predefinido é scanme.nmap.org, o anfitrião público que o projeto nmap mantém precisamente para as pessoas aprenderem a examinar; para qualquer outro anfitrião, examine os seus próprios servidores ou aqueles que está autorizado a testar.

Quer que isto seja vigiado continuamente? Vigie isto grátis com o myeventwatch — alertas de expiração e indisponibilidade, sem cartão.

O que o exame mede

Um exame de portas é muitas vezes descrito como «verificar que portas estão abertas», e a metáfora é suficientemente exata para ser útil — com uma correção. Uma porta pode estar aberta, trancada ou simplesmente sem resposta: bater e não ouvir nada não é o mesmo que encontrar a porta trancada, e um scanner que só reporta aberta e fechada está a esconder o terceiro caso. É por isso que este scanner reporta aberta, fechada e filtrada como três estados distintos. Aberta significa que a ligação teve sucesso, portanto um serviço está a escutar e a aceitar ligações. Fechada significa que o anfitrião enviou uma reposição — está vivo e não tem nada nessa porta. Filtrada significa que a espera completa de um segundo passou em silêncio, que é o aspeto que uma firewall a descartar pacotes tem por fora; a porta pode ter um serviço atrás dessa firewall, e o exame não pode afirmar o contrário. Manter filtrada separada é a diferença entre um resultado sobre o qual pode agir e um que o engana em silêncio.

O exame é deliberadamente estreito. Ele sonda uma lista fixa de cerca de vinte portas — web (80, 8080, 8443, 443), correio (25, 110, 143, 993, 995), DNS (53), acesso remoto (22, 23, 3389, 5900), partilha de ficheiros (445), bases de dados (3306, 5432, 27017) e algumas outras — com simples ligações TCP e mais nada. Não há leitura de banners, por isso o exame nunca aprende (nem divulga) a versão de um serviço; não há UDP, cujas respostas «filtradas» são muito mais ruidosas; e não há forma de fornecer as suas próprias portas, porque uma entrada de portas arbitrárias transforma uma ferramenta de primeiro olhar num serviço geral de mapeamento. O próprio alvo é resolvido uma vez e cada ligação vai para esse único endereço fixado, de modo que um nome que mude a meio do exame não pode redirecionar as sondas para outro lugar. Por baixo, a página chama GET /api/check/port-scan no servidor da sysosx, que executa as vinte ligações em paralelo e guarda o resultado em cache durante dez minutos.

Como ler um resultado

Comece pelas portas abertas — são a superfície de ataque real, os serviços a que a internet pode chegar. Um 22 ou um 3389 abertos significam que o acesso remoto é alcançável a partir de qualquer lugar, o que pode ser intencional (um servidor que administra) ou pode ser a primeira coisa a restringir aos seus próprios endereços. Uma porta de base de dados aberta (3306, 5432, 27017) virada para a internet quase nunca é intencional e merece atenção imediata: as bases de dados destinam-se a ser alcançadas por aplicações, não por toda a internet. As portas 80 e 443 abertas são normais num servidor web; as portas de correio abertas são normais num servidor de correio; tudo o resto que esteja aberto deve conseguir explicar-se a si próprio. As portas fechadas não precisam de nada: o anfitrião está vivo e a recusar, que é o estado esperado para a maior parte da lista na maioria dos servidores. As portas filtradas só merecem uma segunda olhadela se esperava algo lá — um serviço que executa e que o exame não consegue ver é normalmente uma regra de firewall a fazer o seu trabalho, ou um serviço ligado à interface errada, e o exame por si só não consegue distinguir as duas coisas. Um resultado sem nenhuma porta aberta é um resultado normal, não um erro: significa que nenhum dos vinte serviços habituais é alcançável a partir do ponto de vista deste servidor, que é exatamente o aspeto de um anfitrião reforçado.

Ferramentas relacionadas: o avaliador SSL para a configuração TLS da porta 443 assim que souber que está aberta, a verificação de saúde do site para acessibilidade e registos juntos, e o verificador de propagação de DNS quando a pergunta é para onde aponta um nome e não o que responde nele.

Leitura adicional: o que as portas abertas dizem sobre um servidor — como ler um exame como um operador, que portas abertas são normais e quais são uma chamada às 3 da manhã à espera de acontecer.

Perguntas frequentes

Como é que isto difere de executar o nmap?

O nmap examina tudo, de todas as maneiras: intervalos completos de portas, UDP, deteção de versões, impressão digital do sistema operativo. Esta ferramenta faz uma única coisa estreita a partir do servidor da sysosx — ligações TCP a uma lista fixa de cerca de vinte portas conhecidas, e mais nada. Sem leitura de banners, sem deteção de versões, sem UDP, sem portas personalizadas. Essa estreiteza é o objetivo: responde a «o que está a escutar nas portas habituais?» sem se tornar um scanner de uso geral que qualquer pessoa possa apontar a qualquer coisa.

O que significam realmente aberta, fechada e filtrada?

Aberta significa que uma ligação TCP teve sucesso — algo está a escutar e a aceitar ligações nessa porta. Fechada significa que o anfitrião recusou ativamente a ligação (um pacote de reposição), que é como um anfitrião vivo que não tem nada nessa porta responde. Filtrada significa que a porta não deu nenhuma resposta dentro de um segundo — normalmente uma firewall a descartar pacotes em silêncio. Filtrada não é fechada: uma porta filtrada pode ter um serviço atrás de uma firewall, e a única afirmação honesta é «sem resposta». A tabela de resultados mantém os três estados separados exatamente por essa razão.

Porque só vinte portas, e porque não posso adicionar as minhas?

Porque um scanner de portas com uma entrada de portas arbitrárias é uma ferramenta para mapear qualquer anfitrião na internet, e este site não vai ser isso. A lista cobre as portas que importam para um primeiro olhar — web, correio, DNS, bases de dados, acesso remoto, partilha de ficheiros — e o servidor recusa tudo o que está fora dela. Se precisa de um exame completo de um anfitrião que lhe pertence, execute o nmap a partir da sua própria máquina, onde controla o âmbito e as consequências.

Porque é que scanme.nmap.org é a predefinição?

Porque existe exatamente para este propósito: o projeto nmap mantém-no como um alvo público que qualquer pessoa pode examinar, para aprender como funciona o exame. É o único anfitrião na internet onde examinar não precisa de nenhuma discussão sobre permissões. Para qualquer outro anfitrião, a regra é simples: examine os seus próprios servidores, servidores que está autorizado a testar, ou alvos públicos de teste — nunca a infraestrutura de um desconhecido.

Porque é que o resultado fica em cache dez minutos, e porque cinco exames novos por hora?

Um exame são vinte ligações TCP em paralelo, não um único aperto de mão, por isso custa mais do que as outras verificações e é mais fácil abusar dele para sondagens em massa. A cache de dez minutos significa que uma verificação repetida do mesmo anfitrião não custa nada, e o limite de exames novos, mais estrito (cinco por hora por visitante, dois por minuto no máximo), mantém a ferramenta utilizável para uma pessoa que verifica os seus próprios servidores sem se tornar um serviço de sondagem. Um resultado em cache é assinalado como tal; as portas abertas de um anfitrião raramente mudam de minuto para minuto.