1079555

Offene Ports schließen - so geht's unter Linux

25.07.2016 | 14:35 Uhr |

Auch im privaten Umfeld tummeln sich viele Netzwerkdienste mit offenen Kommunikationskanälen (Ports) – ein Sicherheitsrisiko. Mit Linux gelingt das Finden von Ports besonders zuverlässig.

Jedes noch so kleine Netzwerk benötigt offene Netzwerkports: Webzugang, Mailkonversation oder Cloudsynchronisierung können nicht anders funktionieren, und auch die Administrationsoberfläche des Routers erfordert einen laufenden Server. Netzwerkfreigaben unter Samba oder Windows warten auf Zugriffe oder ein freigegebener Remote-Desktop auf eine Anmeldung.

Immer findet die Kommunikation über einen oder mehrere definierte Ports statt, wobei der jeweilige Dienst (etwa Apache für die Routeroberfläche) ständig seinen offenen Port abhört, bis dort eine Anfrage ankommt.

Theoretisch sind offene Ports aber auch Kanäle für Angreifer und Schnüffler. Wer sich auf die Tatsache zurückzieht, dass sich die Ports innerhalb des privaten Adressraums befinden und folglich über das Internet nicht zu erreichen sind, der hat nur halb recht: Tatsächlich wird zwar der Router standardmäßig alle Datenpakete von außen zurückweisen, die nicht von innen explizit angefordert wurden. Aber erstens kann das Netzwerk durch Portfreigaben im Router nach außen hin geöffnet sein; unnötig geöffnete Ports vergrößern in diesem Fall die Angriffsfläche. Zweitens kann sich ein Angreifer in Form eines Trojaners schon innen im privaten Adressraum befinden. Unerwünscht sind ferner schnüffelnde Programme, die ständig Daten an ihren Hersteller schicken.

Defektes Netzwerk: Sechs Tipps zur Reparatur unter Linux

Wann ist eine Portanalyse fällig?

Ein Portscan ist immer lehrreich, insofern er vor Augen führt, was auf dem eigenen Rechner alles unnötigerweise mit Internetservern oder mit LAN-Rechnern schwätzt.

Vor allem ist die Aktion aber immer dann angesagt, wenn Sie neue Programme installiert haben, die nicht aus den offiziellen Paketquellen der Linux-Distribution oder für einen Windows-Rechner aus dubioser Quelle stammen. Die Dringlichkeit der Analyse erhöht sich darüber hinaus noch, wenn ein Rechner nach der Installation solcher Software auffällige CPU-oder Netzwerkauslastung zeigt.

Die nachfolgend beschriebenen Beispiele beschränken sich bewusst auf Analysen im privaten Adressraum. Ein Werkzeug wie Nmap kann zwar auch auf Webserver außerhalb des eigenen LANs angesetzt werden, allerdings begeben Sie sich mit einem solchen Portscan in rechtliche Grauzonen.

Offene Ports analysieren

Bevor Sie Ihren privaten Adressraum auf offene Ports untersuchen, sollten Sie jedoch zunächst im Router kontrollieren, ob dort Portfreigaben nach außen eingetragen sind, die Sie nicht mehr aktiv verwenden: Ein für den Webzugriff öffentlich freigegebener Port 22 für die Fernwartung im Terminal ist das eindeutig größere Risiko gegenüber einem offenen Port im privaten Adressraum. In der Fritzbox finden Sie eventuelle Portfreigaben unter „Internet -> Freigaben“, auf anderen Routern unter „Portweiterleitung“, „Portforwarding“ oder ähnlich lautend. Ist hier etwa ein FTP-Server (Port 21) oder HTTP-Server (Port 80) eingetragen, den Sie längst nicht mehr nutzen, empfiehlt es sich, den Eintrag zu löschen.

Zenmap vereinfacht die Benutzung des Portscanners Nmap und zeigt immer auch den Befehl an, wie er an Nmap übergeben wird.
Vergrößern Zenmap vereinfacht die Benutzung des Portscanners Nmap und zeigt immer auch den Befehl an, wie er an Nmap übergeben wird.

Für die Netzwerkanalyse im privaten Adressraum gibt es Linux-und Windows-Bordmittel für die Kommandozeile, zum Beispiel Netstat mit leider sehr unterschiedlicher Schaltersyntax. Aufgrund des größeren Funktionsumfanges sind Nmap (Kommandozeile) und Zenmap (grafisches Front-End für Nmap) die empfohlenen, plattformübergreifenden Werkzeuge. Unter Linux sind die Tools in allen Distributionen über den Paketmanager zu erreichen, also etwa auf Debian/Ubuntu mit

sudo apt-get install nmap

schnell nachinstalliert.

Tipp: Ports und Firewall-Einstellungen überprüfen

