Poupe 15% em todos os serviços de alojamento

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código: Skills Começar a trabalhar
Secções
Linux Segurança

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

Monitorizar portas abertas e em 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 Dedicated Server, 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 utilizar os comandos netstat e ss para verificar portas abertas e em escuta em qualquer sistema Linux, comparar os seus pontos fortes e apresentar ferramentas adicionais como lsof e nmap para uma análise de rede mais profunda.

Por que Monitorar Portas Abertas é Importante

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

  • Identifique serviços não autorizados em execução em portas inesperadas
  • Detecte tentativas de intrusão ou processos comprometidos
  • Verifique se as regras de firewall estão funcionando conforme pretendido
  • Confirme que aplicações recém-implantadas estão vinculadas às interfaces corretas
  • Feche portas não utilizadas para reduzir sua superfície de ataque

Isto é especialmente crítico para administradores que gerenciam ambientes de Shared Web Hosting ou servidores multi-tenant onde múltiplos serviços são executados simultaneamente.

Compreender Portas e 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 conexões recebidas
Porta à EscutaUma porta vinculada a um serviço que está aguardando tráfego de rede
TCP (Transmission Control Protocol)Orientado à conexão, confiável, utilizado por HTTP, SSH, FTP, etc.
UDP (User Datagram Protocol)Sem conexão, mais rápido mas menos confiá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 comando que fornece informações detalhadas sobre conexões de rede, tabelas de roteamento, estatísticas de interface e portas de escuta. Embora tenha sido oficialmente descontinuado em favor de ss em distribuições modernas, continua amplamente utilizado e ainda é encontrado em muitos sistemas legados.

Instalando 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

Usando netstat para Verificar Portas Abertas e de Escuta

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

sudo netstat -tuln

Detalhamento das flags:

FlagDescrição
-tMostrar portas TCP
-uMostrar portas UDP
-lMostrar apenas portas de escuta
-nExibir endereços numéricos em vez de resolver nomes de host

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:*

Compreendendo as Colunas de Saída

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

Filtrando Portas Específicas com netstat

Você 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á de 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 exibir o nome do processo e PID responsáveis por cada conexão, adicione a flag -p:

sudo netstat -tulnp

Verificar Portas com ss

O que é ss?

ss (estatísticas de socket) é o substituto moderno para netstat. É mais rápido, mais eficiente e fornece uma saída mais rica — particularmente em sistemas com um alto número de conexõ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.

Usando ss para Verificar Portas Abertas e em Escuta

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

ss -tuln

Detalhamento das flags:

FlagDescrição
-tMostrar sockets TCP
-uMostrar sockets UDP
-lMostrar apenas sockets em escuta
-nExibir 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 exibição que vão muito além do que netstat pode fornecer.

Mostrar Apenas Portas TCP em Escuta

ss -tl

Mostrar Apenas Portas UDP em Escuta

ss -ul

Exibir Nomes de Processos e PIDs

Para identificar exatamente qual processo está usando uma porta específica, use a flag -p:

ss -tulnp

Este é um dos comandos mais úteis para resolução de problemas — mostra o nome do processo e o PID ao lado de cada socket em escuta, deixando imediatamente claro qual aplicação é proprietária de qual porta.

Saída de Exemplo com a Flag -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 processo está em escuta na porta 8080:

ss -tulnp | grep ":8080"

Mostrar Todas as Conexões TCP Estabelecidas

ss -tn state established

Mostrar Estatísticas de Resumo

ss -s

Isto fornece um resumo rápido do total de sockets por tipo e estado — útil para detectar volumes de conexão incomuns.

netstat vs. ss: Uma Comparação Direta

Funcionalidade`netstat``ss`
DesempenhoMais lento em sistemas ocupadosSignificativamente mais rápido
Disponibilidade padrãoRequer pacote net-toolsPré-instalado em distribuições modernas
Opções de filtragemBásica (grep necessário)Filtros avançados integrados
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 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 você 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 portas completa.

Usando lsof

lsof (list open files) trata sockets de rede como arquivos, tornando-se outra forma poderosa de identificar qual processo está usando uma determinada porta.

Para verificar qual processo está vinculado à porta 80:

sudo lsof -i :80

Para verificar todas as portas em escuta:

sudo lsof -i -P -n | grep LISTEN

Exemplo de saída:

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)

Usando nmap

nmap é uma poderosa ferramenta de varredura de rede que pode detectar portas abertas tanto localmente quanto em hosts remotos. É particularmente útil para verificar sua configuração de firewall de uma perspectiva externa.

Instale nmap se ainda não estiver presente:

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

Verifique todas as portas TCP na máquina local:

sudo nmap -sT localhost

Verifique portas abertas em um endereço IP específico:

sudo nmap -sV 192.168.1.100

A flag -sV também tenta detectar 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 varreduras nmap em sistemas que você possui ou tem permissão explícita para verificar.

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

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

  1. Liste todas as portas em escuta com informações do processo:
   ss -tulnp
  1. Faça referência cruzada de cada porta contra serviços esperados. Se você vir um processo desconhecido em uma porta inesperada, investigue imediatamente.
  1. Verifique se há serviços escutando em todas as interfaces (0.0.0.0) que devem ser acessíveis apenas localmente. Por exemplo, um servidor de banco de dados (porta 3306) deve normalmente se vincular a 127.0.0.1, não a 0.0.0.0.
  1. Verifique suas regras de firewall com iptables -L -n ou ufw status verbose para garantir que apenas as portas pretendidas sejam expostas externamente.
  1. Use nmap de um host externo para confirmar quais portas são realmente acessíveis a partir da internet, pois as regras de firewall podem diferir do que ss relata localmente.
  1. Feche ou restrinja qualquer porta que não seja necessária usando seu firewall ou parando o serviço associado.

Referência Rápida: Comandos Mais Úteis

# List all listening TCP and UDP ports (modern, recommended)
ss -tuln

# List listening ports with process names and PIDs
ss -tulnp

# List all listening ports using netstat (legacy)
sudo netstat -tulnp

# Check which process is using port 443
ss -tulnp | grep ":443"

# Check open ports with lsof
sudo lsof -i -P -n | grep LISTEN

# Scan local machine for open ports with nmap
sudo nmap -sT localhost

Conclusão

Auditar regularmente portas abertas e em escuta é uma parte inegociável da administração de servidores Linux. Ferramentas como netstat e ss oferecem visibilidade imediata e detalhada sobre quais serviços estão em execução, quais portas ocupam e se há algo inesperado no seu sistema.

Para ambientes Linux modernos, ss é a escolha clara — é mais rápido, mais capaz e disponível por padrão. No entanto, netstat permanece como um fallback confiável para sistemas legados ou administradores já familiarizados com sua sintaxe. Complementar essas ferramentas com lsof e nmap fornece uma visão completa da exposição de rede do seu servidor.

Quer você esteja endurecendo uma implantação de VPS Hosting, gerenciando uma frota de Dedicated Servers ou protegendo um ambiente de Email Hosting, dominar a auditoria de portas é uma habilidade essencial que contribui diretamente para a segurança e confiabilidade da sua infraestrutura.