SMB über QUIC ist ein Netzwerkprotokoll, welche von Windows verwendet wird. Es ermöglicht die sichere, gemeinsame Nutzung von Ressourcen wie Dateien im Netzwerk. Für den Einsatz von SMB (Server Message Block) ohne QUIC wird TCP Port 445 benötigt. Einige Internetprovider blockieren aus Sicherheitsgründen TCP Port 445. Auf eine Datenfreigabe über SMB auf ein Azure Server kann dadurch nicht erfolgreich verbunden werden.
Um die Blockierung von TCP Port 445 zu umgehen, stehen verschiedene Möglichkeiten zur Auswahl, unter anderem:
- VPN (Virtual Private Network), z.B. AlwaysOnVPN
- Software von Drittherstellern wie z.B. MyWorkDrive
- SMB über QUIC (Quick UDP Internet Connection)
Einige Möglichkeiten, eine SMB Freigabe im Internet sicher und ohne TCP Port 445 bereitzustellen, sind mit viel Aufwand und komplexer Konfiguration verbunden. SMB über QUIC ist einfach zu konfigurieren und sicher. Während der Übertragung werden die Daten mit SSL/TLS verschlüsselt, so dass die Kommunikation zwischen Client und Azure File Share jederzeit sicher ist.
SMB über QUIC verwendet UDP Port 443. Für den sicheren Internetverkehr ist UDP Port 443 (SSL/TLS) im allgemein zugelassen. Die Verwendung von SMB über QUIC hilft, Blockierungen von Ports durch Internetprovider oder öffentliche WLANs zu umgehen und den Dateizugriff auch in restriktiven Netzwerken sicher zu ermöglichen.
In diesem Post wird beschrieben, wie SMB über QUIC auf einem virtuellen Azure Server konfiguriert wird.
Voraussetzungen und Lizenzierung
Server Ressourcen
- Virtueller Server auf Microsoft Azure mit dem Betriebssystem Windows Server 2022 Datacenter: Azure Edition und Windows Admin Center (WAC)
- Public DNS Record, z.B. fs9.cloudcoffee.ch
- Öffentliches Zertifikat, in dieser Anleitung wird ein kostenloses Zertifikat von Lets Encrypt verwendet
Client Ressourcen
- Windows 11
Achtung: Windows 10 unterstützt kein SMB über QUIC
Bereitstellen Windows Server 2022 Datacenter Azure Edition
Die Ordnerfreigabe wird auf einem virtuellen Server mit dem Betriebssystem Windows Server 2022 Datacenter Azure Edition bereitgestellt.
Anmeldung im Azure Portal (https://portal.azure.com) durchführen.

Option Create > Azure Virtual machine auswählen

Azure Virtual Machine konfigurieren:
- Abonnement und Ressourcengruppe auswählen
- Instanzname eingeben und Azure Region auswählen.
Verfügbarkeitsoptionen den eigenen Anforderungen nach auswählen - Image Windows Server 2022 Datacenter: Azure Edition auswählen
- Virtuelle Maschinen Ressourcen nach eigenen Bedürfnissen auswählen
- Lokale Anmeldeinformationen hinterlegen
- Dieser Server wird mit dem Windows Admin Center (WAC) verwaltet. Bei der Installation des Servers muss kein Port eingehend aus dem Internet weitergeleitet werden.

Register Disk und Networking sind selbsterklärend.
Wenn Azure AD für die Authentifizierung der Datenfreigaben verwendet wird, muss im Register Management die Option Login with Azure AD ausgewählt werden.

Register Monitoring, Advanced und Tags sind wieder selbsterklärend.
Nach erfolgreicher Überprüfung unter Review + create den virtuellen Server mit Create erstellen.

Der virtuelle Server wird innerhalb einiger Minuten bereitgestellt.

Windows Admin Center (WAC) konfigurieren
Azure Rolle hinzufügen
Benutzer, welche Zugriff auf Windows Admin Center benötigen, müssen die Azure Rolle Windows Admin Center Administrator Login zugewiesen haben.
Access control (IAM) des Servers öffnen und auf Add > Add role assignment klicken.

Rolle Windows Admin Center Administrator Login auswählen und Next klicken.

Berechtigte Accounts der Rolle hinzufügen und Next anklicken.

Konfiguration mit Review + assign speichern.

Windows Admin Center (WAC) installieren
Virtueller Server aufrufen und Windows Admin Center unter Settings anklicken.

Der notwendige eingehende TCP Port 6516 wird nur zu Testzwecken geöffnet. In produktiven Umgebungen ist ein sicherer Zugriff, z.B. über VPN, zu bevorzugen. Installation des Windows Admin Centers mit Install starten.

Nach wenigen Minuten steht Windows Admin Center für die Verwaltung des virtuellen Servers zur Verfügung.

Lets Encrypt Zertifikat ausstellen und einbinden
SMB über QUIC benötigt ein öffentliches SSL Zertifikat. In dieser Anleitung wird ein kostenloses Zertifikat von Lets Encrypt ausgestellt und eingebunden. Dazu wird ein Public DNS Record benötigt, der auf den virtuellen Server zeigt, z.B. fs9.cloudcoffee.ch.
Für die Installation und Konfiguration von Lets Encrypt wird Remote Desktop über Windows Admin Center verwendet.

Netzwerksicherheitsgruppe (NSG) für ACME konfigurieren
ACME-Datenverkehr (Automatic Certificate Management Environment) muss für TCP-Port 80 und 443 in der Netzwerksicherheitsgruppe (NSG) an den Server weitergeleitet werden.

Installation Certify The Web
Certify The Web ist ein Open-Source-Projekt, mit welchem kostenlose Zertifikate bei Lets Encrypt angefordert und vollautomatisch verwaltet werden.
Certify The Web herunterladen und Installation starten.
https://certifytheweb.com/home/download

Zielverzeichnis auswählen

Ordner im Startmenü auswählen

Installation wird durchgeführt

Certify The Web ist nun erfolgreich installiert.

Lets Encrypt Zertifikat ausstellen und AutoRenew einrichten
SMB über QUIC erfordert ein öffentliches Zertifikat. Der Assistent erstellt den CSR (Certificate Signing Request) für das ausstellen des neuen Zertifikats nach Klick auf New Certificate.

Wenn noch kein Konto bei Lets Encrypt registriert ist, muss jetzt eines erstellt werden.

Domainname hinzufügen, der DNS Record muss vorgängig im Public DNS erstellt worden sein. Es können bei Bedarf mehrere Domainnamen hinterlegt werden um dadurch ein Subject Alternative Names (SAN) Zertifikat anzufordern.

Mit dem nachfolgenden PowerShell Script wird das ausgestellte Zertifikat für SMB über QUIC eingebunden. Beim AutoRenewal wird zusätzlich das nicht mehr benötigte Zertifikat aus dem Windows Zertifikatsspeicher entfernt.
Um das PowerShell Script nach jedem AutoRenew auszuführen, wird ein Deployment Task benötigt.

Run PowerShell Script auswählen

Folgendes PowerShell Script als AutoRenew.ps1 auf dem Server speichern und vollständiger Pfad zum Script unter Task Parameters > Program/Script eintragen.
Das Script führt folgende Tasks durch:
- vorhandenes Zertifikat wird von SMB über QUIC entfernt und aus dem Windows Zertifikatsspeicher gelöscht
- das neu ausgestellte Zertifikat wird für SMB über QUIC angebunden
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | param($result) $CertName = $Result.ManagedItem.Name # certificate name $Thumbprint = $result.ManagedItem.CertificateThumbprintHash # thumbprint current certificate $PreviousThumbprint = $result.ManagedItem.CertificatePreviousThumbprintHash # thumbprint previous certificate, used to update smb cert binding and remove cert from store $Subject = 'CN='+$CertName # common name if ($PreviousThumbprint) { # remove smb cert binding if exist Remove-SmbServerCertificateMapping -Name $CertName -Thumbprint $PreviousThumbprint -Force } # bind new cert to smb if (New-SmbServerCertificateMapping -Name $CertName -Thumbprint $Thumbprint -StoreName My -subject $Subject -DisplayName $CertName -Type QUIC -Flags None) { if ($PreviousThumbprint) { # remove previous used cert from store gci cert:\ -Recurse | where{$_.Thumbprint -eq $PreviousThumbprint} | Remove-Item -Force } } |

Nachdem alle Domainnamen im Code Signing Request (CSR) und das PowerShell Script hinterlegt wurden, wird das Zertifikat mit Request Certificate angefordert.

Das Zertifikat wird nun angefordert.
Erscheint hier eine Fehlermeldung, dass die Validierung nicht durchgeführt werden konnte, kann die Ursache bei einer ungenügend konfigurierten Windows Firewall liegen. Siehe dazu: Validierung Zertifikat schlägt fehl

Das Zertifikat ist nach wenigen Minuten ausgestellt.
Certify The Web stellt sicher, dass das Zertifikat automatisch vor Ablauf erneuert wird (ACME) und mit dem PowerShell Script für SMB über QUIC eingebunden wird.

Das ausgestellte Zertifikat ist im Windows Zertifikatsspeicher ersichtlich.

Konfiguration SMB über QUIC
Die Konfiguration von SMB über QUIC erfolgt im Azure Portal (https://portal.azure.com) und mit dem Windows Admin Center.
Netzwerksicherheitsgruppe (NSG) für SMB über QUIC
Windows 11 Clients benötigen Zugriff auf den Windows Server 2022 Datacenter Azure Edition aus dem Internet. Dazu wird Port 443 UDP in der Netzwerksicherheitsgruppe (NSG) an den Windows Server weitergeleitet.

Zertifikat an SMB über QUIC anbinden
Das Zertifikat, welches mit Lets Encrypt vorgängig erstellt wurde, ist bereits mit PowerShell an SMB über QUIC angebunden.
Das zugeordnete Zertifikat wird im Windows Admin Center unter Settings > File Shares (SMB server) > File sharing across the internet with SMB over QUIC angezeigt.

Ordnerfreigabe mit SMB über QUIC verbinden
Ein Netzlaufwerk auf eine Windows Ordnerfreigabe kann mit SMB über QUIC mit PowerShell, Command Prompt (CMD) oder Windows Explorer verbunden werden. Voraussetzung ist, dass auf dem Windows Server eine Ordnerfreigabe vorhanden ist und der Client das Betriebssystem Windows 11 einsetzt.

PowerShell
1 | New-SmbMapping -LocalPath x: -RemotePath \\fs9.cloudcoffee.ch\datastore -TransportType QUIC -Persistent $True -Username %username% -Password %password% |

Command Prompt (CMD)
1 | net use x: \\fs9.cloudcoffee.ch\datastore /TRANSPORT:QUIC /PERSISTENT:YES /user:%username% %password% |

Explorer
Windows Explorer öffnen und Map network drive auswählen

Laufwerksbuchstabe, DNS Adresse zum SMB über QUIC Freigabe hinterlegen und Verbindungseigenschaften auswählen.

Nach Eingabe von Benutzername und Kennwort ist das Netzwerklaufwerk mit SMB über QUIC verbunden.

Fehlersuche und Fehlerbehebung
Validierung Zertifikat schlägt fehl
Die Validierung der erforderlichen Zertifikats Challenge konnte nicht erfolgreich abgeschlossen werden.

Die Ursache liegt an der Windows Firewall auf dem Windows Server 2022 Datacenter: Azure Edition.
Lösung: TCP Port 80 und 443 eingehend konfigurieren.

Folge mir auf LinkedIn und Bluesky, um stets über meine neuesten Beiträge auf dem Laufenden zu bleiben.
War dieser Beitrag hilfreich für dich? Zeige deine Begeisterung mit dem herrlichen Aroma eines frisch gebrühten Kaffees für mich!