Comando Nmap: Análise inicial de segurança em servidores

Compartilhe:

dois profissionais de ti analisando o escaneamento de portas feito pelo comando nmap

O comando nmap é uma ferramenta muito útil quando você precisa verificar como um servidor está exposto na rede, sendo bastante utilizado por administradores de sistemas, profissionais de infraestrutura e equipes de segurança.

No dia a dia, você pode usar o Nmap para validar regras de firewall, identificar máquinas ativas em uma rede ou descobrir quais portas estão abertas no linux.

Neste artigo, você aprenderá o que é o Nmap, como instala-lo em diferentes distribuições Linux e como usa-lo para fazer escaneamento básico de hosts em uma rede com exemplos práticos.

O que é nmap ?

O Nmap (Network Mapper) é uma ferramenta de código aberto que envia pacotes IP em uma rede para descoberta de hosts, varredura de portas, detecção de sistemas operacionais e auxilia em
auditorias de segurança.

O comando nmap não vêm instalado na maioria das distribuições linux, mas ele está presente nos repositórios de grande parte das distribuições.

Para instalar o nmap no ubuntu ou debian, execute os seguintes comandos:

Em sistemas RHEL, incluindo AlmaLinux, Rocky Linux e Fedora instale com o seguinte comando:

Como utilizar o comando nmap ?

Para usar o comando nmap no linux é necessário primeiro aprender sua sintaxe básica que é:

Explicação:

nmap – comando usado para fazer o escaneamento de portas.

opções – São argumentos que modificam o comportamento do nmap.

alvo – É quem será escaneado, pode ser um endereço IP, nome de domínio DNS ou uma sub-rede.

Abaixo, foi reunido algumas opções mais usadas para fazer a varredura com o nmap:

OpçãoDescriçãoExemplos de Uso
-sSVarredura TCP SYN Stealth.nmap -sS 192.168.2.10
-sTVarredura TCP Connect.nmap -sT 192.168.2.10
-PnTrata o host como ativo, ignorando descoberta inicial.nmap -Pn 192.168.2.10
-AAtiva detecção de S.O, versão e scripts.nmap -A 192.168.2.10
-gDefine porta de origem.nmap -g 53 192.168.2.10

Para aprender mair a seguir será abordado vários exemplos práticos de uso do comando nmap.

Descoberta rápida de portas abertas

Uma das utilizações mais comuns do nmap é verificar quais portas TCP mais comuns estão abertas e aceitando conexões, executando o comando nmap seguido do IP alvo.

Na saída do comando o status (STATE) “open” significa que a porta está aberta e uma aplicação está em execução no host alvo (no exemplo: 10.10.40.50) e aceitando conexões.

Esse comando analisa as 1.000 portas TCP mais utilizadas, na imagem acima é mostrada três portas abertas (22/tcp, 25/tcp e 80/tcp) e 997 fechadas (closed).

Escaneamento de um intervalo específico de portas

Quando um serviço roda em uma porta que não é a padrão (como o SSH na porta 2222), examinar apenas as portas padrão não é suficiente. Utilizando a opção “-p” você delimita o escopo da análise especificando um intervalo de portas que o nmap verificará se está aberta.

No exemplo, é incluso o caractere “” (hífen) para definir o intervalo, no caso é checado da porta 80 à 2222 TCP.

Para ser mais específico no escaneamento, você pode determinar exatamente quais portas serão checadas separando-as com vírgulas.

Detectando serviços e suas versões

Ao fazer a primeira análise de segurança em um servidor com o comando nmap é possível usar a opção “-sV” para identificar qual serviço está em execução e recebendo conexões na porta e qual é a versão da aplicação.

É uma prática recomendada confirmar no próprio servidor essas informações, porque o nmap pode falhar na identificação do serviço e sua respectiva versão.

Descobrindo sistema operacional do host

Descobrir quais portas estão abertas com o comando nmap não informa necessariamente qual o sistema operacional em execução no host alvo. Para saber qual o sistema operacional do host use a opção “-O” do nmap.

O Nmap analisa o comportamento da pilha TCP/IP do alvo e compara as respostas com seu banco de dados. A identificação é uma estimativa e pode falhar ou apresentar resultados imprecisos.

Escaneamento agressivo com o comando nmap

Durante testes de invasão autorizados é preciso fazer diagnósticos profundos de segurança, nessa situação você pode utilizar a opção “-A” do comando nmap para coletar o máximo de informações possíveis.

O parâmetro “-A” combina a detecção de SO, varredura de versão de serviços, execução de scripts de diagnóstico padrão e rota de rede. Ele fornece um relatório detalhado sobre a máquina analisada.

Entretanto, uma varredura mais agressiva gera mais tráfego e pode produzir mais registros em firewalls e sistemas de monitoramento.

Testando firewall através do comando nmap

Para testar a eficácia de regras de firewall e sistemas de detecção de intrusão (IDS) é necessário simular técnicas utilizadas por invasores para contornar filtros de inspeção de pacotes.

A flag “-f” divide os cabeçalhos dos pacotes IP em pequenos fragmentos. Se a regra do firewall do seu servidor não estiver bem estruturada para inspecionar pacotes fragmentados, o tráfego passará sem ser filtrado.

