2.2.8. Überprüfen der horchenden Ports
Nachdem Sie die Netzwerkdienste konfiguriert haben, ist es wichtig zu überprüfen, welche Ports auf die Netzwerkschnittstellen im System horchen. Etwaige offene Ports können Beweis für ein unbefugtes Eindringen sein.
Es gibt zwei grundlegende Herangehensweisen für das Auflisten der Ports, die auf das Netzwerk horchen. Die weniger zuverlässige Methode ist, den Netzwerkstapel durch Befehle wie
netstat -an
oder lsof -i
abzufragen. Diese Methode ist deshalb unzuverlässiger, da derartige Programme sich nicht vom Netzwerk aus mit dem Computer verbinden, sondern vielmehr prüfen, was auf dem System ausgeführt wird. Aus diesen Grund sind diese Anwendungen häufig Ziel für Ersetzungen durch Angreifer. Bei dieser Methode versuchen Cracker, ihre Spuren zu verwischen, wenn diese unbefugt Netzwerkports geöffnet haben, indem sie die Anwendungen netstat
und lsof
durch ihre eigenen, modifizierten Versionen ersetzen.
Ein zuverlässigerer Weg zum Überprüfen, welche Ports auf das Netzwerk horchen, ist die Verwendung eines Port-Scanners wie z. B.
nmap
.
Der folgende Befehl, von einer Konsole aus eingegeben, stellt fest, welche Ports auf TCP-Verbindungen aus dem Netzwerk horchen.
nmap -sT -O localhost
nmap -sT -O localhost
Die Ausgabe dieses Befehls sieht wie folgt aus:
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
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
Diese Ausgabe zeigt, dass das System
portmap
ausführt, da der Dienst sunrpc
vorhanden ist. Es wird jedoch auch ein unbekannter Dienst auf Port 834 ausgeführt. Um zu prüfen, ob dieser Port zu der offiziellen Liste bekannter Dienste gehört, geben Sie Folgendes ein:
cat /etc/services | grep 834
cat /etc/services | grep 834
Dieser Befehl liefert keine Ausgabe für Port 834. Aufgrund des Befehlsformats wird jedoch Ausgabe für andere Ports (1834, 2834 und 3834) angezeigt. Dies bedeutet, dass der Port 834 im reservierten Bereich (0 bis 1023) liegt und Root-Zugang zum Öffnen benötigt, jedoch nicht mit einem bekannten Dienste zusammenhängt.
Rufen Sie als Nächstes mittels
netstat
oder lsof
Informationen über den Port ab. Um Port 834 mithilfe von netstat
zu prüfen, geben Sie folgenden Befehl ein:
netstat -anp | grep 834
netstat -anp | grep 834
Dieser Befehl liefert folgende Ausgabe:
tcp 0 0 0.0.0.0:834 0.0.0.0:* LISTEN 653/ypbind
tcp 0 0 0.0.0.0:834 0.0.0.0:* LISTEN 653/ypbind
Dass der offene Port in
netstat
aufgeführt wird, ist ein gutes Zeichen, da ein Cracker, der einen Port heimlich auf einem geknackten System öffnet, das Anzeigen des Ports durch diesen Befehl höchstwahrscheinlich nicht zulassen würde. Des Weiteren zeigt die Option [p]
die Prozess-ID (PID) des Dienstes an, der diesen Port geöffnet hat. In diesem Fall gehört der offene Port zu ypbind
(NIS), ein RPC-Dienst, der zusammen mit dem portmap
-Dienst läuft.
Der
lsof
-Befehl zeigt ähnliche Informationen wie der netstat
-Befehl an, denn er kann offene Ports auch Diensten zuordnen:
lsof -i | grep 834
lsof -i | grep 834
Der relevante Teil der Befehlsausgabe ist der folgende Abschnitt:
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)
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)
Wie Sie sehen, können diese Tools eine Menge Informationen über den Status von Diensten auf einem Computer ausgeben. Diese Tools sind flexibel und liefern eine Vielzahl von Informationen über die Netzwerkdienste und zur Konfiguration. Werfen Sie einen Blick auf die Handbuchseiten von
lsof
, netstat
, nmap
und services
für weitere Informationen.