Windows Server 2025 / SMB署名・暗号化と共有の接続エラーを確認する

SMB署名はメッセージの改ざんを検出し、SMB暗号化は通信内容を保護します。接続障害では名前、認証、対応プロトコル、実際のセッションを確認し、保護を弱める前に原因を絞ります。

署名・暗号化・権限は別の制御

制御 目的
署名 メッセージの完全性を保護
暗号化 通信中のファイル内容を保護
共有・NTFSの権限 認証済み利用者の操作を制限

署名済みは暗号化済みを意味せず、暗号化しても過大な権限は直りません。SMB署名の説明では2025の外向き要件と受信側を区別しています。役割とGPOで実効設定も変わるため、実値を調べます。

設定要件と実接続を分けて調べる

Get-SmbClientConfiguration | Select-Object RequireSecuritySignature
Get-SmbServerConfiguration | Select-Object RequireSecuritySignature,EncryptData,RejectUnencryptedAccess
Get-SmbShare -Name 'LabRead' | Select-Object Name,Path,EncryptData

FS1が他サーバーを利用するクライアント側と、自分の共有を提供するサーバー側は別です。RequireSecuritySignatureは要件であり、一つの接続の全状態ではありません。暗号化には共有、サーバー、クライアントのポリシーも関係します。SMBのセキュリティ強化で版別条件を確認します。

テスト共有だけで暗号化する

正常なLabReadを使い、開いたファイルを保存してからFS1で元の値を控えます。同じPowerShellセッションで復元に使います。

$previousEncryption = (Get-SmbShare -Name 'LabRead').EncryptData
Set-SmbShare -Name 'LabRead' -EncryptData $true
Get-SmbShare -Name 'LabRead' | Select-Object Name,EncryptData

両端で必要なSMB 3.x暗号化に対応することを確認し、CLIENT1の該当接続だけを閉じ、通常名で入り直します。CLIENT1で実接続を調べます。

Get-SmbConnection | Where-Object ShareName -eq 'LabRead' | Select-Object ServerName,ShareName,Dialect,Encrypted

対象行のDialectとEncrypted=Trueを確認します。行がなければ先にファイルを開きます。暗号化しても読み取り専用は変わりません。SMB 3と表示する機器でも必要な暗号化機能の対応を個別確認します。

互換性と認証・権限エラーを分ける

症状 確認するもの
名前で失敗 DNS、通常名、ドメイン通信
資格情報・ゲストのエラー 実ID、保存接続、機器の認証対応
署名で失敗 相手の対応とクライアント要件
暗号化変更後に失敗 方言、暗号化機能、ポリシー、イベント

適切なドメイン名とKerberosを使い、IPや別名で識別問題を回避しません。古いNASは更新、対応、交換、隔離を検討し、署名の全体無効化、危険なゲスト許可、SMB1の追加を一般的な対処にしないでください。SMBClientとSMBServerの時刻・共有・アカウントを照合します。

控えた値へ戻して再接続する

Set-SmbShare -Name 'LabRead' -EncryptData $previousEncryption

常に暗号化を無効へ戻すのではなく、同じセッションの元の値を復元します。再接続してファイルアクセスと保護を確認します。他の広いポリシーで暗号化が要求される場合もあります。本番では機密性、互換性、測定した性能、復旧経路を合わせて判断します。