SMB-Traffic verschlüsseln mittels Server Manager oder über PowerShell

    Kostenloses Backup für VMware und Hyper-V: Sicherung ohne Agent, Restore von VMs oder Dateien, dauerhaft gratis, kein VM-Limit. Jetzt herunterladen »

    (Anzeige)

    SMB-VerschlüsselungServer Message Block (SMB) dient nicht nur als Proto­koll für den Zugriff auf freige­gebene Ordner, sondern hinter den Ku­lissen auch für das Remote-Management oder die Ver­teilung von GPOs. Diese Kommu­nikation lässt sich seit SMB3 durch Ver­schlüs­selung absichern, ent­weder für einzelne Shares oder ganze Server.

    Das mit Windows 8 und Server 2012 eingeführte SMB 3 brachte eine Reihe neuer Features wie SMB Transparent Failover, SMB Multichannel oder SMB Direct. Diese erschlossen neue Einsatz­gebiete für das Protokoll, darunter die Nutzung von Shares als Ablage für VMs unter Hyper-V oder für SQL-Datenbanken.

    Einfache Absicherung der übertragenen Daten

    Zu den Verbesserungen von SMB3 zählt aber auch die Ver­schlüsselung der Daten, die über das Netzwerk gehen. Sie schützt sensible Informationen vor Ausspähen und Diebstahl, ohne dass man dafür beispiels­weise eine IPsec-Infrastruktur benötigt. Der Schutz lässt sich recht einfach über den Server Manager oder PowerShell aktivieren.

    Die Konfiguration von SMB Encryption erfolgt nur auf dem Server, wahlweise für einzelne Freigaben oder den ganzen Rechner. Während sich die Verschlüsselung einzelner Shares auch über die GUI des Server Managers erledigen lässt, muss die Server-weite Konfiguration über PowerShell erfolgen.

    Verschlüsselung für einzelne Freigaben aktivieren

    Im Server Manager lässt sich SMB Encryption bereits beim Anlegen einer Freigabe mit Hilfe des Assistenten einschalten. Die ent­sprechende Option findet sich im Dialog Andere Einstellungen.

    Beim Erstellen einer neuen Freigabe im Server Manager kann man gleich die SMB-Verschlüsselung aktivieren.

    Sie lässt sich auch nach­träglich aktivieren, indem man die Eigen­schaften der betreffenden Freigabe öffnet und dort zu Einstellungen wechselt.

    Nachträgliche Aktivierung der SMB-Verschlüsselung für eine Freigabe im Server Manager

    Unter PowerShell existieren Cmdlets, mit denen man den Status der SMB-Verschlüsslung von Freigaben abfragen und ändern kann. Welche Shares auf einem Server verschlüsselt über SMB3 ansprechbar sind, lässt sich mit diesem Kommando feststellen:

    Get-SmbShare | select -Property Name, EncryptData

    Um SMB Encryption für eine Freigabe zu aktivieren, ruft man Set-SmbShare auf:

    Set-SmbShare -name <Name-der-Freigabe> -EncryptData 1

    Verschlüsselung auf Share-Ebene abfragen und aktivieren mittels PowerShell.

    Server-weite SMB-Verschlüsselung

    Möchte man generell die Kommunikation für alle Freigaben eines Servers verschlüsseln, dann muss man wie erwähnt zur PowerShell greifen. Auch hier besteht die Möglichkeit, erst den aktuellen Status abzufragen:

    Get-SmbServerConfiguration | select EncryptData

    Dieses Kommando gibt Auskunft über den Stand der SMB-Verschlüsselung auf dem lokalen Server. Es ließe sich auch auf einen Remote-Rechner über eine CIM-Session anwenden.

    Wenn man die Server-weite SMB Encryption aktivieren möchte, dann gibt man folgenden Befehl ein:

    Set-SmbServerConfiguration -EncryptData 1

    Server-weite Verschlüsselung für SMB aktivieren über PowerShell

    Der Vorgang lässt sich sowohl für Shares als auch den ganzen Server rückgängig machen, indem man die beiden Aufrufe zur Aktivierung der Verschlüsselung so anpasst, dass der Parameter EncryptData der Wert 0 erhält:

    Set-SmbServerConfiguration -EncryptData 0

    Wenn man sich für SMB-Verschlüsselung auf dem ganzen Server entschieden hat, dann ist nach ihrer Aktivierung die Konfiguration auf Share-Ebene im Server Manager ausgegraut.

    SMB3-Verschlüsselung in gemischten Umgebungen

    Sobald SMB Encryption auf einem Server oder einer Freigabe aktiviert ist, dann können sich standard­mäßig mit ihm nur mehr Clients verbinden, die SMB3 beherrschen, also die mindestens unter Windows 8 oder Server 2012 laufen.

    Befinden sich aber noch ältere Clients im Netz, dann wird man diese in der Regel nicht aussperren. In manchen Fällen mag man sich dadurch behelfen können, dass man die SMB-Verschlüsselung nur für einzelne Shares aktiviert, auf die ältere OS-Versionen nicht zugreifen müssen.

    Unverschlüsselte SMB-Kommunikation zulassen

    Die von Microsoft dafür offiziell vorgesehene Lösung besteht aber darin, für Windows 7 oder Server 2008 eine unver­schlüsselte Kommu­nikation zuzulassen. Dies kann man aber nicht für einzelne Freigaben, sondern nur für den ganzen Server festlegen:

    Set-SmbServerConfiguration -RejectUnencryptedAccess 1

    Über den Parameter RejectUnencryptedAccess kann Set-SmbServerConfiguration die unverschlüsselte Kommunikation zulassen.

    Ein Angreifer könnte nun über einen Man in the middle Attack versuchen, den Server zu einer unver­schlüsselten Über­tragung der Daten zu bewegen, indem als Client die Kommu­nikation über SMB2 aushandelt.

    Ein Feature namens Secure Negotiate soll derartige Versuche jedoch entdecken und die Verbindung zu einem solchen suspekten Client abbrechen. Dieser Sicherheits­mechanismus erkennt aber nur Angriffe, die ein Herunter­stufen auf SMB2 verfolgen.

    Ist SMB1 aktiviert und der Angreifer versucht, die Version 1 der Protokolls auszu­handeln, dann greift dieses Feature nicht. SMB1 sollte immer abgeschaltet werden, aber ganz besonders, wenn man sensible Daten über die SMB-Verschlüsselung schützen möchte.

    Keine Kommentare