Erzwingen, dass Windows 8.1 nur SMB3 verwendet?

2861
Stilez

Gibt es eine Möglichkeit (indirekt, gehackt oder anderweitig), Windows 8.1 nur auf SMB3 zu beschränken und zu verhindern, dass SMB2-Verbindungen akzeptiert oder angeboten werden?

Alles, was ich finden kann, ist, dass SMB2 und SMB3 auf 8.1 den gleichen Stack gemeinsam nutzen, sodass die SMB2-Funktionalität nicht intern deaktiviert werden kann (indem mrxsmb20 oder ähnliches getötet wird), ohne dass dies Auswirkungen auf SMB3 hat.

Dies lässt jedoch die Möglichkeit offen, dass es andere Möglichkeiten gibt, um es effektiv zu schließen, über die Firewall oder über Software oder eine Richtlinie oder Einstellung, die auf die Sitzung abzielt, oder auf die Protokollanforderungen und die angekündigten Fähigkeiten einer Verbindung (möglicherweise in gewisser Weise) dass SMB2 sich nicht erfüllen kann, ohne den Stack zu deaktivieren.

Da keines meiner LAN-Geräte jemals eine SMB2-Verbindung herstellen muss, ist es eine schlechte Praxis, ein altes Downgrade-Protokoll zuzulassen, das es niemals benötigt (Crossref-Sicherheitsangriffe über Protokoll-Downgrade auf SSL und die jüngsten Angriffe über ältere) SMB1-Schwachstellen) . Gibt es eine Möglichkeit, sie auf einem Gerät zu deaktivieren, auf dem diese Windows-Version ausgeführt wird?

0

1 Antwort auf die Frage

1
El8dN8

Zunächst möchte ich mich entschuldigen, weil mir die Antwort damals noch unvollständig war. Ich werde jetzt viel klarer und korrekter sein.

Ich habe das selbst getestet (mit 7 und 10) und es funktioniert gut; Es sollte keinen Grund geben, warum Windows 8.1 nicht funktioniert. Ich habe es von dieser Seite in der Technet-Dokumentation von Microsoft erhalten. Leider verhindert dies nicht die Verbindung zu SMBv2-Dateifreigaben, blockiert jedoch SMBv2-Verbindungen. Dies bietet wichtige Unterschiede bei der SMB3-Sicherheit.

Wenn die SMB-Verschlüsselung für eine Dateifreigabe oder einen Server aktiviert ist, können standardmäßig nur SMB 3.0-Clients auf die angegebenen Dateifreigaben zugreifen. Dadurch wird die Absicht des Administrators erzwungen, die Daten aller Clients zu schützen, die auf die Freigaben zugreifen.

....

Wenn die Einstellung –RejectUnencryptedAccess auf der Standardeinstellung $ true belassen wird, dürfen nur verschlüsselungsfähige SMB 3.0-Clients auf die Dateifreigaben zugreifen (SMB 1.0-Clients werden ebenfalls abgelehnt).

Diese Passage schließt die SMB-Verschlüsselung für die bestimmte Serverfreigabe ein, um sie abzulehnen. Mit anderen Worten, es wird nicht abgelehnt, es sei denn, es ist verschlüsselt. Sie müssen Ihre Freigaben verschlüsseln, indem Sie die folgenden Befehle in einer erhöhten Powershell verwenden. (Sie können auch ersetzen $truemit, $falsewenn Sie nicht wollen, dass es für diese Aktie ohne Verschlüsselung abzulehnen, wenn Sie Ablehnung aktiviert haben).

So legen Sie eine bestimmte Freigabe als verschlüsselt fest:

Set-SmbShare –Name <sharename> -EncryptData $true 

Alle Freigaben als verschlüsselt festlegen. Das ist das, was Sie wahrscheinlich wollen. Dies ist die Standardeinstellung und überschreibt bestimmte Freigabeeinstellungen.)

Set-SmbServerConfiguration –EncryptData $true 

