サイトアイコン puti se blog

SMBv1を有効化しても自動で無効化される謎 Windows 2019

NAS製品であるHPE StoreEasyでWindowsファイルサーバーを構築して、SMBv1を有効にしたところ、

SMBv1が何故か有効にならない事象が起きました。

具体的には、SMBv1を有効にしても、数時間で無効化されてしまうんです。一体なぜ!?

環境・前提条件

で、Windowsファイルサーバーを構築したんですが、

クライアント端末に未だにWindows XPがあるということで、仕方なくSMBv1を有効にしたんですけど、Windows XPからWindowsファイルサーバーにファイル共有接続できなかったんです。

SMBv1使用状況の監査を設定してみえたエラーメッセージ

Powershellで以下のコマンドを実施すると、SMBv1監査が有効になり、イベントログにSMBv1で接続を試みるクライアントの情報が表示されます。

Set-SmbServerConfiguration -AuditSmb1Access $true

ソース:SMBServer、イベントID:3000

SMB1アクセス

ガイダンス

このイベントは、クライアントがSMB1を使用してサーバーにアクセスしようとしたことを示します。SMB1アクセスの監査を停止するには、Windows PowerShellのSet-SmbServerConfigurationコマンドレットを使用してください。

ソース:SMBServer、イベントID:1001

クライアントがSMB1を使用してサーバーにアクセスしようとしましたが、SMB1ファイル共有のサポートが無効になっているかアンインストールされているため、拒否されました。

結論、ローカルポリシーでSMBv1が無効にされていた

通常のWindows Server 2019では存在しないローカルポリシー(MS Security Guide)なのですが、HPE社のStoreEasyにはこのローカルポリシーがプリインストールされている状態でした。

そのローカルポリシーのSMBv1の設定を有効にしてあげることによってSMBv1は有効化でき問題は解決しました。

「Computer Configuration(コンピューターの構成)」
→「 Policies(ポリシー)」
→「Administrative Templates(管理用テンプレート)」
→「MS Security Guide(MSセキュリティ ガイド)」
→「Configure SMB v1 Server(SMB v1サーバーを構成する)」

上記を有効にすることにより、SMBv1が自動的に無効化されることはなくなりました。

Microsoft Security Compliance Toolkit 1.0(MS Security Guide ポリシー)とは

今回、HPE StoreEasyにプリインストールとして導入されていたローカルポリシーは、

ランサムウェア対策として、(まだ日本語化とかはされていないようですが)マイクロソフト社が提供しているMicrosoft Security Compliance Toolkit 1.0の中に含まれているポリシー機能です。

※ HPE StoreEasyにプリインストールされているのか、Windows Server IoT 2019 for Storage Standard Editionにプリインストールされているのかは、まだわかっていません。

Security Compliance Toolkit (SCT) は、企業のセキュリティ管理者が Windows および他の Microsoft 製品用に Microsoft 推奨のセキュリティ構成ベースラインをダウンロード、分析、テスト、編集、および格納するための一連のツールです。

SCT を使用すると、グループ ポリシー オブジェクト (GPO) を効率的に管理できます。 このツールキットの使用により、現在の GPO を Microsoft 推奨の GPO ベースラインまたは他のベースラインと比較し、編集して、GPO バックアップ ファイル形式で保存できます。保存した GPO は、Active Directory を通じて広範に適用することも、ローカル ポリシーで個別に適用することもできます。

https://learn.microsoft.com/ja-jp/windows/security/threat-protection/windows-security-configuration-framework/security-compliance-toolkit-10

今回は、セキュリティを緩めましたが、逆に、SMBv1を無効化させるランサムウェア対策として、ADのグループポリシーに導入するのも良いかと思いました。

Windows ServerでSMBv1を有効にする方法(サーバー側)

今回は、こちらのSMBv1を有効にする方法を実施の上でも、SMBv1が有効にならなかったのですが、

通常は(HPE StoreEasy以外)、こちらのSMBv1を有効にする方法を実施すれば、SMBv1サーバー側機能を有効にすることができます。

方法1か方法2のどちらかを実施してください。

方法1:サーバーマネージャーを使用した方法(GUI)

以下の機能の削除方法の逆を行い、追加・有効化させてください。

  1. SMBv1 を削除するサーバーのサーバー マネージャー ダッシュボードの [このローカルサーバーを構成する] で、[ロールと機能の追加] を選択します。
  2. [始める前に] ページで、[役割および機能の削除ウィザード] を選択し、次のページで [次へ] を選択します。
  3. [サーバー プール] の下の[宛先サーバーの選択] ページで、機能を削除するサーバーが選択されていることを確認してから、[次へ] を選択します。
  4. [サーバー ロールの選択] ページで、[次へ] を選択します。
  5. [機能の削除] ページ で、 [SMB 1.0/CIFS ファイル共有サポート] のチェック ボックスをオフにし、[次へ] を選択します。
  6. [削除の選択を確認する] ページで、機能が一覧表示されていることを確認してから、[削除] を選択 します。
https://learn.microsoft.com/ja-jp/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3

方法2:PowerShellを使用した方法(CUI)

Powershellで以下のコマンドを実施し、SMBv1機能を有効にします。

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

状況の確認をするには、

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

通常は、上記機能を有効にするとSMBv1も自動で有効になるのですが、

機能を有効にしても、状態が有効ではない場合は以下のコマンドを実施します。

Set-SmbServerConfiguration -EnableSMB1Protocol $true

状況の確認をするには、

Get-SmbServerConfiguration

モバイルバージョンを終了