Use o Nmap para verificar portas de rede comuns

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá a usar o Nmap para verificar portas de rede comuns. A varredura de portas é uma técnica fundamental de segurança de rede, pois ajuda a identificar portas abertas em um sistema de destino. Essas portas podem servir como pontos de entrada para invasores. Por isso, essa é uma habilidade essencial para administradores de rede e profissionais de segurança.

Ao dominar o Nmap, uma poderosa ferramenta de código aberto para varredura de redes, você poderá descobrir serviços ativos em uma rede, avaliar vulnerabilidades de segurança e manter a integridade dos seus sistemas.

Entenda as portas de rede e instale um servidor web

Nesta etapa, você aprenderá o que são portas de rede e por que elas são importantes para a cibersegurança. As portas de rede permitem a comunicação entre diferentes aplicativos e serviços em uma rede de computadores. Elas funcionam como pontos de passagem para os dados que entram e saem de um sistema. Por isso, são um conceito essencial para quem se interessa por segurança de rede.

O que são portas de rede?

Portas de rede são pontos de extremidade virtuais usados para comunicação em uma rede de computadores. Pense nelas como portas pelas quais diferentes aplicativos e serviços enviam e recebem dados. Elas permitem que vários aplicativos e serviços compartilhem os recursos de rede de um mesmo sistema sem interferir uns nos outros. As portas são identificadas por números de 0 a 65535, divididos em faixas destinadas a finalidades específicas:

  • Portas 0 - 1023: são portas conhecidas, reservadas para serviços padrão. Por exemplo, o HTTP (usado para navegação na web) normalmente usa a porta 80, o FTP (para transferência de arquivos) usa a porta 21 e o SSH (para acesso remoto seguro) usa a porta 22.
  • Portas 1024 - 49151: são portas registradas para aplicativos específicos. Os desenvolvedores de software podem registrar um número de porta para uso de seus aplicativos.
  • Portas 49152 - 65535: são portas dinâmicas ou privadas. Os aplicativos as usam quando precisam estabelecer uma conexão temporária.

Configure um servidor web para a varredura

Para praticar a varredura de portas, primeiro vamos configurar um servidor web na máquina local. Um servidor web é um programa que usa HTTP (Hypertext Transfer Protocol, ou Protocolo de Transferência de Hipertexto) para disponibilizar aos usuários os arquivos que compõem as páginas da web. Quando alguém digita o endereço de um site no navegador, o navegador envia uma solicitação ao servidor web, que responde enviando as páginas correspondentes. Por padrão, os servidores web usam a porta 80.

Abra uma janela de terminal no ambiente LabEx VM. O terminal é uma interface baseada em texto que permite interagir com o sistema operacional digitando comandos. O diretório atual deve ser /home/labex/project. Para confirmar o diretório atual, execute:

pwd

O comando pwd significa "print working directory" (exibir diretório de trabalho). Ao executá-lo, você verá o caminho do diretório atual. A saída deve ser semelhante a:

/home/labex/project

Instale o servidor web Apache2:

sudo apt update && sudo apt install apache2 -y

O comando sudo executa comandos com privilégios administrativos. apt update atualiza as informações dos pacotes no sistema, e apt install apache2 -y instala o servidor web Apache2. A opção -y responde automaticamente "yes" às solicitações de confirmação da instalação.

Inicie o serviço Apache2:

sudo service apache2 start

O comando service gerencia serviços do sistema. Neste caso, ele inicia o Apache2 para que o serviço possa aceitar solicitações recebidas.

Verifique se o Apache2 está em execução:

sudo service apache2 status

A opção status exibe o estado atual do serviço Apache2. Você deverá ver uma saída semelhante a:

* apache2 is running

Você também pode verificar se o servidor web está acessível criando uma nova guia "Web Service". Clique no símbolo + na barra de guias superior do ambiente virtual, selecione "Web Service" e informe a porta 80. Se tudo estiver configurado corretamente, a página de boas-vindas padrão do Apache2 será exibida.

Agora o servidor web está em execução no sistema e abriu a porta 80 para comunicação. Na próxima etapa, você usará o Nmap para localizar essa porta aberta.

Conheça o Nmap e faça uma varredura das portas comuns

Nesta etapa, você usará o Nmap para descobrir quais portas estão abertas no sistema do servidor web que configurou. Identificar portas abertas é essencial para a segurança de rede, pois elas podem servir como pontos de entrada para invasores. Com o Nmap, você pode identificar essas portas e tomar as medidas de segurança adequadas.

