SMB over QUIC: Windows Server 2025 で VPN を使用せずにインターネット経由でファイル共有をマウントする
<本文>
SMB over QUIC は Windows Server 2025 で利用できる新機能で、VPN を使用せずにインターネット経由で Windows ファイル共有への安全なアクセスを構成できます (以前は Windows Server 2022 Azure Edition でのみ利用可能でした)。以前は、SMB ファイル サーバーにリモートでアクセスするには、追加の VPN または RDS ソリューションを導入する必要がありました。 SMB over QUIC を使用すると、信頼されていないパブリック ネットワークから直接ファイル サーバーに安全にアクセスできるようになります。
QUIC プロトコルを介した SMB は次のとおりです。
-
SMB サーバーとユーザー間の接続は、証明書による TLS 1.3 暗号化によって保護されます。ユーザー認証は安全な TLS トンネル内で行われます。
-
従来の SMB ポート TCP/445 の代わりに UDP/443 が使用されます。
-
QUIC は、パフォーマンスが向上し、貧弱なネットワーク チャネルに対する耐性を提供する最新のトランスポート プロトコルです。新しい圧縮アルゴリズムも含まれています。
※ QUIC Client Access Controlを使用すると、証明書を使用してクライアントのファイルサーバーへのアクセスを制限できます。
※TLSトンネル内ではSMB 3.1.1が使用されます。
プロトコルの主な特徴は次のとおりです。
SMB over QUIC は、追加の VPN を必要とせずに、リモート ユーザーがインターネット経由で企業のファイル サーバーに安全にアクセスできるため、SMB VPN と呼ばれることがよくあります。
SMB over QUIC 経由で Windows Server 2025 ファイル サーバー上のフォルダーを共有し、証明書認証を使用してクライアントからそのフォルダーへの安全なアクセスを提供する方法を見てみましょう。 Windows Admin Center (WAC) と PowerShell を使用して、SMB over QUIC を構成できます。
まず、SMB over QUIC サポートを備えた Windows Server 2025 上でファイル サーバーを構成します。 Active Directory ドメインが推奨されますが、ローカル ユーザー アカウントを使用したワークグループ シナリオ向けに SMB over QUIC を構成できます。
サブジェクト代替名 (SAN) 内のファイル サーバーの FQDN を含む SSL 証明書が必要です。 Let’s Encrypt 証明書、内部 CA からの証明書、または自己署名証明書などの外部認証局からの証明書を使用できます。これらは許容されますが、推奨されません。証明書の拡張キー使用法 (EKU) フィールドには、サーバー認証での使用が含まれている必要があります。
この例では、サーバー上の自己署名証明書を使用するシナリオを使用します。ファイル サーバーの FQDN の自己署名証明書を生成します。
` $todaydate=日付の取得
$add3year=$todaydate.Addyears(3)
New-SelfSignedCertificate-dnsname mfs01.woshub.com-notafter $add3year-CertStoreLocation cert:\LocalMachine\My `
フィンガープリントによって証明書を選択します。
$cert=Get-ChildItem-Path “Cert:\LocalMachine\My”| Where-Object Thumbprint-eq D4CB32344D21EB9E38168EA04540DBE509BBD650
証明書を QUIC SMB サーバーに割り当てます。
New-SmbServerCertificateMapping-Name mfs01.woshub.com-Thumbprint $cert.Thumbprint-StoreName My

ファイル サーバーの SMB over QUIC のサポートを有効にします。
Set-SmbServerConfiguration-EnableSMBQUIC $true
SMB サーバーが UDP ポート 443 でリッスンしていることを確認します。
netstat-a |選択文字列 443

SMB QUIC 経由でファイル共有へのアクセスを許可するには、Windows Defender ファイアウォールで適切なルールを有効にする必要があります。
Get-NetFirewallRule-DisplayName "ファイルとプリンターの共有 (SMB-QUIC-In)"|名前、有効、プロファイルを選択
デフォルトでは、SMB QUIC アクセスはドメイン プロファイルに対して許可されますが、プライベートおよびパブリック ネットワーク プロファイル タイプに対しては拒否されます (環境に応じて必要なルールを有効にします)。

共有フォルダーに接続する場合、SMB クライアントは標準の TCP ポート 445 を使用しようとすることに注意してください。そのポートが使用できない場合、クライアントは QUIC に切り替えます。したがって、標準ポート 445 上の SMB への外部クライアント アクセスを制限するようにサーバーのファイアウォール ルールを構成することをお勧めします。
次に、クライアント コンピューターで QUIC 経由で SMB 共有フォルダーへの接続を構成します (次のオペレーティング システムがクライアントとしてサポートされています: Windows 11、Windows Server 2025、および Samba バージョン 4.23 以降を搭載した Linux。ただし、Windows 10 は QUIC プロトコルをサポートしていません。
Windows 11 クライアントで SMB over QUIC サポートが有効になっているかどうかを確認します。
Get-SmbClientConfiguration | SMBQUIC を有効にするを選択します

クライアント コンピューターは、ファイル サーバーにインストールされている証明書を信頼する必要があります。企業 CA を使用する場合、CA のルート証明書と中間証明書を配布し、それらをクライアント デバイスの信頼できる証明書ストアに追加できます (証明書は GPO 経由で展開できます)。自己署名証明書を使用している場合は、それをクライアントの信頼できる証明書ストアにインポートする必要があります。
これで、New-SmbMapping PowerShell コマンドレットを使用して、ファイル サーバーから共有フォルダーをマップできるようになりました。
New-SmbMapping-LocalPath W:-RemotePath \\mfs01.woshub.com\Docs-TransportType QUIC
または、 net use コマンドを使用します。
net use W: \\mfs01.woshub.com\Docs/TRANSPORT:QUIC

QIUC トランスポートが共有フォルダーへの接続に使用されたことを確認するには、クライアントのイベント ビューアー ログでイベント ID 30832 を確認します (イベント ビューアー-> アプリケーションとサービス ログ-> Microsoft-> Windows-> SMBClient-> 接続)。
The initial connection to the share was established.Share name: \xxxxxServer address: xxxxxxx:443Session ID: 0x1900014000079Tree ID: 0xDTransport type: QuicSigning used: true

ログにイベント ID 30803 が表示された場合は、サーバー証明書がクライアントにインストールされていないか、クライアントが証明書を信頼していないことを意味している可能性があります。
Failed to establish a network connection.Error: The QUIC connection encountered a bad certificate during TLS.

クライアント アクセス コントロール ルールを使用すると、クライアントが必要な証明書を持っている場合にのみ、QUIC プロトコル経由でサーバー共有へのアクセスを許可できます。ファイル サーバーへの接続に必須の SMB クライアント証明書認証を有効にします。
Set-SmbServerCertificateMapping-Name mfs01.wshub.com-RequireClientAuthentication $true
クライアント コンピューター上に 3 か月間有効な自己署名証明書を作成してみましょう。
$clientCert=New-SelfSignedCertificate-DnsName mfs01.woshub.com-CertStoreLocation "Cert:\LocalMachine\My"-NotAfter (Get-Date).AddMonths(3)-KeyAlgorithm "RSA"-KeyLength "2048"
企業ファイル サーバーに接続するときに使用できるように、この証明書をクライアント デバイスにバインドします。
New-SmbClientCertificateMapping-Namespace mfs01.woshub.com-Thumbprint $clientCert.Thumbprint-Store My
クライアント証明書の SHA-256 ハッシュを取得します。
$clientCert.GetCertHashString("SHA256")

QUIC 共有 (SHA-256 ハッシュによる) を使用して、SMB サーバー上でこの証明書を持つクライアントからの接続を許可します。
Grant-SmbClientAccessToServer-Name mfs01.woshub.com-IdentifierType SHA256-Identifier "B05E517D9FCA15BE3A38D95AA97A87003F55D524FE67DB7D7E81BB99B5C1D50B"

ファイル サーバー上のすべてのクライアント アクセス コントロール ルールを一覧表示するには、次の手順を実行します。
Get-SmbClientAccessToServer-Name mfs01.woshub.com
または、特定の発行者 (X.500 形式で指定) からの証明書を持つすべてのクライアントからの接続を許可できます。この CA のルート証明書と中間証明書は、SMB サーバーによって信頼される必要があります。
Grant-SmbClientAccessToServer-Name mfs01.woshub.com-IdentifierType ISSUER-Identifier ""
証明書認証イベントの監査を有効にします (アプリケーションとサービス ログ\Microsoft\Windows\SMBServer\Audit):
Set-SmbServerConfiguration-AuditClientCertificateAccess $true
その結果、承認された証明書を持つクライアントのみが SMB ファイル サーバーに接続できるようになります。
SMB over QUIC では、認証を含むすべての SMB トラフィックが完全に暗号化されます。ドメイン コントローラーがクライアント認証に使用できない場合は、Kerberos 認証の代わりに NTLMv2 認証が使用されます。この暗号化により、NTLM 認証が攻撃者による傍受や収集から保護され、NTLM が使用されている場合でも、資格情報と認証プロセスが暗号化された QUIC チャネル内で保護されたままになります。
クライアントが Kerberos を使用して認証できるようにするには、ファイル サーバーに KDC プロキシを展開します。このプロキシは、外部クライアントからの Kerberos 要求を HTTPS 経由でドメイン コントローラーに転送します (ポスト SMB over QUIC: Configure the KDC Proxy を確認してください)。
QUIC プロトコル上の SMB の欠点の 1 つは、Windows 10 以前のバージョンや 4.23 より前の Samba バージョンを含むレガシー SMB クライアントをサポートしていないことです。
*️⃣ 出典リンク:
RDS 、Let’s Encrypt 証明書、自己署名証明書、Get-NetFirewallRule、ネットワーク プロファイル タイプ、 、証明書は GPO 経由で展開できます、 SMB over QUIC: KDC プロキシを構成する 、