Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.2.8. Verificando Quais Portas Estão Escutando

Depois de configurar serviços de rede, é importante prestar atenção a quais portas estão na realidade escutando nas interfaces de rede do sistema. Quaisquer portas abertas podem ser evidências de uma invasão.
Existem duas abordagens básicas para listar as portas que estão escutando na rede. A abordagem menos confiável é solicitar a pilha de rede usando comandos como netstat -an ou lsof -i. Este método é menos confiável desde que estes programas não se conectam à máquina a partir da rede, mas é melhor verificar para ver o que está rodando no sistema. Por esta razão, estas aplicações são alvos frequentes de substituições por invasores. Crackers tentam cobrir seus rastros se eles abrirem portas de rede não autorizadas substituindo o netstat e o lsof com suas próprias, versões modificadas.
Uma maneira mais confiável de checar quais portas estão escutando na rede é usar um escaner de porta como o nmap.
O seguinte comando emitido a partir do console determina quais portas estão escutando pelas conexões TCP da rede:
nmap -sT -O localhost
O resultado deste comando aparece como a seguir:
Starting Nmap 4.68 ( http://nmap.org ) at 2009-03-06 12:08 EST
Interesting ports on localhost.localdomain (127.0.0.1):
Not shown: 1711 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh 
25/tcp    open  smtp
111/tcp   open  rpcbind
113/tcp   open  auth
631/tcp   open  ipp
834/tcp   open  unknown
2601/tcp  open  zebra
32774/tcp open  sometimes-rpc11
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.17 - 2.6.24
Uptime: 4.122 days (since Mon Mar  2 09:12:31 2009)
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.420 seconds
Este resultado mostra que o sistema está rodando o portmap por causa da presença do serviço sunrpc . Entretanto, há também um serviço misterioso na porta 834. Para checar se a porta é associada com o a lista oficial de serviços conhecidos, digite:
cat /etc/services | grep 834
Este comando retorna nenhum resultado para a porta 834. Devido ao formato do comando, o resultado para outras portas (1834, 2834, and 3834) serão mostrados. Isto indica que enquanto a porta 834 está na variação reservada (significando 0 até 1023) e requer o acesso root para abrir, ele não é associado com um serviço conhecido.
Depois, verifique por informações sobre a porta usando o netstat ou lsof. Para verificar pela porta 834 usando o netstat, use o seguinte comando:
netstat -anp | grep 834
O comando retorna o seguinte resultado:
tcp   0    0 0.0.0.0:834    0.0.0.0:*   LISTEN   653/ypbind
A presença da porta aberta no netstat é animadora por causa que se um cracker abrir uma porta clandestinamente em um sistema hackeado, não é susceptível de permitir que esta seja revelada através deste comando. Também, a opção [p] revela o ID do processo (PID) do serviço que abriu a porta. Neste caso, a porta aberta pertence ao ypbind (NIS), que é um serviço RPC manuseado em conjunto com o serviço portmap.
O comando lsof revela informações similares ao netstat já que ele é também capaz de ligar portas abertas à serviços:
lsof -i | grep 834
A porção relevante do resultado deste comando é:
ypbind      653        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
ypbind      655        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
ypbind      656        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
ypbind      657        0    7u  IPv4       1319                 TCP *:834 (LISTEN)
Estas ferramentas revelam uma grande parte sobre o estado dos serviços rodando na máquina. Estas ferramentas são flexíveis e podem fornecer uma riqueza de informações sobre os serviços de rede e configuração. Consulte as páginas man do lsof, netstat, nmap, e services para mais informações.