SMB2 および SMB3 でセキュリティで保護されていないゲスト ログオンを有効にする方法
この記事では、サーバー メッセージ ブロック (SMB) のセキュリティで保護されていないゲスト ログオンの既定の動作、ゲスト アクセスを有効にする理由、グループ ポリシーと PowerShell を使用して SMB クライアントで有効にする方法について説明します。
Windows 2000 以降、Windows では受信ゲスト アクセスが無効となっており、Windows 10 以降は SMB2 および SMB3 のクライアント ゲスト認証が禁止されています。 ただし、ユーザー名とパスワードをサポートしていないサードパーティ製のデバイスに接続する場合は、ゲスト資格情報が依然として要求される場合があります。 ゲスト認証のみをサポートするサードパーティ製のソフトウェアまたはデバイスをアップグレードするか、交換することをお勧めします。
既定の動作
Windows 10 バージョン 1709 および Windows Server 2019 以降、SMB2 と SMB3 のクライアントでは、次のアクションが既定で許可されなくなりました。
- リモート サーバーへのゲスト アカウント アクセス。
- 無効な資格情報が提供された後、ゲスト アカウントにフォールバックすること。
SMB2 と SMB3 には、Windows の異なるバージョンに対して次のように動作します。
既定では、リモート サーバーから要求された場合でも、ゲスト資格情報を使用して Windows 10 Enterprise、Windows 10 Pro for Workstations、および Windows 10 Education のリモート共有に接続することはできません。
リモート サーバーから要求された場合でも、Windows Server 2019 Datacenter Edition および Standard Edition では、ゲスト資格情報を使用してリモート共有に接続することは既定で許可されなくなりました。
Windows 10 Home Edition と Pro Edition では、これまで同様、既定でゲスト認証を引き続き使用できます。
Windows 11 Pro Insider Preview ビルド 25267 以降のすべてのビルドでは、リモート サーバーから要求された場合でも、ゲスト資格情報を使用して既定でリモート共有に接続することはできません。
Windows 11 バージョン 24H2、Windows Server 2025、およびそれ以降のビルドでは、SMB 署名が既定で必要です。このビルドでは、署名が成功しない場合にゲスト認証との互換性の問題が発生します。
Note
この動作は、KB5003173 がインストールされている限り、1709、1803、1903、1909、2004、20H2、21H1 など、さまざまなバージョンの Windows 10 で生じます。
ゲスト ログオンを有効にする理由
ゲスト ログオンを有効にする必要があるのは、ユーザーがサーバー上のリソースにアクセスする必要があるものの、サーバーではユーザー アカウントが提供されておらず、ゲスト アクセスのみという場合です。
注意事項
ゲスト ログオンを有効にすると、セキュリティ上の脅威となる可能性があることに注意してください。具体的には、次のようなリスクがあります。
- 攻撃者が、資格情報のエラーやプロンプトを表示させることなく、ユーザーを気付かないうちに、悪意ある偽のサーバーへ接続させることができます。
- ゲスト ログオンを介して、ランサムウェアなどの悪意のあるコードを実行できます。
- ゲスト ログオンは中間者攻撃に対して脆弱であるため、ネットワーク上の機密データが漏洩する可能性があります。
そのため、ゲスト ログオンは、必要な特定の状況でのみ有効にすることをお勧めします。 Windows では、安全でないゲスト ログオンが既定で無効になっています。 安全でないゲスト ログオンを有効にしないでください。
前提条件
SMB クライアントでセキュリティで保護されていないゲスト ログオンの変更を開始する前に、次が必要です。
管理者グループのメンバーまたはそれと同等のアカウント。
次のいずれかのオペレーティング システムで実行されている SMB クライアント:
Windows 10 以降。
Windows Server 2019 以降。
セキュリティで保護されていないゲスト ログオンの監査を有効にする予定の場合は、SMB クライアントが次のいずれかのオペレーティング システムで実行されている必要があります。
- Windows 11 バージョン 24H2 以降。
- Windows Server 2025。
安全でないゲスト ログオンを有効にする
セキュリティで保護されていないゲスト ログオンの有効化を実行するには、グループ ポリシーまたは PowerShell を使用します。
Note
Active Directory ドメインベースのグループ ポリシーを変更する必要がある場合は、グループ ポリシー管理 (gpmc.msc) を使用します。
- [スタート] を選択し、「gpedit.msc」と入力して、[グループ ポリシーの編集] を選択します。
- 左側のウィンドウの [ローカル コンピューター ポリシー] で、[Computer Configuration\Administrative Templates\Network\Lanman Workstation] に移動します。
- [セキュリティで保護されていないゲスト ログオンを有効にする] を開き、[有効] を選択して、[OK] を選択します。
ゲスト ログオンを使用するには、グループ ポリシーで SMB 署名と SMB 暗号化ポリシーの両方を無効にする必要があります。 そうすると、クライアントのセキュリティに問題が生じて、ユーザーが資格情報の盗難やリレー攻撃にさらされる可能性があります。
Note
SMB クライアントでゲスト ログオンを許可する設定になっていても、ゲスト ログオンで SMB 署名や SMB 暗号化などの標準的なセキュリティ機能がサポートされていません。
セキュリティで保護されていないゲスト ログオンを監査する
セキュリティで保護されていないゲスト ログオン ポリシーが有効になると、これらのイベントは [イベント ビューアー] にキャプチャされます。 これらのログを確認するには、次の手順を実行します。
- [スタート] を右クリックし、[イベント ビューアー] を選択します。
- 左側のウィンドウで、Applications and Service Logs\Microsoft\Windows\SMBClient\Security に移動します。
中央のウィンドウでは、これらのイベントに関する次の情報を確認できます。
イベント ID | 出力 |
---|---|
3023 | ログ名: Microsoft-Windows-SmbServer/Security ソース: Microsoft-Windows-SMBServer ログ記録: Date/Time タスク カテゴリ: InsecureGuestLogon レベル: Informational キーワード: Authentication ユーザー: SYSTEM コンピューター: 説明: SMB クライアントがゲスト アカウントとしてログオンしました。 |
31017 | ログ名: Microsoft-Windows-SmbClient/Security ソース: Microsoft-Windows-SMBClient ログ記録: Date/Time タスク カテゴリ: RejectedInsecureGuestAuth レベル: Error キーワード: Authentication ユーザー: NETWORK SERVICE コンピューター: 説明: 安全でないゲスト ログオンを拒否しました。 このコンピューターが安全でないゲスト ログオンを使用してサーバーに接続しようとしました。 サーバーは接続を拒否しました。 サーバーでゲスト アカウントが有効になっており、ネットワークからのアクセスを許可するように構成されているかを確認してください。 |
31018 | ログ名: Microsoft-Windows-SmbClient/Security ソース: Microsoft-Windows-SMBClient ログ記録: Date/Time タスク カテゴリ: InsecureGuestAuthEnabled レベル: Warning キーワード: Authentication ユーザー: NETWORK SERVICE コンピューター: 説明: 管理者が AllowInsecureGuestAuth を有効にしました。 安全でないゲスト ログオンを使用するクライアントは、中間者攻撃、フィッシング、マルウェアに対してより脆弱になります。 |
31022 | ログ名: Microsoft-Windows-SmbClient/Security ソース: Microsoft-Windows-SMBClient ログ記録: Date/Time タスク カテゴリ: AllowedInsecureGuestAuth レベル: Warning キーワード: Authentication ユーザー: SYSTEM コンピューター: 説明: 安全でないゲスト ログオンを許可しました。 このイベントは、サーバーが未認証のゲストとしてユーザーをログオンさせようとし、クライアントがそのログオンを許可したことを示しています。 ユーザー名: nonexistentaccount サーバー名: |