O que é o Nmap?

Nmap, abreviação de Network Mapper, é uma ferramenta gratuita e conhecida de código aberto usada para descoberta de redes e auditoria de segurança. Ela tem diversas aplicações na área de segurança de rede:

  • Descobrir hosts e serviços em uma rede: o Nmap ajuda a identificar quais dispositivos estão conectados à rede e quais serviços oferecem. Por exemplo, ele pode detectar a presença de um servidor de arquivos, de um servidor web ou de um servidor de e-mail.
  • Criar um inventário dos sistemas de uma rede: você pode usar o Nmap para listar todos os sistemas de uma rede, incluindo seus endereços IP e os serviços em execução. Esse inventário ajuda administradores de rede a gerenciar e manter a rede.
  • Verificar quais portas estão abertas nos hosts de destino: as portas são como portas de entrada para um computador. Uma porta aberta indica que há um serviço aguardando conexões. O Nmap pode verificar um host de destino para descobrir quais portas estão abertas.
  • Identificar o sistema operacional e as versões dos serviços dos hosts da rede: conhecer o sistema operacional e as versões dos serviços em execução em um host ajuda profissionais de segurança a verificar se há vulnerabilidades conhecidas que invasores poderiam explorar.

Faça uma varredura das portas comuns com o Nmap

O Nmap oferece várias opções de varredura. Para quem está começando, a opção de varredura rápida (-F) é muito útil. Por padrão, o Nmap verifica 1000 portas, o que pode levar bastante tempo. A opção -F reduz a quantidade de portas verificadas às 100 mais comuns, tornando a varredura muito mais rápida.

Faça uma varredura rápida na máquina local para encontrar o servidor web que você acabou de configurar:

Abra o terminal e execute uma varredura rápida no sistema local:

nmap -F localhost

Esse comando tem três partes:

  • nmap: inicia a ferramenta de varredura de rede.
  • -F: ativa o modo de varredura rápida e limita a verificação às 100 portas mais comuns.
  • localhost: define como destino a máquina local, no endereço IP 127.0.0.1.

Depois de executar o comando, você verá uma saída semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 96 closed ports
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in X.XX seconds

Essa saída apresenta informações importantes:

  • A varredura foi feita na máquina local, que tem o endereço IP 127.0.0.1.
  • A porta 80 está aberta e executa o serviço HTTP. Esse é o servidor web Apache instalado anteriormente, pois, por padrão, o Apache escuta na porta 80.
  • As outras portas comuns estão fechadas e não são detalhadas na saída.

Para obter informações mais detalhadas, incluindo as versões dos serviços em execução nas portas abertas, execute:

nmap -sV -F localhost

A opção -sV identifica as versões dos serviços em execução nas portas abertas. A saída será mais detalhada:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-XX-XX XX:XX UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 96 closed ports
PORT   STATE SERVICE VERSION
80/tcp open  http    Apache httpd 2.4.X

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in X.XX seconds

Essa saída confirma que o servidor web Apache está em execução na porta 80 e identifica sua versão.

Entenda os resultados

Os resultados da varredura mostram que a porta 80 está aberta e executa o serviço HTTP. Esse é o resultado esperado, pois instalamos e iniciamos o servidor web Apache, que, por padrão, escuta na porta 80. Em situações reais, saber quais portas estão abertas é muito importante para profissionais de segurança:

  • Identificar possíveis vulnerabilidades de segurança: diferentes serviços em execução em portas abertas podem ter vulnerabilidades conhecidas. Ao identificar as portas abertas e os serviços que as utilizam, profissionais de segurança podem verificar se há riscos.
  • Garantir que apenas os serviços necessários estejam em execução: serviços desnecessários em portas abertas podem ampliar a superfície de ataque. Ao identificar as portas abertas, profissionais de segurança podem garantir que apenas os serviços realmente necessários estejam em execução.
  • Verificar se as regras do firewall estão funcionando como esperado: firewalls controlam o tráfego de rede que entra e sai. A varredura de portas abertas ajuda profissionais de segurança a confirmar se o firewall bloqueia e permite as portas previstas.

Documente os resultados da varredura e entenda as implicações de segurança

Na área de segurança de rede, documentar as descobertas é uma etapa essencial. O Nmap oferece recursos integrados para gerar relatórios que ajudam a registrar os resultados da varredura com mais eficiência. Nesta etapa, você aprenderá a gerar relatórios com o Nmap, analisar os resultados e discutir as implicações de segurança das portas abertas. Por fim, você interromperá corretamente os serviços iniciados neste laboratório para manter a segurança do sistema.

