当ブログでは以前に、HPE StoreEasyをセットアップする場合の手順を紹介しております。
詳しくは以下のリンク先をご確認ください。
一般的なファイルサーバーとして構築した後、StoreEasy固有、又はWindows Server IoT 2019 for Storage固有の環境により、StoreEasy内に作成した共有フォルダに対して一部のクライアントから接続ができない現象が発生しました。
この原因を特定するのに非常に手間取ったため、この現象の内容とその原因や対応方法についても記事でまとめようと思います。
作成した共有フォルダに対してレガシーOSからの接続ができない
今回のStoreEasyをActiveDirectoryのドメインに参加させて、一般的な手順で共有フォルダを作成して動作確認をしたところ、比較的新しいWindows OSからのアクセスについては問題が無かったのですが、Windows Server 2003などの古いOSから共有フォルダに接続しようとしても接続できない現象が発生しました。
Windowsがネットワークを介してファイルを共有したりプリンターを共有する場合、「SMB(Server Message Block)」と呼ばれるMicrosoft独自のプロトコルを使用します。
この「SMB」にはバージョンがあり、現在の主流はバージョン3.0です。
他にも1.0、2.0とバージョンがありますが、1.0は致命的な脆弱性があり、使用は推奨されていません。
ただ、Windows Server 2003やそれ以前のOSでは、「SMB 1.0」までしか対応しておらず、新しいWindows OSではSMB 1.0が既定で無効化されています。
また、古いWindows系OS以外にも、古い複合機などでもSMB1.0しか対応していないケースはあります。
よって、StoreEasy側でSMB 1.0を有効化してあげないと、古いOSや複合機などの機器からは共有フォルダに接続ができません。
SMB 1.0 を有効化するには一般的な手順がありますが、今回のStoreEasyではその手順だけでは有効にならなかったため、その手順を紹介しておきます。
お伝えしたようにSMB1.0は深刻な脆弱性を抱えており、本来は無効にしておく必要があります。
HPE StoreEasyでSMB1.0を有効にする方法
当項では、HPE StoreEasyでSMB1.0を有効にする方法を紹介していきます。
設定項目としては、通常のWindows ServerやWindows11などのOSで設定する一般的な設定項目と、HPEなど一部の製品固有の設定項目があり、それぞれを紹介していきます。
WindowsServerでSMB 1.0 を有効化する一般的な手順
まずは、一般的なWindows OSでSMB 1.0を有効にする手順を紹介しておきます。
Windows Server2019や2022の場合、「サーバーマネージャ」の「役割と機能の追加」から有効化が行えます。
「役割と機能の追加」を起動して「機能の選択」画面に進むと、機能の一覧にSMB 1.0があります。
そこにチェックを付けて再起動すると有効になります。
または、PowerShellからも有効化が可能です。
以前に当ブログでも手順を紹介しております。
良ければ以下の記事もご参照ください。
SMB1.0での接続を許可する場合、今回紹介するHPE StoreEasyでもこのどちらかの手順でSMB1.0を有効にしてことが必要になります。
尚、一般的なWindowsOSであれば、ここまでの手順でSMB1.0しか使えないクライアントからも共有フォルダに接続できるようになります。
ただし、StoreEasyはこれだけではだめです。
StoreEasyでSMB1.0を有効化するための追加手順
HPE StoreEasyでは、「SCT(Security Compliance Toolkit) 1.0」が既定でOSに組み込まれています。
SCT1.0の詳しい説明については以下のリンクをご参照ください。
詳しい解説は省略しますが、SCTが組み込まれていることで、通常のWindowsには存在していないグループポリシーがOSに追加されています。
この追加されたグループポリシーのなかに、SMB1.0を無効化する設定値も存在しています。
この設定を変更することで、SMB1.0しか話せないレガシーなOSからも共有フォルダに接続できるようになります。
まずは「ファイル名を指定して実行」を起動し、名前に「gpedit.msc」と入力して「OK」を押下します。
「ローカルグループポリシーエディタ」が起動します。
画面左側の項目を以下のように開いていきます。
「コンピューターの構成」→「管理用テンプレート」→「MS Security Guide」
画面右側に対象のグループポリシーの設定項目が並んでおり、そのなかの「Configure SMB v1 server」の設定値が「無効」になっております。
この設定項目を「有効」に変更してあげることで、SMB1.0を使用して共有フォルダに接続できるようになります。
尚、このSCT1.0にSMB1.0用のグループポリシーについては、以下の記事を参考にさせていただきました。
ありがとうございました。
HPE StoreEasyで古いネットワーク認証を有効にする方法
上記の設定でSMB1.0しか対応していないOSからでも共有フォルダに接続できるようにはなるのですが、私の環境の場合、認証の動きがおかしい状態でした。
具体的には、以下です。
- 古いOSのクライアントから共有フォルダへの認証ができない。
- NET USEコマンドで接続できない。
SMB1.0より新しいバージョンに対応しているOSからの接続については特に問題はありませんでした。
こちらについても、ローカルグループポリシーの設定が必要でした。
「コンピューターの構成」→「Windowsの設定」→「セキュリティの設定」→「セキュリティオプション」
右側のポリシーの一覧にある「ネットワークセキュリティ:LAN Manager認証レベル」の設定によって、どのバージョンのネットワーク認証に対応するかを指定します。
StoreEasyでは、既定値の設定は以下のようになっていました。
NTLMv2応答のみを送信(LMとNTLMを拒否する)
本来は古いOSでもNTLMv2認証に対応しているはずですが、この設定を変更し、より古い認証レベルに落とすことによって認証できるようになりました。
LAN Manager認証レベルは、Windowsのネットワーク認証を行う際にチャレンジ・レスポンス方式を使用し、ネットワーク上に平文のパスワードを流すことなく認証を行う仕組みであり、そのバージョンが大きくなるほど安全度が高まります。
詳しい説明については以下のリンク先をご確認ください。
本来はネットワーク認証のレベルを下げるのはリスクがあるので十分注意して設定を行ってください。
最後に
今回の記事では、HPE StoreEasyでファイルサーバーを構築し、作成した共有フォルダに対してレガシーなOSから接続しようとした際に接続できない現象について、その原因と対応方法を紹介しました。
今回紹介した対応方法は、どちらもセキュリティレベルを落とすことに繋がるため、本来は推奨できません。
よって、今回の対応で一時的にレガシーなOSから接続できる状態を構築しつつ、根本的な対応としてレガシーなOS自体を廃止したり、レガシーなOSがファイルサーバーに接続することを不要とするシステム構成に変更するような対応を進めるべきかと思います。
今回も当記事を読んでいただきましてありがとうございました。
それでは皆さまごきげんよう!