いまさらな気もしますが改めて…。
SMB v1 無効化 Windows Server 2008, 2008 R2, Vista, 7 編
https://www.nekoprint.jp/cgi-bin/nekonekodiary/archives/216.html
SMB v1 無効化 Windows Server 2012 R2, 8.1、10 編
https://www.nekoprint.jp/cgi-bin/nekonekodiary/archives/217.html
-------------------------------------------------
Windows Vista、7、8、10
Windows Server 2008、2008 R2、2012、2012 R2 共通
-------------------------------------------------
★レジストリで操作(設定箇所は3つ)
※事前にレジストリのバックアップを。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
REG_DWORD(32ビット)値
値の名前: SMB1
(デフォルトでは存在しないので手動で作成する)
値のデータ(10進数):0
(無効)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
REG_MULTI_SZ(複数行文字列)値
値の名前:DependOnService
値のデータ:Bowser、MRxSmb20、NSI
(3行に分けて書く)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
REG_DWORD(32ビット)値
値の名前:Start
値のデータ:4
(無効)
---------------------------------------------------------
コマンド プロンプトで操作(SMB サーバー側で操作)
---------------------------------------------------------
SMBv1 の無効化:
sc config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc config mrxsmb10 start= disabled
SMBv2/v3 の有効化(v2とv3はプロトコルが一緒なので同じ動作になる):
sc config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc config mrxsmb20 start= auto
ここまで設定を行ったあとに再起動し、以下のグループ ポリシーで改めて SMBv1 を無効化します。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
※問題が発生した場合、元に状態に戻すためのコマンドは以下。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
sc config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc config mrxsmb10 start= auto
sc config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc config mrxsmb20 start= disabled
----------------------------------------------------
グループ ポリシー で操作(Windows Vista 以降で共通)
----------------------------------------------------
ドメイン全体へ適用されるようにドメイン ルートへグループ ポリシーを配置する。
コンソール ツリーの
[コンピューターの構成]
[基本設定] フォルダーを展開し、
[Windows の設定] フォルダーを展開します。
[レジストリ] を右クリックし、
[新規作成] をポイントして
[レジストリ項目] を選択します。
[新しいレジストリのプロパティ] ダイアログ ボックスで、以下のとおりに設定します。(設定は3つ)
新しいレジストリ(SMB1) のプロパティ
全般タブ
アクション:作成
ハイブ: HKEY_LOCAL_MACHINE
キーのパス:SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
値の名前: SMB1
値の種類: REG_DWORD
値のデータ: 0
(無効)
新しいレジストリ(Start)のプロパティ
全般タブ
アクション:更新
ハイブ: HKEY_LOCAL_MACHINE
キーのパス: SYSTEM\CurrentControlSet\services\mrxsmb10
値の名前: Start
値の種類: REG_DWORD
値のデータ: 4
(無効)
新しいレジストリ(DependOnService)のプロパティ
全般タブ
アクション:置換
ハイブ: HKEY_LOCAL_MACHINE
キーのパス: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
値の名前: DependOnService
値の種類: REG_MULTI_SZ
値のデータ:
Bowser
MRxSmb20
NSI
(コレを適用すると、置換え前のMRxSmb10 が削除される)
全て入力し終わったら全てのクライアント、サーバーにポリシーを適用させ、再起動する。
再起動後、問題なくSMBv1 が無効になっているかを確認する。
---------------------------------------------------------
Windows XP や Windows Server 2003 が存在している場合、
SMBv1が削除されないようにWMI フィルターの設定を行う
(ポリシーを適用する前に設定する)
---------------------------------------------------------
・WMI フィルターの名前は適当で。
・WMI クエリは以下のように設定
名前空間:root\CIMv2
クエリ:select * from Win32_OperatingSystem where Version like "6.%"
これでWindows Vista 以降のシステムにだけ適用されることになる。
ただ、Windows 10 だけは Winver で更新があるたびに確認しなきゃダメ?
上記で作成したWMI フィルターをグループ ポリシーにWMI フィルター処理としてリンクさせる。
-------------------------------
and ProductType = "x" について
-------------------------------
上記のフィルターにはつけなかった、ProductType についての説明。
"1" = クライアントのみの場合に使用
"2" = ドメイン コントローラーの場合に使用
"3" = DCではない、サーバーOSの場合に使用
ProductType = "x" の表記が無い場合は、全てのOSが対象になります。