Zenmap vereinfacht die Nmap-Bedienung wesentlich und bietet Nmap-Schalterkombinationen als Scanprofile an. Da dies jedoch an der Funktionsweise nichts ändert, gehen wir hier auf Zenmap nicht näher ein.

Nmap überprüft alle Ports eines PCs oder des ganzen Netzwerks. Dazu verschickt es je nach gewünschter Information passende Datenpakete an alle erreichbaren Geräte. Um nur den Rechner, den Sie aktuell benutzen, schnell zu überprüfen, genügt zunächst dieser Befehl:

sudo nmap localhost

Hier erfahren Sie nun die offenen Ports sowie die dafür verantwortlichen Dienste („Service“). Unter Windows müssen Sie Nmap einfach die Optionennmap -sT -Pn localhost mitgeben, damit der Befehl auf dem aktuell verwendeten Rechner funktioniert.

Wenn Ihnen die Dienstenamen nicht aussagekräftig genug sind, um Funktion und Notwendigkeit zu beurteilen, lassen Sie sich zusätzlich die Diensteversion anzeigen. Diese geht nämlich mit beschreibenden Namen einher:

sudo nmap -sV localhost

Ein knappes „http“ wird dann etwa als „Apache httpd…“ erläutert oder „netbios-ssn“ als „Samba smbd“. Wenn Nmap mehr als die ersten 1000 Ports prüfen soll (Standardeinstellung), müssen Sie manuell nachhelfen. Dieser Befehl berücksichtigt alle Ports:

sudo nmap -p 1-65535 localhost

Eine genaue Analyse des Rechners inklusive aller geöffneten Ports ergibt dieser Befehl:

sudo nmap -v -A localhost

Die hier gelieferten Infos gehen weit über die Aufgabe hinaus, offene Ports und zugehörige Dienste zu finden. Andererseits lässt Nmap die Information vermissen, wohin der offene Port seine Daten schickt. Dies kann der Befehl

netstat -tp

unter Linux ergänzen, der das jeweilige Ziel unter „Foreign Address“ anzeigt (unter Windows istnetstat -f vergleichbar, erste Wahl ist dort aber die Freeware Currports . Beachten Sie jedoch, dass Netstat – im Unterschied zu Nmap – nur Verbindungen des lokalen Rechners anzeigen kann.

Nmap scannt standardmäßig Port 1 bis 1000, kann aber mit Schalter ?p 1-65535? auch alle Ports abfragen. Die weiß markierten Einträge wären bei der Standardsuche nicht aufgetaucht.
Vergrößern Nmap scannt standardmäßig Port 1 bis 1000, kann aber mit Schalter ?p 1-65535? auch alle Ports abfragen. Die weiß markierten Einträge wären bei der Standardsuche nicht aufgetaucht.

Statt einzelne Rechner zu analysieren (mit „localhost“ oder einer lokalen IP) können Nmap/Zenmap einen ganzen Adressraum durchsuchen – etwa mit „192.168.1.*“ alle LAN-Rechner oder mit „192.168.1.1-100“ alle Rechner mit IP 1 bis 100. Der Befehl

sudo nmap –sP 192.168.1.*

zeigt auf die Schnelle sämtliche Geräte an, die aktuell laufen. Für die Portanalyse nutzen Sie wieder die oben genannten Befehle, aber nun mit einem IP-Adressraum. Solche Massenscans können durchaus lange bis sehr lange dauern. Mit Schalter „-F“

sudo nmap -F 192.168.1.*

erzielen Sie relativ schnell einen Scan für den ganzen Adressraum, der jedoch ausschließlich die verbreiteten Standardports überprüft.

Auch interessant: Die dümmsten Hacker der Internetgeschichte

Offene Ports schließen

Analyse ist gut, schafft allerdings keine Abhilfe. Erkannte offene Ports können Sie nicht direkt schließen, weil es sich nicht um physische Kanäle handelt, sondern um abstrakte Konventionen. Ein Port ist automatisch dann geschlossen, wenn kein Systemdienst oder Programm diesen Kommunikationsweg benutzt.

Aus diesem Grund ist es entscheidend, den verantwortlichen Dienst oder das Programm ausfindig zu machen, wie mit Nmap-Schalter „-sV“ oben beschrieben. Programme können Sie dann einfach schließen oder mithilfe von htop und „Kill“ zwangsweise beenden. Dienste schalten Sie typischerweise mit

service [Dienstname] stop

ab. Unter Windows stoppen Sie Dienste etwa über „Systemsteuerung -> Verwaltung -> Dienste“. Das ist die situative Antwort: Es bleibt die Entscheidung, ob der Dienst entbehrlich oder generell suspekt ist und folglich ganz beseitigt werden sollte. Eine Übersicht der standardisierten Ports und ihrer üblichen Aufgaben finden Sie hier .

0 Kommentare zu diesem Artikel
1079555