Allgemeines:
Die Abfrage offener Ports ist eine erste Maßnahme zur Erkennung von Sicherheitslücken.
Grundsätzlich sollen nur die Ports offen sein, die auch zwingend benötigt werden.
Möglicherweise reicht es auch aus, wenn einzelne Ports nur auf bestimmten IP-Adressen aktiv sind (="Lauschen", engl. "LISTEN")
Die Abfrage erfolgt mit dem Befehl "netstat", welche grundsätzlich auf Windows wie UNIX-Systemen vorhanden ist.
Beispiel:
root@meinserver:~# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:464 0.0.0.0:* LISTEN 2335/kadmind tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1228/samba tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 702/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 558/cupsd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1061/master tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 1214/samba tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1230/samba tcp 0 0 0.0.0.0:1024 0.0.0.0:* LISTEN 1209/samba tcp 0 0 0.0.0.0:3268 0.0.0.0:* LISTEN 1214/samba tcp 0 0 0.0.0.0:3269 0.0.0.0:* LISTEN 1214/samba tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 1214/samba tcp 0 0 0.0.0.0:135 0.0.0.0:* LISTEN 1209/samba tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1015/mysqld tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1230/samba tcp 0 0 0.0.0.0:749 0.0.0.0:* LISTEN 2335/kadmind tcp6 0 0 :::464 :::* LISTEN 2335/kadmind tcp6 0 0 :::80 :::* LISTEN 1237/apache2 tcp6 0 0 :::22 :::* LISTEN 702/sshd tcp6 0 0 :::25 :::* LISTEN 1061/master tcp6 0 0 :::749 :::* LISTEN 2335/kadmind udp 0 0 0.0.0.0:5353 0.0.0.0:* 609/avahi-daemon: r udp 0 0 0.0.0.0:750 0.0.0.0:* 840/krb5kdc udp 0 0 0.0.0.0:32698 0.0.0.0:* 889/dhclient udp 0 0 0.0.0.0:464 0.0.0.0:* 2335/kadmind udp 0 0 0.0.0.0:50683 0.0.0.0:* 609/avahi-daemon: r udp 0 0 0.0.0.0:53 0.0.0.0:* 1228/samba udp 0 0 0.0.0.0:68 0.0.0.0:* 889/dhclient udp 0 0 0.0.0.0:88 0.0.0.0:* 840/krb5kdc udp 0 0 192.168.101.18:123 0.0.0.0:* 1664/ntpd udp 0 0 127.0.0.1:123 0.0.0.0:* 1664/ntpd udp 0 0 0.0.0.0:123 0.0.0.0:* 1664/ntpd udp6 0 0 :::5353 :::* 609/avahi-daemon: r udp6 0 0 :::3837 :::* 889/dhclient udp6 0 0 :::59898 :::* 609/avahi-daemon: r udp6 0 0 :::123 :::* 1664/ntpd
Hinweise zu den Parametern des Befehls "netstat"
Parameter | Bedeutung |
---|---|
-t | Anzeige von Ports die auf tcp-Protokoll arbeiten |
-u | Anzeige von Ports die auf udp-Protokoll arbeiten |
-l | Anzeige von Ports im Status "LISTEN" |
-n | Anzeige im numerischen Format, keine Namensauflösung der IP-Adresse |
-p | Anzeige des Programms welches der Netzwerksocket in Verwendung hat. |
Hinweis zu den Berechtigungen
Nur der Benutzer "root" bekommt Informationen zu allen Ports und allen Programmen.
Nicht privilegierte Benutzer bekommen nur Informationen zu Programmen die unter ihrem Account ausgeführt werden.
Erläuterung zu der Spalte "Local Address"
Allgemeines Format dieser Spalte ist: <IP-Adresse>:<Port>
IP-Adresse 0.0.0.0 bedeutet dass der Port auf allen IP-Adressen des Servers geöffnet ist.
IP-Adresse 127.0.0.1 bedeute "localhost", also die Ports sind nur vom lokalen Server aus erreichbar.
IP-Adresse ::: ist eine IPv6-Adresse und bedeutet ebenfalls "alle Adressen"
Jede sonstige IP-Adresse bedeutet, dass der Port auch nur ausschließlich über diese Adresse erreichbar ist.