「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

Windows OSで長年にわたって使われ続けてきたSMB(Server Message Block)だが、今回はセキュリティを優先するため、SMB バージョン1を無効化する手順を紹介する。

30年以上前のプロトコルに潜む脆弱性

以前からMicrosoftは、Windows OSのファイル共有時などに用いられるSMB(Server Message Block)プロトコル バージョン1の無効化を呼び掛けている。Windows Vistaの時点でSMB バージョン2を実装し、Windows 8ではSMB バージョン3。そして現在のWindows 10ではSMB バージョン3.1.1が利用可能だ。

不要な機能は無効にすれば済む話だが、ここには互換性問題が関わってくる。例えば古いNASは、OSとしてLinuxを利用し、Windows互換のファイル共有に「Samba」というパッケージを用いてきた。

現在のSambaはSMB バージョン2およびバージョン3をサポートしているものの、古いNASのファームウェア(パッケージ)が更新されていない場合、SMB バージョン1で通信を試みてしまう。ネットワーク周りのトラブルを減らすため、Windows 10でもSMB バージョン1はサポートされている。

30年以上も経過しているSMB バージョン1だが、米国コンピューター緊急事態対策チーム(US-CERT)も、SMB バージョン1の利用中止を広く呼び掛けた。LAN内にWindows XPやWindows Server 2003など古いOSを搭載したPCが存在せず、および同じ時期に導入したNASを既に使っていないのであれば、SMB バージョン1は即座に無効化すべきだ。

GUI/CUIからSMB バージョン1を無効にする

Windows 10でSMB バージョン1を無効化するには、2種類の手順がある。ひとつは、コントロールパネルなどから呼び出せる「Windowsの機能」だ。ここで「SMB 1.0/CIFSファイル共有のサポート」を無効にすればよい。設定後はPCの再起動を求められるので、編集中のファイルは事前に保存しておこう。

検索ボックスに「Windowsの」と入力し、検索結果の「Windowsの機能の有効化または無効化」をクリック/タップ

一覧から「SMB 1.0/CIFSファイル共有のサポート」をクリック/タップしてチェックを外し、「OK」ボタンをクリック/タップ

処理実行後はPCの再起動をうながすメッセージが現れるので、「今すぐ再起動」ボタンをクリック/タップ

もうひとつは、PowerShellを使う方法だ。コマンドラインからの操作に慣れたユーザーなら、PowerShellのほうが簡単だろう。「Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol」を実行するだけで、SMB v1の無効化が可能だ。ただし、GUI操作時と同じく、PCの再起動は必要となる。

「エクスプローラー」の「ファイル」タブ→「Windows PowerShellを開く」→「Windows PowerShellを管理者として開く」と順にクリック/タップ

プロンプトに「Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol」と入力して[Enter]キーを押す。処理終了後は「Y」キー→[Enter]キーを押して、PCを再起動しよう

阿久津良和(Cactus)