Introdução
Na segurança de servidores, a “superfície de ataque” é o conjunto total de pontos pelos quais um usuário não autorizado pode tentar entrar no sistema ou extrair dados. Uma parte essencial da redução dessa superfície de ataque é gerenciar as portas de rede.
Toda porta aberta é um possível ponto de entrada para um invasor. Se um serviço estiver escutando em uma porta, ele estará pronto para receber dados. Se esse serviço tiver uma vulnerabilidade ou não deveria estar acessível publicamente, seu sistema estará em risco.
Uma porta em escuta não significa automaticamente que há perigo, mas significa que existe exposição. Uma auditoria de segurança começa identificando quais serviços podem ser acessados e verificando se essa exposição é intencional.
Por isso, a auditoria de portas faz parte do reforço básico da segurança. Uma boa segurança não depende apenas da aplicação de patches, mas também da redução de exposições desnecessárias.
Neste laboratório, você fará uma auditoria básica de segurança. Você irá:
- Listar todas as portas TCP em escuta usando o comando
ss. - Identificar portas suspeitas ou fora do padrão.
- Investigar o processo e o usuário responsáveis por abrir uma porta.
Listar portas TCP em escuta
Sua primeira tarefa é obter uma visão completa do estado da rede. Usaremos o comando ss (Socket Statistics), uma alternativa moderna e mais rápida à ferramenta antiga netstat.
Para realizar a auditoria, queremos nos concentrar nas portas TCP em escuta e nos processos que as abriram.
Essas informações sobre os processos transformam uma lista bruta de sockets em algo que você pode analisar e administrar. Um número de porta, sozinho, informa pouco. Já uma porta associada a um processo e a um usuário específicos fornece informações que você pode avaliar e gerenciar.
Execute o comando a seguir:
sudo ss -lntp
Entendendo as opções:
-l(listening): mostra apenas sockets que estão aguardando conexões.-n(numeric): mostra endereços IP e números de porta em vez de nomes de host, tornando a execução mais rápida e clara.-t(tcp): mostra apenas sockets TCP.-p(processes): mostra o nome e o PID (ID do processo) do processo que usa o socket.- Observação:
sudoé necessário para visualizar informações de processos pertencentes a outros usuários.
- Observação:
Você deverá ver uma saída semelhante a esta:
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.1:8080 0.0.0.0:* users:(("node",pid=123,fd=18))
LISTEN 0 5 0.0.0.0:9999 0.0.0.0:* users:(("python3",pid=456,fd=3))
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=789,fd=3))
A coluna Local Address:Port mostra onde o serviço está escutando. A coluna Process identifica o programa responsável.
Outra informação importante é verificar se o endereço é 127.0.0.1 ou 0.0.0.0. Os serviços disponíveis apenas no localhost ficam expostos somente na própria máquina, enquanto 0.0.0.0 geralmente significa que o serviço está escutando em todas as interfaces de rede.
Identificar portas suspeitas
Agora, analise a saída para identificar qualquer elemento incomum.
Os serviços padrão normalmente usam as “portas conhecidas” (0-1023). Por exemplo:
- Porta 22: SSH (Secure Shell)
- Porta 80: HTTP (servidor web)
- Porta 443: HTTPS (servidor web seguro)
Em uma auditoria de segurança, procure portas fora do padrão ou serviços que você não reconhece.
O objetivo não é entrar em pânico diante de toda porta desconhecida, mas verificar sua finalidade. Um serviço pode ser legítimo, temporário ou ter sido iniciado acidentalmente. Auditar é transformar uma exposição desconhecida em uma exposição conhecida.
Revise a saída obtida na primeira etapa. Você deverá encontrar um serviço escutando na porta 9999. Essa não é uma porta de sistema padrão e merece uma investigação mais detalhada.
Isole essa entrada usando grep:
sudo ss -lntp | grep 9999
Saída de exemplo:
LISTEN 0 5 0.0.0.0:9999 0.0.0.0:* users:(("python3",pid=289,fd=3))
Isso confirma que há um processo ativo na porta 9999. Em seguida, descobriremos exatamente o que é esse processo.
Investigar a propriedade do processo
Saber que uma porta está aberta não é suficiente. Você precisa saber quem está executando o serviço. Um processo suspeito executado como root representa uma emergência crítica, enquanto um processo executado por um usuário com permissões limitadas pode ser menos grave, embora ainda seja perigoso.
Encontrar o PID: observe a saída do comando anterior. Na seção users:, localize o valor pid=....
- Exemplo:
users:(("python3",pid=289,fd=3))-> O PID é 289. - Observação: o seu PID será diferente.
Inspecionar o processo: use o comando ps para listar os detalhes desse PID específico. Substitua <PID> pelo número que você encontrou.
ps -f -p <PID>
Exemplo, se o PID for 289:
ps -f -p 289
Analisar a saída:
UID PID PPID C STIME TTY TIME CMD
labex 289 189 0 10:00 pts/0 00:00:00 python3 -m http.server 9999
- UID: o usuário que está executando o processo, por exemplo,
labex. - CMD: o comando exato que iniciou o processo, por exemplo,
python3 -m http.server 9999.
Isso mostra que o usuário labex iniciou um servidor HTTP Python que foi claramente configurado para escutar na porta 9999. Em uma situação real, se você não tivesse autorizado esse processo, deveria encerrá-lo imediatamente.
Esta etapa final identifica a origem da exposição: não apenas “qual porta está aberta”, mas “qual comando, iniciado por qual usuário, criou essa exposição de rede”. É isso que torna a auditoria útil para a resposta a incidentes e o reforço da segurança.
Resumo
Neste laboratório, você realizou com sucesso uma auditoria de segurança das portas em escuta do sistema.
Principais aprendizados:
- Visibilidade: use
sudo ss -lntppara ver exatamente quais serviços estão escutando conexões. - Identificação: reconheça as portas padrão e sinalize as portas fora do padrão, como 9999, para investigação.
- Atribuição: use
ps -f -p <PID>para determinar qual usuário e qual comando são responsáveis por um socket suspeito.
Auditorias regulares ajudam a identificar serviços não autorizados, como backdoors ou servidores web variados, e removê-los antes que possam ser explorados.



