Office 365 活用ガイド

Office 365 の活用方法を公開しています。You can change your language use the language button.

WannaCrypt 回避策 SMBv1無効化をグループポリシーで一括設定する方法(Windows 7 対応)

Office 365 とまったく関係ありませんが、社内の Active Directory に参加している Windows 端末に対して、WannaCrypt の回避策(SMBv1無効化)をグループポリシーで一括設定する方法の案内です。自己責任にてご実施ください。

追記

  • 無効化のパラメータが逆だったため、修正しました。(1 → 0)
  • 参照情報はこちら

ランサムウェア WannaCrypt 攻撃に関するお客様ガイダンス – 日本のセキュリティチーム

  • ポリシー適用後、要PC再起動
  • SMBサーバーとSMBクライアントの両方の SMBv1 無効化に修正

レジストリへの登録は、SMBサーバーだけの SMBv1 無効化のため、SMBクライアントのSMBv1無効化コマンドも SMBv1-Off.bat に追加

  • SMB クライアントのバージョンを確認する方法

コマンドプロンプトで以下を実行。

sc.exe qc lanmanworkstation

DEPENDENCIES に MRxSmb10 があるかどうか

RunAdminBat.vbs の用意

以下のソースをコピペして、-u のユーザー名と、-p のパスワードを適切な内容に修正後、「RunAdminBat.vbs」のファイル名で保存。

Option Explicit

Dim objWShell
Dim objFSO
Dim ScriptPath 
Dim PsExec
Dim Bat

Set objWShell = CreateObject("WScript.Shell")
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
ScriptPath = objFSO.GetParentFolderName(WScript.ScriptFullName)
PsExec = scriptpath & "\PsExec.exe"
Bat = scriptpath & "\SMBv1-Off.bat"

'-------------------------------------------
objWShell.Run PsExec & " -accepteula -u ローカル管理者かドメイン管理者のユーザー名 -p パスワード cmd /c" & Bat, 0, True
'-------------------------------------------

Set objWShell = Nothing
Set objFSO = Nothing

SMBv1-Off.bat の用意

以下のソースをコピペして、「SMBv1-Off.bat」のファイル名で保存。

@echo off
reg query "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "SMB1"  | find "0x0"
if %ErrorLevel%==1 (
	call :label_a
)

exit /B

REM -- call A ----------------------------------
:label_a
reg export HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters C:\%COMPUTERNAME%_%DATE:~-10,4%%DATE:~-5,2%%DATE:~-2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%_smbv1-mae.reg /y

REM SMBサーバー向け
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "SMB1" /t REG_DWORD /d 0 /f

REM SMBクライアント向け
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled

exit /B

上記3つを同じフォルダーに入れてテストする。

RunAdminBat.vbs を実行する。

  • C:\直下に「PC名_日時_smbv1-mae.reg」があるか。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
SMB1(REG_DWORD)
無効:0

  • 社内のSMB関連のシステム利用に影響がないこと(ファイルサーバーとか)

テストが成功したら、RunAdminBat.vbs を暗号化する

暗号化は必須ではありませんが、パスワードが平文で見られるので、気になる方は実施を。

C:\Program Files\Windows Script Encoder>screnc RunAdminBat.vbs RunAdminBat.vbe

http://www.atmarkit.co.jp/ait/articles/0406/26/news016.html

なお、Windows Script Encoder が公開終了?しているようです。手元にない方は、代替ツールがあるようですので、ググってください。

グループポリシーの作成

ログオン スクリプトあたりの \Scripts\Logon フォルダーに、以下3つのファイルをコピーして、RunAdminBat.vbe をスクリプトに設定する。
・PsExec.exe
・RunAdminBat.vbe
・SMBv1-Off.bat

ポリシーが適用された端末を再起動

以上です。

広告を非表示にする