Windows 10およびWindows Server 2016以降、レガシーなSMB(SMB v1やSMB v2)の扱いについて、既定の動作に幾つか重要な変更が行われています。Windows 10やWindows Server 2016以降への移行時、または機能更新プログラムによる新バージョンへのアップグレードのタイミングで、以前のWindowsネットワークになかった挙動に遭遇した場合は、変更点を確認してみてください。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
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)」と区別されます。
サポートが終了(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の通信にトラブルが発生する可能性があります。
以下のMicrosoftの公式ドキュメントで説明されているように、現在サポートされているWindows 10のバージョン、「半期チャネル(SAC)」のWindows Server、「Windows Server 2019」は、新規インストールではSMB 1.0/CIFSのサーバおよびクライアント機能は既定でインストールされなくなりました。
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)。
Windows Serverは自動削除の対象外ですが、Windows Server 2019(デスクトップエクスペリエンス)は「サーバーマネージャー」の「役割と機能の追加(または削除)ウィザード」やPowerShellコマンドレット(Enable/Disable-WindowsOptionalFeature)を使用して、SMB 1.0/CIFSのサーバ/クライアント機能を個別に有効化/無効化できます(画面2)。
いずれの場合も、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)」が無効化されています。
Copyright © ITmedia, Inc. All Rights Reserved.