Gere relatórios com o Nmap

O Nmap pode salvar diretamente os resultados da varredura em vários formatos de relatório, incluindo texto simples, XML, JSON e outros. Isso é mais eficiente e preciso do que criar relatórios manualmente. Use as opções de saída do Nmap para gerar um relatório:

Execute uma varredura do Nmap com opções de saída:

nmap -F -sV localhost -oN /home/labex/project/nmap_report.txt

Neste comando:

  • A opção -F faz uma varredura rápida, verificando apenas as 100 portas mais comuns.
  • A opção -sV tenta identificar as versões dos serviços em execução nas portas abertas.
  • -oN /home/labex/project/nmap_report.txt salva a saída em texto simples no arquivo especificado.

Exiba o relatório gerado:

cat /home/labex/project/nmap_report.txt

O relatório incluirá todas as informações da varredura, como:

  • Data e hora da varredura
  • Informações do destino
  • Lista de portas abertas
  • Serviços e versões em execução em cada porta aberta

Outras opções de formato de relatório

O Nmap oferece vários formatos de saída para diferentes finalidades:

  • -oX filename - saída no formato XML, adequada para processamento automatizado
  • -oG filename - saída no formato Grepable, conveniente para pesquisar com grep
  • -oJ filename - saída no formato JSON, adequada para aplicativos modernos
  • -oA filename - saída simultânea em todos os formatos (Normal, XML e Grepable)

Por exemplo, para gerar um relatório no formato XML:

nmap -F -sV localhost -oX /home/labex/project/nmap_report.xml

Entenda as implicações de segurança dos resultados da varredura

O relatório da varredura mostra que a porta 80/tcp está aberta e executa um serviço HTTP (servidor web Apache). Isso tem várias implicações importantes para a segurança:

  • Possível ponto de entrada para ataques: portas abertas são como portas de entrada em um edifício. Cada porta aberta pode servir como uma possível via de acesso para invasores entrarem no sistema.
  • Risco de vulnerabilidades nos serviços: os serviços em execução nas portas abertas podem ter falhas de segurança que invasores poderiam explorar.
  • Canal de comunicação que precisa de monitoramento: portas abertas são usadas para comunicação. Monitore a atividade nessas portas para detectar comportamentos incomuns.

Para proteger as portas, siga estas práticas recomendadas:

  • Mantenha abertas apenas as portas necessárias: portas abertas desnecessárias aumentam a superfície de ataque do sistema.
  • Atualize regularmente os serviços que usam essas portas: as atualizações costumam incluir correções de segurança para vulnerabilidades.
  • Implemente regras de firewall para restringir o acesso: firewalls ajudam a controlar quem pode acessar o sistema por portas específicas.
  • Monitore a atividade nas portas para identificar padrões incomuns: o monitoramento ajuda a detectar possíveis ameaças e responder a elas em tempo hábil.

Limpeza do laboratório

Agora que a atividade de varredura foi concluída, interrompa o servidor web Apache. Manter serviços em execução quando não são necessários pode representar riscos de segurança. Por isso, é importante fazer a limpeza corretamente.

Interrompa o serviço Apache:

sudo service apache2 stop

Verifique se o serviço foi interrompido:

sudo service apache2 status

A saída deverá indicar que o Apache2 não está em execução, por exemplo:

* apache2 is not running

Confirme que a porta 80 está fechada:

nmap -F localhost

A saída deverá mostrar a porta 80 como fechada ou não listá-la entre as portas abertas. Essa etapa de limpeza é essencial em situações reais para garantir que serviços desnecessários não continuem em execução, o que poderia representar riscos de segurança.

Resumo

Neste laboratório, você aprendeu os fundamentos da varredura de portas de rede com o Nmap, uma poderosa ferramenta de código aberto para segurança de rede. Você praticou a identificação de portas de rede, a configuração de um servidor web com uma porta aberta, a varredura de portas comuns com o Nmap, a interpretação dos resultados, o registro das descobertas em um relatório de segurança e a interrupção correta dos serviços.

Essas habilidades são fundamentais para a avaliação de segurança de redes. Elas são essenciais para profissionais de segurança de TI, administração de redes e gerenciamento de sistemas. Dominar a varredura de portas ajuda a identificar vulnerabilidades na rede e a proteger sistemas contra acessos não autorizados.