15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
25.12.2024

Verificando Portas Abertas e em Escuta no Linux Usando Netstat e SS

Monitorizar portas abertas e à escuta num sistema Linux é uma das práticas mais fundamentais para manter a segurança do servidor, diagnosticar problemas de rede e gerir a sua infraestrutura de forma eficaz. Quer esteja a executar um servidor web de produção, um ambiente de VPS Hosting, ou um Servidor Dedicado, compreender exatamente quais as portas abertas — e quais os serviços ligados a elas — dá-lhe a visibilidade necessária para prevenir acessos não autorizados, detetar configurações incorretas e eliminar superfícies de ataque desnecessárias.

Neste guia abrangente, vamos mostrar-lhe como usar os comandos netstat e ss para verificar portas abertas e à escuta em qualquer sistema Linux, comparar os seus pontos fortes e apresentar ferramentas adicionais como lsof e nmap para análise de rede mais profunda.

Por que Monitorizar Portas Abertas é Importante

Cada porta aberta no seu servidor representa um potencial ponto de entrada. Serviços que estão mal configurados, desatualizados ou simplesmente esquecidos podem expor o seu sistema a exploração. Auditar regularmente as suas portas à escuta permite-lhe:

  • Identificar serviços não autorizados em execução em portas inesperadas
  • Detetar tentativas de intrusão ou processos comprometidos
  • Verificar que as regras da firewall estão a funcionar conforme pretendido
  • Confirmar que as aplicações recentemente implementadas estão ligadas às interfaces corretas
  • Fechar portas não utilizadas para reduzir a sua superfície de ataque

Isto é especialmente crítico para administradores que gerem ambientes de Alojamento Web Partilhado ou servidores multi-inquilino onde múltiplos serviços são executados simultaneamente.

Compreender Portas e os Seus Tipos

Antes de mergulhar nas ferramentas, é importante compreender a terminologia que encontrará na saída dos comandos.

TermoDescrição
Porta AbertaUma porta na qual uma aplicação está ativamente à escuta de ligações recebidas
Porta à EscutaUma porta ligada a um serviço que está à espera de tráfego de rede
TCP (Transmission Control Protocol)Orientado à ligação, fiável, utilizado por HTTP, SSH, FTP, etc.
UDP (User Datagram Protocol)Sem ligação, mais rápido mas menos fiável, utilizado por DNS, NTP, etc.

Verificar Portas com netstat

O que é netstat?

netstat (estatísticas de rede) é um utilitário clássico de linha de comandos que fornece informações detalhadas sobre ligações de rede, tabelas de encaminhamento, estatísticas de interface e portas à escuta. Embora tenha sido oficialmente descontinuado a favor de ss em distribuições modernas, continua amplamente utilizado e ainda se encontra em muitos sistemas legados.

Instalar netstat

O comando netstat faz parte do pacote net-tools, que pode não estar instalado por padrão em distribuições Linux modernas.

Debian / Ubuntu:

sudo apt install net-tools

CentOS / RHEL / AlmaLinux / Rocky Linux:

sudo yum install net-tools

Usar netstat para Verificar Portas Abertas e à Escuta

Para apresentar todas as portas TCP e UDP à escuta no seu sistema, execute o seguinte comando:

sudo netstat -tuln

Desagregação de sinalizadores:

SinalizadorDescrição
-tMostrar portas TCP
-uMostrar portas UDP
-lMostrar apenas portas à escuta
-nApresentar endereços numéricos em vez de resolver nomes de anfitriões

Saída de Exemplo

Proto  Recv-Q  Send-Q  Local Address     Foreign Address   State
tcp         0       0  0.0.0.0:22        0.0.0.0:*         LISTEN
tcp         0       0  0.0.0.0:80        0.0.0.0:*         LISTEN
tcp6        0       0  :::443            :::*              LISTEN
udp         0       0  0.0.0.0:53        0.0.0.0:*

Compreender as Colunas de Saída

  • Endereço Local — O endereço IP e número de porta onde o serviço está à escuta. 0.0.0.0 significa que o serviço está à escuta em todas as interfaces disponíveis.
  • Endereço Remoto — O IP remoto e porta para ligações ativas. Um asterisco (*) significa que nenhuma ligação está estabelecida ainda.
  • Estado — O estado da ligação. LISTEN indica que a porta está aberta e à espera de ligações recebidas.

Filtrar Portas Específicas com netstat

Pode canalizar a saída através de grep para isolar uma porta ou serviço específico. Por exemplo, para verificar se algo está à escuta na porta 80 (HTTP):

sudo netstat -tuln | grep ":80"

Para verificar a porta 443 (HTTPS), que é essencial para servidores com Certificados SSL instalados:

sudo netstat -tuln | grep ":443"

Para também apresentar o nome do processo e PID responsável por cada ligação, adicione o sinalizador -p:

sudo netstat -tulnp

Verificar Portas com ss

O que é ss?

ss (estatísticas de socket) é a substituição moderna de netstat. É mais rápido, mais eficiente e fornece saída mais rica — particularmente em sistemas com um elevado número de ligações simultâneas. O comando ss está incluído por padrão em praticamente todas as distribuições Linux modernas e não requer instalação adicional.

