Windows Server 2016 および Windows Server 2019 で SMB 暗号化または SMB 署名を有効にした後のネットワーク パフォーマンスの低下

この記事では、Windows Server 2016および Windows Server 2019 でサーバー メッセージ ブロック (SMB) 暗号化または SMB 署名を有効にした後、ネットワークのパフォーマンスが低下する問題の解決策について説明します。 Windows Server 2022 では、このシナリオのネットワーク パフォーマンスが向上します。

適用対象: Windows Server 2016、Windows Server 2019、Windows Server 2022
元の KB 番号: 4458042

現象

リモート ダイレクト メモリ アクセス (RDMA) が有効になっているネットワーク アダプターを使用します。 SMB 署名または SMB 暗号化を有効にすると、SMB Direct とネットワーク アダプターのネットワーク パフォーマンスが大幅に低下します。

さらに、次のイベント ID の 1 つ以上がログに記録される場合があります。

Log Name:      Microsoft-Windows-SMBClient/Operational  
Source:        Microsoft-Windows-SMBClient  
Event ID:      30909  
Level:         Informational  
Description:  
The client supports SMB Direct (RDMA) and SMB Signing is in use.  
Share name:ShareName  
Guidance:  
For optimal SMB Direct performance, you can disable SMB Signing. This configuration is less secure and you should only consider this configuration on trustworthy private networks with strict access control.
Log Name:      Microsoft-Windows-SMBClient/Operational  
Source:        Microsoft-Windows-SMBClient  
Event ID:      30910  
Level:         Informational  
Description:  
The client supports SMB Direct (RDMA) and SMB Encryption is in use.  
Share name: <Share name>  
Guidance:  
For optimal SMB Direct performance, you can disable SMB Encryption on the server for shares accessed by this client. This configuration is less secure and you should only consider this configuration on trustworthy private networks with strict access control.
Log Name:      Microsoft-Windows-SmbClient/Security  
Source:        Microsoft-Windows-SMBClient  
Event ID:      31016  
Level:         Warning  
Description:  
The SMB Signing registry value is not configured with default settings.  
Default Registry Value:  
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\\Parameters]
"EnableSecuritySignature"=dword:1  
Configured Registry Value:  
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\\Parameters]
"EnableSecuritySignature"=dword:0  
Guidance:  
Even though you can disable, enable, or require SMB Signing, the negotiation rules changed starting with SMB2 and not all combinations operate like SMB1.  
The effective behavior for SMB2/SMB3 is:  
Client Required and Server Required = Signed  
Client Not Required and Server Required = Signed  
Server Required and Client Not Required = Signed  
Server Not Required and Client Not Required = Not Signed  
When requiring SMB Encryption, SMB Signing is not used, regardless of settings. SMB Encryption implicitly provides the same integrity guarantees as SMB Signing.

原因

記憶域スペース ダイレクト (S2D) やクラスター共有ボリューム (CSV) などのいくつかの機能では、クラスター内通信のプロトコル トランスポートとして SMB が使用されます。 したがって、S2D のパフォーマンスは、RDMA ネットワーク アダプターを使用する SMB 署名または SMB 暗号化を有効にすることによって大きな影響を受ける可能性があります。

SMB 署名または SMB 暗号化が有効になっている場合、SMB は RDMA ダイレクト データ配置 (RDMA の読み取り/書き込みとも呼ばれます) の使用を停止します。 これはフォールバック ポリシーであり、この動作は最高レベルのセキュリティのために設計されています。 そのため、SMB はフォールバックして、純粋な送受信モードで RDMA 接続を使用します。 最大 MTU 制限は 1,394 バイトであるため、最適ではないパス内のデータ フロー。 これにより、メッセージの断片化と再構成が発生し、全体的なパフォーマンスが低下します。

この問題は、Windows 10 v1607 ("Anniversary Update") のセキュリティ ベースラインに従い、WINDOWS SERVER 2016して SMB 署名を有効にした後に発生する可能性があります。

または、次のグループ ポリシー設定を使用して SMB 署名を有効にする場合:

  • Microsoft ネットワーク サーバー - デジタル署名通信 (常に) - ENABLED
  • Microsoft ネットワーク クライアント - デジタル署名通信 (常に) - ENABLED

解決方法

SMB 署名と SMB 暗号化には、パフォーマンスのトレードオフがいくつかあります。 (記憶域スペース ダイレクトなど) 展開シナリオでネットワーク パフォーマンスが重要な場合は、SMB 署名と SMB 暗号化を展開しないことをお勧めします。

Windows Server 2022 SMB Direct で暗号化がサポートされるようになりました。 データは配置前に暗号化され、パフォーマンスが比較的低下します。 さらに、Windows Server 2022 フェールオーバー クラスターでは、クラスター共有ボリューム (CSV) とストレージ バス レイヤー (SBL) のノード内ストレージ通信の暗号化の詳細な制御がサポートされるようになりました。 つまり、記憶域スペース ダイレクトと SMB Direct を使用する場合、SMB インスタンスごとにセキュリティを向上または低くするために、クラスター自体内の東西通信を暗号化することを決定できます。

Windows Server 2016と Windows Server 2019 を使用してセキュリティの高い環境に展開する場合は、次の構成を適用することをお勧めします。

  1. RDMA 対応ネットワーク アダプターを使用して展開したり、コマンドレットを使用して RDMA を無効に Disable-NetAdapterRdma したりしないでください。

  2. SMB クライアントと SMB サーバーのバージョンに基づいて、パフォーマンスを最適化するための最も適切なソリューションを評価します。 SMB 署名ではメッセージの整合性が提供され、SMB 暗号化ではメッセージの整合性とプライバシーが提供され、最高レベルのセキュリティが提供されます。

    • SMB 3.0 (Windows Server 2012/Windows 8 で導入) - SMB 署名は SMB 暗号化よりも優れたパフォーマンスを提供します。
    • SMB 3.1 (Windows Server 2016/Windows 10で導入) - SMB 暗号化は SMB 署名よりも優れたパフォーマンスを提供し、メッセージの整合性の保証に加えて、メッセージのプライバシーと共にセキュリティを強化する利点があります。