O Nmap também possui técnicas que ajudam a saber se existem algum dispositivo filtrando pacotes nas portas checadas. Um exemplo é o ACK scan utilizando a opção “-sA” do nmap:

A opção “-sA” é usada para determinar se as portas do host alvo são filtradas (filtered) ou não filtradas (unfiltered) por um dispositivo.

Esse tipo de teste tem como objetivo principal entender o comportamento do filtro/firewall. Na prática, STATE unfiltered significa que o pacote ACK parece conseguir chegar ao destino, mas o nmap não consegue afirmar que a porta está aberta, apenas que não está sendo filtrada.

Já o STATE filtered significa que algum firewall/filtro provavelmente está bloqueando ou descartando o tráfego.

Os comandos não devem ser usados para “driblar” um firewall e acessar sistemas de terceiros, mas verificar se os controles de segurança resistem a diferentes padrões de tráfego.

Escaneamento UDP para descoberta de serviços ocultos

Muitos administradores focam a segurança apenas no protocolo TCP, esquecendo que serviços
de rede também utilizam o protocolo UDP, como DNS (53), DHCP (67/68) e SNMP (161).

Para fazer um escaneamento em portas UDP em um IP com o comando nmap, utilize a opção “-sU”.

O status “closed” (porta fechada) significa que não há nenhuma aplicação ouvindo (recebendo conexões) nela. Elas podem ser úteis para mostrar que um host está ativo na rede em um determinado endereço IP.

Descobrir quais hosts estão ativos na rede

Você pode descobrir quais máquinas respondem em uma rede executando o comando nmap com a opção “-sn” sem executar varredura de portas.

Em uma empresa, isso pode ajudar a identificar servidores e estações presentes em uma sub-rede e detectar ativos que não deveriam estar ali.

Varredura disfarçada usando alvos falsos

Para avaliar se seus sistemas de segurança estão detectando varreduras de rede de forma eficiente, você pode mascarar a sua análise utilizando IPs simulados.

A opção “-D” insere endereços IP falsos junto ao seu IP real (ME). Nos logs do firewall ou IDS do alvo, parecerá que múltiplos hosts estão escaneando a máquina simultaneamente, é uma técnica que pode usar para não revelar o endereço IP de quem está fazendo a varredura.

Conclusão

O comando nmap é uma ferramenta indispensável para profissionais de segurança e qualquer administrador que busca manter servidores linux devidamente protegidos.

Aprender a usa-lo permite ajudar na identificação de vulnerabilidades e até mesmo na validação de firewalls. Para aprofundar seus conhecimentos consulte a documentação oficial do Nmap.

Recomendo que aplique os comandos aqui ensinados sempre com autorização e foco na melhoria contínua da sua infraestrutura.

Ficou com alguma dúvida sobre a aplicação dos parâmetros ou tem alguma sugestão de uso ? Deixe seu comentário abaixo para continuarmos essa troca de conhecimento!

Perguntas frequentes (FAQ) sobre o comando nmap

Qual a diferença entre os escaneamentos TCP SYN (-sS) e TCP Connect (-sT) ?

O escaneamento SYN (ou stealth scan) não finaliza a conexão TCP (envia SYN e aguarda SYN-ACK, sem enviar o ACK final), tornando-se mais rápido e menos visível em logs de aplicação.

Já o TCP Connect completa a conexão de três vias (three-way handshake), sendo utilizado quando o usuário não possui privilégios de root no Linux.

Por que o Nmap precisa de privilégios administrativos para alguns comandos ?

Operações avançadas, como a manipulação e criação de pacotes IP brutos (necessárias para varreduras SYN, detecção de SO e fragmentação de pacotes), exigem acesso direto aos raw sockets do kernel do Linux, permissão concedida apenas ao usuário root.

Como posso salvar os resultados das análises do Nmap em arquivos ?

Você pode utilizar o parâmetro “-oN” para salvar em texto simples ou “-oX” para formato XML, veja o exemplo: nmap -oN resultado.txt 10.10.40.50

O que significa quando o resultado mostra uma porta como “filtered” ?

O status “filtered” indica que o Nmap não conseguiu determinar se a porta está aberta ou fechada porque as sondas enviadas foram bloqueadas por um firewall, filtro de pacotes ou regra de tabela de roteamento.

Como posso me proteger contra varreduras do Nmap no meu servidor Linux ?

Você pode configurar firewall utilizando o iptables ou nftables, além de desabilitar a resposta a PINGs ICMP e ocultar as marcas de versão (banners) dos serviços em execução.

Navegue por tópicos:

Foto de Edson Oliveira
Edson Oliveira

Especialista em Linux, trabalhando com TI tem experiência no gerenciamento, solução de problemas e suporte de servidores linux em ambientes corporativos.

Professor de cursos voltados a linux, tecnologias open source e certificações LPI. Possui as certificações LPIC-1, LPIC-2 e LPIC-3 (Mixed Environment).

Navegue por tópicos:

Você também pode gostar:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Valorizamos sua privacidade

Utilizamos cookies para aprimorar sua experiência de navegação, exibir anúncios ou conteúdo personalizado e analisar nosso tráfego. Ao clicar no botão “Aceitar todos”, você concorda com nosso uso de cookies.

Para mais informações leia nossa Política de Privacidade.