Dies kann auch durch Ändern des EncryptDataKey-In vorgenommen werden HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters, indem der DWORD-Wert von 0(false) auf 1(true) gesetzt wird. Sie müssen Ihren Computer anschließend neu starten, damit die Einstellungen wirksam werden (möglicherweise könnten Sie stattdessen einige Dienste neu starten).

So erstellen Sie eine Freigabe und machen sie verschlüsselt:

New-SmbShare –Name <sharename> -Path <pathname> –EncryptData $true 

In dem Dokument wird beschrieben, dass SMBv1 bei aktivierter RejectUncreyptedAccess-Verbindung keine Verbindung herstellen kann, da nur SMBv3- Verbindungen akzeptiert werden und somit auch eingehende SMBv2-Verbindungen eingeschränkt werden.

Daher wären alle diese Befehle völlig umsonst, wenn RejectUnencryptedAccess nicht aktiviert ist, indem der Wert auf $ true festgelegt wird. Wenn dies nicht bereits geschehen ist (standardmäßig aktiviert), verwenden Sie den Befehl:

Set-SmbServerConfiguration –RejectUnencryptedAccess $true 

Dies kann auch durch Ändern des RejectUnecryptedAccessKey-In vorgenommen werden HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters, indem der DWORD-Wert von 0(false) auf 1(true) gesetzt wird. Sie müssen Ihren Computer anschließend neu starten, damit die Einstellungen wirksam werden (möglicherweise könnten Sie stattdessen einige Dienste neu starten).

Auch als Referenz:

Der technische Grund für die Ablehnung von SMBv2 liegt nicht in der Unverschlüsselung, sondern in einem weniger effizienten und weniger sicheren Verschlüsselungsalgorithmus. SMBv3 verwendet AES (Advanced Encryption Standard (seit 1998 veröffentlicht)), während SMBv2 HMAC-Sha256 (Security Hash Algorithm (der 2001 von der NSA veröffentlicht wurde)) verwendet. [Ich habe versucht, eingehende HMAC-Sha256 zu blockieren, und als ich versuchte zu blockieren, tat es nichts, da es von Windows nicht als "schwacher" Algorithmus betrachtet wird. Daher kann es nicht deaktiviert werden, wie Sha1-Algorithmen sein können.]

Deaktivieren Sie SMBv1 mit diesem Befehl (weil er redundant ist, wenn RejectUnencryptedAccess aktiviert ist und alle Freigaben verschlüsselt sind und Sie sie sowieso deaktivieren möchten):

Set-SmbServerConfiguration -EnableSMB1Protocol $false 

Aktivieren Sie SMBv2 und SMBv3 zusammen (SMBv2-Verbindungen werden blockiert, wenn RejectUnecryptedAccess aktiviert ist):

Set-SmbServerConfiguration -EnableSMB2Protocol $true 

Sie können eingehendes SMBv2 nicht deaktivieren, während Sie SMBv3 verwenden möchten. Sie können das eingehende SMBv1 jedoch deaktivieren, indem Sie den SMBv1-Client mit einer erhöhten Powershell oder Eingabeaufforderung deaktivieren:

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi  sc.exe config mrxsmb10 start= disabled Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol 

Andere schöne Referenzen von Microsoft:

@Stilez, ich habe nur vergessen zu erwähnen, dass Sie die Verschlüsselung der Freigaben aktivieren müssen. Hoffe, es funktioniert El8dN8 vor 7 Jahren 0
Ich habe hier nirgendwo SMB2 - deshalb möchte ich es deaktivieren ;-) Es ist schwer zu sagen. Es sieht zwar plausibel aus. Ich werde in der Lage sein, eine alte Win7-VM zu finden und zu testen, aber das hängt auch davon ab, ob ich meine anderen Probleme mit SMB / Dateifreigaben aussortiert habe, sonst wäre das Ergebnis bedeutungslos. Ich bin froh, dass ich dabei gestoßen bin, aber Gott weiß, wie lange ich das erledigen muss! Das ist nur ein bisschen davon ... Stilez vor 7 Jahren 0