Product SiteDocumentation Site

2.2.8. Het verifiëren van welke poorten luisteren

Na het instellen van de netwerk services, is het belangrijk om aandacht te geven naar welke poorten van de interfaces van het netwerk van het systeem feitelijk geluisterd wordt.
Er zijn twee basis benaderingen voor het opsommen van de poorten die luisteren op het netwerk. De minst betrouwbare benadering is het bevragen van de netwerk status stack met gebruik van commando's zoals netstat -an of lsof -i. Deze methode is minder betrouwbaar omdat deze programma's niet met de machine verbinden vanaf het netwerk, maar in plaats daarvan controleren wat er op de server draait. Om deze reden zijn deze toepassingen vaak doelen voor aanvallers. Crackers proberen hun sporen te verbergen als ze ongeoorloofde poorten openen door het vervangen van netstat en lsof met hun eigen, veranderde versies.
Een meer betrouwbare manier om te controleren welke poorten op het netwerk luisteren is om een poort scanner te gebruiken zoals nmap.
Het volgende commando uitgevoerd vanaf de console bepaalt welke poorten luisteren naar TCP verbindingen op het netwerk:
nmap -sT -O localhost
De output van dit commando is als volgt:
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
Deze output laat zien dat het systeem portmap draait door de aanwezigheid van de sunrpc service. Er is echter ook een geheimzinnige service op poort 834. Om te controleren of de poort verbonden is met de officiële lijst van bekende services, type je:
cat /etc/services | grep 834
Dit commando geeft geen output terug. Dit geeft aan dat hoewel de poort zich in een gereserveerde reeks bevindt (0 tot en met 1024) en root toegang nodig heeft om geopend te worden, het niet verbonden is met een bekende service.
Vervolgens zoeken we naar informatie met het gebruik van netstat of lsof Om poort 834 te controleren met netstat, gebruik je het volgende commando:
netstat -anp | grep 834
Het commando geeft de volgende output terug:
tcp   0    0 0.0.0.0:834    0.0.0.0:*   LISTEN   653/ypbind
De aanwezigheid van de open poort in netstat is geruststellend omdat een cacker die een poort op een gekraakt systeem stiekem opent het niet zal toestaan dat dit ontdekt wordt met dit commando. De [p] optie laat ook het proces ID (PID) zien van de service die de poort opende. In dit geval behoort de open poort toe aan ypbind (NIS), wat een RPC service is die in combinatie met de portmap service afgehandeld wordt.
Het lsof commando laat soortgelijke informatie zien als netstat omdat het ook in staat is om open poorten te verbinden met services:
lsof -i | grep 834
Het relevante gedeelte van de output van dit commando is:
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)
Deze gereedschappen laten veel zien over de status van services die op een machine draaien. Deze gereedschappen zijn flexibel en bieden een schat van informatie over netwerk services en instellingen. Refereer naar de manual pagina's voor lsof, netstat, nmap, en services voor meer informatie.