SMB, die Abkürzung für den englischen Begriff „Server Message Block“ ist ein universelles Protokoll, welches unterschiedliche Dienste wie Druckdienste oder Dateidienste innerhalb eines Computernetzwerks zu Verfügung stellen kann. Dieses Protokoll hat bereits eine lange Historie und bietet in den Ur-Versionen Sicherheitsprobleme, weshalb darauf verzichtet werden sollte, den SMB-Port aus dem Internet erreichbar zu machen.
Entstehung des SMB-Ports und Versionen
Der Server Message Block ist bereits so alt, dass es schon vor der Entwicklung der bekannten TCP/IP Transportvermittlung eine Version für den Vorgänger NetBIOS gab. Mit der Verbreitung von TCP/IP wurde immer ein Adapter benötigt, da SMB nur auf den NetBIOS-Betrieb ausgelegt war. Microsoft entwickelte jedoch im Jahr 2000 die erste Version von SMB 1.0, welche mit Windows Desktop sowie Windows Server ausgeliefert wurde, welche ohne den entsprechenden NetBIOS Adapter auskam.
Dies macht die entsprechende Kommunikation schneller. Zur Kommunikation für die ältere Variante wird der SMB-Port 139 und ab Version 1.0 von Microsoft 445 verwendet. Mit dem Betriebssystem Windows Vista wurde von Microsoft die Version 2.0 für das SMB-Protokoll implementiert. Später die aktuelle Version 3.0.
Parallel zu der von Windows entwickelten Variante gibt es die freie Software Samba, welche ebenfalls eine Instanz des Server Message Blocks implementiert. Anders als die Version von Microsoft, ist diese Software plattformübergreifend, also auch für Linux einsetzbar. Dies macht es möglich, zum Beispiel mit einem Linux Desktop auf eine SMB-Freigabe eines Windows Servers zuzugreifen und umgekehrt.
SMB-Port als Sicherheitslücke
Im Jahre 2017 kam es zu einem weitverbreiteten Angriff der Schadsoftware WannaCry, welche eine Sicherheitslücke in der SMB Version 1.0 ausgenutzt hat, um sich weiter innerhalb eines Windows-Netzwerks zu verbreiten. Auch wenn Microsoft alle gängigen Betriebssysteme mit einem Patch versorgt hat, wurde SMB 1.0 ab Windows 10 (1709) nicht mehr mit installiert. Sollten in einem Netzwerk jedoch ältere Geräte, wie zum Beispiel Netzwerkfestplatten zum Einsatz kommen, könnte es sein, dass dort keine neuere Version verfügbar ist oder es keine Aktualisierung seitens des Herstellers gibt.
Hier wäre dann eine Neuanschaffung des Gerätes notwendig. Es kann jedoch nicht ausgeschlossen werden, dass sich in SMB 2.0 oder 3.0 nicht auch Sicherheitslücken befinden. Sensible Datenfreigaben über den SMB-Port sollten daher dennoch nicht in das Internet freigegeben werden. Hierfür kann ein eigener VPN als Lösung eingesetzt werden.
VPN als Lösung
Wer im Besitz einer Fritz!Box ist, kann diese Nutzen, um einen verschlüsseltes Virutal Private Network, einen VPN-Zugang, in seinem Netzwerk zu etablieren. Hierbei kommen verschiedene kryptographische Algorithmen zum Einsatz. Einmal im VPN angemeldet, kann auf das gesamte Heim- oder Unternehmensnetzwerk, welches die Fritz!Box erreichen kann, zugegriffen werden. Hierzu zählt auch ein Server mit einer SMB-Freigabe.
Sollte man keine Fritz!Box besitzen, kann zum Beispiel ein günstiger Einplatinencomputer wie ein Raspberry Pi verwendet werden. Dieser kann mit etwas technischem Verständnis leicht zu einem VPN Zugangspunkt umgewandelt werden. Meldet man sich nun ebenfalls genauso sicher verschlüsselt auf dem Zugangspunkt mit einer VPN Verbindung an, kann dieser als eine Art „Vermittler“ dienen und eine Verbindung zu einem SMB-Server über das Internet herstellen. Die folgende Darstellung stellt eine vereinfachte Übersicht bei einer Verwendung eines internen VPN Zugangs dar. Ein Smartphone möchte als Beispiel Fotos vom Heimserver abrufen. Der Router hat hierbei den SMB-Port nicht geöffnet und Angriffe aus dem Internet auf den Server sind so nicht möglich.
Wie finde ich heraus welche SMB-Version auf meinen Geräten auf dem SMB-Port 445 läuft?
Ein letzter wichtiger Schritt ist es nun herauszufinden, welche Geräte in meinem Netzwerk welche SMB-Version unterstützen. Hierfür kann die Netzwerkanalyse App „nmap“ verwendet werden. Wer den Umgang mit der Konsole nicht gewohnt ist, verwendet die grafische Oberfläche „zenmap“ für zum Beispiel Microsoft Windows. Anschließend lässt sich mittels des Befehls „nmap -p 445 –script smb-protocols [IP-Adresse]“ überprüfen, welche SMB Versionen von meinem Netzwerkgerät unterstützt werden. Das folgende Bild zeigt beispielhaft eine Anfrage an eine moderne FritzBox 7590.
Zusammenfassend kann SMB ein starkes Protokoll für Datenübertragung sein und dient in fast jedem Windows Netzwerk zur Datenübermittlung zwischen verschiedenen Computern. Es gilt jedoch darauf zu achten, dass aktuelle Updates installiert sind, da die Vergangenheit Sicherheitslücken aufgezeigt hat. Der SMB-Port 445 oder 139 sollte nicht in das Internet freigeschaltet werden.