Windows 10におけるレガシーSMBプロトコルに関する重要な変更とSMB v3新機能まとめ:企業ユーザーに贈るWindows 10への乗り換え案内(93)
Windows 10およびWindows Server 2016以降、レガシーなSMB(SMB v1やSMB v2)の扱いについて、既定の動作に幾つか重要な変更が行われています。Windows 10やWindows Server 2016以降への移行時、または機能更新プログラムによる新バージョンへのアップグレードのタイミングで、以前のWindowsネットワークになかった挙動に遭遇した場合は、変更点を確認してみてください。
多くのWindowsネットワークはSMB v3に移行済み(のはず)
Windowsネットワークにおける標準のファイル共有プロトコルは「Server Message Block(SMB)」です。パフォーマンス改善やセキュリティ強化のために、「Windows Vista」以降「Windows 10」まで、SMBの新しいバージョンが次々に登場しました(表1)。
SMB | Windows |
---|---|
SMB 1.0/CIFS | Windows XP(EoS)およびWindows Server 2003 R2(EoS)以前 |
SMB 2.0 | Windows Vista(EoS)、Windows Server 2008(EoS) |
SMB 2.1 | Windows 7(EoS)、Windows Server 2008 R2(EoS) |
SMB 3.0 | Windows 8(EoS)、Windows Server 2012 |
SMB 3.0.2 | Windows 8.1、Windows Server 2012 R2 |
SMB 3.1.1 | Windows 10、Windows Server 2016以降 |
表1 SMBのバージョンとWindowsの対応 |
Windows 10は最新のSMB 3.1.1をサポートしていますが、以前のSMBも全てサポートしており、SMB共有への接続に対して下位互換性を提供しています。SMBサーバとSMBクライアント間は、SMBバージョンをネゴシエートし、両者がサポートする最も上位のSMBバージョンを選択して通信します。
Windows 10のSMB 3.1.1、「Windows 8」で登場したSMB 3.0、「Windows 8.1」のSMB 3.02を全て含めて、「SMBバージョン3(SMB v3)」と呼ぶこともあります。表1に示したように、現在サポートされているWindowsは全てSMB v3をサポートしています。プロトコルの仕様的には、SMB 2.0以降、SMB v3までを含めて「SMB2(MS-SMB2)」と呼ぶこともあり、レガシーなSMB 1.0/CIFS(SMB v1)の「SMB(MS-SMB)」と区別されます。
- [MS-SMB]:Server Message Block(SMB)Protocol[英語](Microsoft Docs)
- [MS-SMB2]:Server Message Block(SMB)Protocol Versions 2 and 3[英語](Microsoft Docs)
サポートが終了(End of Support、EoS)したWindowsを継続して利用している(非推奨)、あるいは「拡張セキュリティ更新プログラム(Extended Security Update、ESU)」を利用して「Windows 7」や「Windows Server 2008/2008 R2」を延命している場合でない限り、SMB 2.1以前のバージョンを実行するWindowsデバイスはもう存在しないはずです。SMB v3に対応していないネットワークデバイス(FAXコピー複合機など)や、Mac、Linuxの古いバージョンが存在する場合は、SMB 2.1以前が使用されているかもしれません。
しかしながら、MicrosoftはSMB 2.1以前のレガシーなSMBについて、Windows 10やWindows Serverの新しいバージョンでは既定の動作に幾つか重要な変更が行われています。それが影響して、Windows 10の機能更新プログラムによるバージョンアップや、クライアントPCやサーバのリプレースを機に、それまで問題のなかったSMBの通信にトラブルが発生する可能性があります。
SMB 1.0/CIFSは既定でインストールされなくなった
以下のMicrosoftの公式ドキュメントで説明されているように、現在サポートされているWindows 10のバージョン、「半期チャネル(SAC)」のWindows Server、「Windows Server 2019」は、新規インストールではSMB 1.0/CIFSのサーバおよびクライアント機能は既定でインストールされなくなりました。
- SMBv1 は、Windows 10 バージョン1709、Windows Server バージョン1709以降のバージョンでは既定でインストールされません。(Microsoft Docs)
- SMBv1 is not installed by default in Windows 10 version 1709, Windows Server version 1709 and later versions[英語](Microsoft Docs)
SMB 1.0/CIFSのサーバ/クライアント機能が有効になっているWindows 10を、機能更新プログラムなどでインプレースアップグレードした場合、HomeおよびProエディションはSMB 1.0/CIFSのサーバ/クライアント機能は残りますが、このプロトコルが15日間使用されなかった場合には自動で削除されます。それ以外のエディション(Enterpriseなど)は、自動で削除されることはありません。
SMB 1.0/CIFSのサーバ/クライアント機能が削除された場合は、SMB 1.0/CIFSに依存する「Computer Browser」サービスはアンインストールされます。そのため、レガシーなNBT(NetBIOS over TCP/IP)によるWindowsネットワークのブラウジングは機能しなくなります。
この仕様はWindows 10 バージョン1709から始まっており、Windows 10のバージョンやエディションによって挙動が異なります。詳しくは、Microsoftの公式ドキュメントで説明されています。機械翻訳の日本語が分かりにくい場合は、オリジナルの英語ドキュメントを参照することをお勧めします。
SMB 1.0/CIFSのサーバ/クライアント機能の15日後の自動削除は、1回のみです。Windows 10の場合、コントロールパネルの「Windowsの機能の有効化または無効化」でSMB 1.0/CIFSのサーバ/クライアント機能を個別に有効化でき、その後は削除されません(次の機能更新プログラムで再び自動削除される可能性はあります)。
「SMB 1.0/CIFS自動削除」機能はWindows 10 バージョン1809から追加され、Enterpriseなど自動削除が行われないエディションに対して、管理者が自動削除機能を有効化するために利用できます(画面1)。
画面1 Windows 10の場合はSMB 1.0/CIFSの機能が既定でインストールされず、インプレースアップグレードの場合でも自動削除されることがある。SMB 1.0/CIFSに対応する必要がある場合は、「Windowsの機能の有効化または無効化」を使用して有効化する(非推奨)
Windows Serverは自動削除の対象外ですが、Windows Server 2019(デスクトップエクスペリエンス)は「サーバーマネージャー」の「役割と機能の追加(または削除)ウィザード」やPowerShellコマンドレット(Enable/Disable-WindowsOptionalFeature)を使用して、SMB 1.0/CIFSのサーバ/クライアント機能を個別に有効化/無効化できます(画面2)。
- WindowsでSMBv1、SMBv2、およびSMBv3を検出、有効化、および無効化する方法(Microsoft Docs)
いずれの場合も、SMB 1.0/CIFSはセキュリティ上の問題があるため、可能な限り“有効化しない”ことを推奨します。
安全でないゲストアクセス(匿名アクセス)の無効化について
Windows 10 Enterprise/Educationエディションのバージョン1709以降と、「Windows Server, version 1709(SAC)」以降、Windows Server 2019は、SMB2(MS-SMB2のこと、SMB v2とSMB v3の両方を含む)による共有リソースへの匿名(非認証)アクセスが既定で無効化されました。これらのOSには、以下のレジストリ値が既定で構成されており、「安全でないゲストログオン(Insecure Guest Logon)」が無効化されています。
- キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
- 値:AllowInsecureGuestAuth(REG_DWORD)
- 値のデータ:0
「安全でないゲストログオン」の無効化により、パスワードなしのゲスト(Guest)アカウントによる共有リソースへのアクセスと、無効な資格情報が提供された際のゲストアカウントへの自動フォールバックが許可されなくなります。この既定の挙動の変更は、SMB2(SMB v2およびSMBv3)を使用した接続に適用されます。SMB 1.0/CIFSを使用した場合の挙動に変更はありません(引き続きゲストアクセスとゲストフォールバックを使用します)。
Windows 10 Home/Proエディションには、バージョン1709以降であっても、このレジストリ値は存在せず、従来と同じ挙動、つまりゲストアクセスとゲストフォールバックが使用されます(画面3)。
画面3 バージョン1709以降のWindows 10 Enterprise/EducationおよびWindows Server, version 1709以降では、「安全でないゲストアクセス」が既定で無効化されている。Windows 10 Home/Proエディションには影響なし
この仕様変更は、以下のMicrosoftの公式ドキュメントで説明されています。SMB 2.0やSMB 2.1に適用されるように読めるかもしれませんが、プロトコル仕様としてのSMB2(MS-SMB2)を対象としたものであり、SMB v3を含むことに留意してください。
- Windowsで既定で無効になっているSMB2のゲストアクセス(Microsoft Docs)
- Guest access in SMB2 disabled by default in Windows[英語](Microsoft Docs)
また、Windows Server 2016にも適用されるように読めますが、正しくは「Windows Server, version 1709」以降です。Windows Server 2016にはレジストリ値「AllowInsecureGuestAuth」は既定で構成されていないため、従来の挙動のままです。
なお、この仕様変更によってアクセスが拒否された場合は、SMBクライアント側のイベントログ「Microsoft-Windows-SmbClient/Security」に「安全でないゲストログオンを拒否しました」のエラーが記録されます(画面4)。
SMB共有へのゲストアクセスは、企業環境では一般的ではありません。最近のバージョンのWindows Serverでは、匿名アクセスが可能な共有を作成することは簡単ではありません。ゲストアカウントの有効化(既定は無効)やセキュリティポリシーの調整など、追加の手順が必要です。影響があるとすれば、NAS(ネットワーク接続型ストレージ)、特に古いNASでは匿名アクセスが使用される場合があります。
この仕様変更の影響を受けて接続不能になるような場合は、「ローカルグループポリシーエディター」(Gpedit.msc)または「グループポリシー」で、「コンピューターの構成\管理用テンプレート\ネットワーク\Lanman ワークステーション」にある「安全でないゲストログオンを有効にする」を「有効」に設定することで、以前の動作(HomeやProエディションと同じ動作)に戻すことができます。あるいは、上記レジストリ値を削除するか、値のデータを「1」に設定することで、従来の挙動に戻すこともできます。
セキュリティ強化のためには、バージョンやエディション、既定の設定に関係なく、Windows 10およびWindows Server 2016以降では「安全でないゲストアクセス」を無効化することが推奨されます。
SMB v3にはSMB 3.1.1になってからも新機能の追加あり
SMB v3は「SMB暗号化」「SMBマルチチャンネル」「SMBスケールアウト」「SMBダイレクト」、SMBのためのPowerShellコマンドレットなど、セキュリティやパフォーマンス、可用性、管理性に関して、SMB 2.1以前よりも大幅に強化されています。一口にSMB v3といっても、より新しいバージョンでは機能強化や改善が行われています。
特に、Windows 10以降のSMB 3.1.1では、Windows 10のバージョンアップの際、SMBのバージョンはそのままで新機能が追加されることもあります。Windows 10 バージョン1809およびWindows Server 2019までにSMB v3に行われた新機能の追加や更新については、Microsoftの公式ドキュメントで説明されています。
- Windows ServerのSMB 3プロトコルを使用したファイル共有の概要(Microsoft Docs)
- Overview of file sharing using the SMB 3 protocol in Windows Server[英語](Microsoft Docs)
上記の公式ドキュメントにはまだ反映されていませんが、2020年3月に「SMB圧縮(SMB Compression)」と呼ばれる機能がSMB 3.1.1に追加されることがアナウンスされています。
- SMB Compression: Deflate your IO[英語](Microsoft Tech Community)
SMB圧縮は、ファイル転送時にデータを圧縮することで、大きなサイズのファイルの転送を高速化するものです。これまでは使用する方法が提供されていませんでした。
SMB圧縮はWindows 10 バージョン1903でSMB 3.1.1に追加されたようです(2020年3月、SMB圧縮機能に「ADV200005」の脆弱《ぜいじゃく》性があることが公表されましたが、その後修正されました)。
しかし、Windows 10 バージョン1909までは使用する方法が提供されていませんでした。Windows 10 バージョン2004およびWindows Server, version 2004からは、「XCOPY」と「ROBOCOPY」コマンドにSMB圧縮のための「/COMPRESS」オプションが追加され、利用可能になっています(画面5)。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 新型コロナウイルス感染拡大の余波――Windows 10のライフサイクルへの影響は?
本連載で何度か取り上げてきたように、Windows 10は年に2回、春と秋に機能更新プログラムとして新バージョン/ビルドがリリースされ、そのサイクルが継続されます。従来の「最低10年」の製品ライフサイクルは、新しいリリースサイクルに合わせたモダンライフサイクルポリシーに変更されました。最新情報を定期的にチェックして、意図せずサポート対象外にならないように注意しましょう。 - 新型コロナウイルス感染拡大の余波――モダンブラウザへの影響は?
新型コロナウイルス感染症(COVID-19)の世界的な感染拡大は、IT環境や関連する製品、サービスにもさまざまな影響を与えています。例えば、Webブラウザのリリーススケジュールやセキュリティプロトコルのロックダウンのスケジュール変更などです。 - Windowsの標準機能でできる、突然始まったリモートワークのためのリモートITサポート
新型コロナウイルス感染症(COVID-19)の感染拡大に伴い、企業や教育機関の要請に従いリモートワークやリモート教育に切り替えた人は多いと思います。中には、リモートワーク環境やモバイル環境が十分に整備されていない中、リモートワークを開始したところもあるでしょう。IT部門の担当者自身もまた、出社せずに、リモートワークでのヘルプデスク対応やトラブル対応が求められるかもしれません。事前に準備をしていなかったとしても、Windowsの標準機能である程度対応できます。 - Chromium版「Microsoft Edge」への移行に備えよう(その2)――企業利用でのポイント
前回に引き続き、近い将来、現在の「Microsoft Edge」(EdgeHTMLベース)を置き換えることになる新しいMicrosoft Edge(Chromiumベース)に関して企業向けのポイントを解説します。 - Chromium版「Microsoft Edge」への移行に備えよう
2020年1月15日(米国時間)、Chromiumベースになった新しい「Microsoft Edge」が正式にリリースされ、ダウンロード提供が始まりました。Microsoftは今後数カ月かけて、Windows 10標準搭載のMicrosoft Edgeを、この新しいMicrosoft Edgeに置き換えていく計画です。今回は、Windows 10を利用している企業が、この置き換えに備えるポイントをまとめました。