Usar ss para Verificar Portas Abertas e à Escuta

A sintaxe de ss espelha de perto a de netstat, tornando a transição direta:

ss -tuln

Desagregação de sinalizadores:

SinalizadorDescrição
-tMostrar sockets TCP
-uMostrar sockets UDP
-lMostrar apenas sockets à escuta
-nApresentar endereços numéricos

Saída de Exemplo

Netid  State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128     0.0.0.0:22            0.0.0.0:*
tcp    LISTEN  0       511     0.0.0.0:80            0.0.0.0:*
tcp    LISTEN  0       511        [::]:443             [::]:*
udp    UNCONN  0       0       0.0.0.0:53            0.0.0.0:*

Utilização Avançada de ss

O comando ss oferece uma gama de opções avançadas de filtragem e apresentação que vão muito além do que netstat pode fornecer.

Mostrar Apenas Portas TCP à Escuta

ss -tl

Mostrar Apenas Portas UDP à Escuta

ss -ul

Apresentar Nomes de Processos e PIDs

Para identificar exatamente qual o processo que está a usar uma porta específica, use o sinalizador -p:

ss -tulnp

Este é um dos comandos mais úteis para resolução de problemas — mostra o nome do processo e PID juntamente com cada socket à escuta, tornando imediatamente claro qual a aplicação que é proprietária de qual porta.

Saída de Exemplo com Sinalizador -p

Netid  State   Local Address:Port   Process
tcp    LISTEN  0.0.0.0:80           users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0.0.0.0:22           users:(("sshd",pid=987,fd=3))
tcp    LISTEN  0.0.0.0:3306         users:(("mysqld",pid=2345,fd=21))

Filtrar por uma Porta Específica

Para verificar qual o processo à escuta na porta 8080:

ss -tulnp | grep ":8080"

Mostrar Todas as Ligações TCP Estabelecidas

ss -tn state established

Mostrar Estatísticas de Resumo

ss -s

Isto fornece um resumo rápido de sockets totais por tipo e estado — útil para detetar volumes de ligação incomuns.

netstat vs. ss: Uma Comparação Direta

Funcionalidade`netstat``ss`
DesempenhoMais lento em sistemas ocupadosSignificativamente mais rápido
Disponibilidade por padrãoRequer pacote net-toolsPré-instalado em distribuições modernas
Opções de filtragemBásicas (grep necessário)Filtros avançados incorporados
Informações de processoDisponível com -pDisponível com -p
Detalhe de saídaPadrãoInformações de socket mais detalhadas
Recomendado paraSistemas legados, familiaridadeAmbientes Linux modernos

Quando Usar netstat

  • Em sistemas Linux mais antigos onde ss não está disponível
  • Ao trabalhar com scripts ou documentação escrita em torno da sintaxe netstat
  • Para verificações rápidas em sistemas onde net-tools já está instalado

Quando Usar ss

  • Em qualquer distribuição Linux moderna (Ubuntu 20.04+, CentOS 8+, Debian 10+, etc.)
  • Quando precisa de saída mais rápida em servidores de alto tráfego
  • Para filtragem avançada e análise detalhada de socket

Ferramentas Adicionais para Auditoria de Portas

Além de netstat e ss, vários outros utilitários são valiosos para uma auditoria de porta completa.

Usar lsof

lsof (listar ficheiros abertos) trata sockets de rede como ficheiros, tornando-a outra forma poderosa de identificar qual o processo que está a usar uma porta determinada.

Para verificar qual o processo ligado à porta 80:

sudo lsof -i :80

Para verificar todas as portas à escuta:

sudo lsof -i -P -n | grep LISTEN

Saída de exemplo:

COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nginx    1234     root   6u  IPv4   23456      0t0  TCP *:80 (LISTEN)
sshd      987     root   3u  IPv4   12345      0t0  TCP *:22 (LISTEN)

Usar nmap

nmap é uma ferramenta poderosa de digitalização de rede que pode detetar portas abertas tanto localmente como em anfitriões remotos. É particularmente útil para verificar a sua configuração de firewall de uma perspetiva externa.

Instale nmap se ainda não estiver presente:

sudo apt install nmap       # Debian/Ubuntu
sudo yum install nmap       # CentOS/RHEL

Digitalize todas as portas TCP na máquina local:

sudo nmap -sT localhost

Digitalize portas abertas num endereço IP específico:

sudo nmap -sV 192.168.1.100

O sinalizador -sV também tenta detetar a versão do serviço em execução em cada porta aberta, o que é inestimável para identificar software desatualizado ou vulnerável.

> Nota de Segurança: Execute apenas digitalizações nmap em sistemas que possui ou tem permissão explícita para digitalizar.

Fluxo de Trabalho Prático de Segurança: Auditar as Portas do Seu Servidor

Aqui está um fluxo de trabalho recomendado passo a passo para auditar portas abertas num servidor Linux:

  1. Listar todas as portas à escuta com informações de processo:
   ss -tulnp
  1. Referenciar cruzadamente cada porta em relação aos serviços esperados. Se vir um processo desconhecido numa porta inesperada, investigue imediatamente.
  1. Verificar
15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar