突然、Windows10のPC1台がNASに繋がらなくなってしまいました。原因が上手くつかめず、解決までに時間がかかりましたので、解決法をまとめておこうと思います。他のPCからはNASに繋がるけれでも、一部のWindows10PCだけが繋がらないという場合に試していただきたい対処法となります。
原因
今回、遭遇した問題の原因は、NASとPCのSMB(Server Message Block)プロトコルのバージョンの違いによる接続不良でした。プロトコルとは2者間で情報をやりとりするお約束みたいなものです。「お約束をまもれない人とは繋がらないよ!」といった具合です。もう少し具体的に書かせてもらうとNASはSMBv1でしか繋がらないのにPC側はSMBv1を禁止していたという状況でした。
もちろん、Windows10がSMBv1を禁止していたのは、理由があります。SMBv1はSMBv2に比べてセキュリティに弱いのです。
SMB(ServerMessageBlock)について
SMBとは、ネットワークを通じてコンピュータ間でファイルやプリンタ、シリアルポートなどを共有するためのプロトコルです。IBMで提唱されて、Microsoftなどによって開発されたものです。今ではSambaというUNIX向けのソフトウェアを使えばUNIXとWindows間でファイル共有ができます。NASにはUNIXベースのOSが載っていることが多いですので、今回はNASと繋がるためにSMBを使っていたという訳ですね!
対処法
対処法は2つあります。
1つはNASのSMBバージョンを上げることです。こちらはNASにより方法は様々です。そもそもできないNASもあるかと思います。
もう1つはWindows10のPCでSMBv1を許可してあげることです。こちらの手順を今回は紹介させていただきます。
手順
1.コントロールパネルを開く
→Windows10では、タスクバーにある検索ボックスで「コントロールパネル」と入力するとコントロールパネルアプリがでてきますので、そこからコントロールパネルが開けます。
2.プログラム→Windowsの機能の有効化または無効化と進む
3.SMB 1.0/CIFS File Sharing Suppport内のSMB 1.0/CIFS Clientにチェックを入れる
4.画面の指示に従いPCの再起動を行う
5.NASに繋がるか確認する
SMB1.0の脆弱性
2017年5月ぐらいにMicrosoft Windows 製品の SMBv1サーバーに、リモートより任意のコードが実行可能な脆弱性(MS17-010)及び、その脆弱性を利用する攻撃コードが発見されましたそうです。
この脆弱性は、SMBv1サーバーが特定のリクエストを処理する際の不具合に起因する脆弱性で、この脆弱性を利用した攻撃が成立した場合、リモートから Windows の SYSTEM 権限で任意のコードを実行される危険性があるそうです。怖いですね。
また、この脆弱性への攻撃が容易であり、攻撃を受けた際にシステムへの影響が大きいとされています。
まとめ
どうでしょうか?問題は解決できましたでしょうか?この問題に私が遭遇したときは、なかなか原因がつかめず何時間もあれやこれや試していました。セキュリティを高めていくことは、絶対に必要なことですので、仕方ありませんね。根本解決にはNASをリプレイスすることです。コストもかかりますが、セキュリティが原因で起きる大きな問題を避けるには、NASリプレイスをお勧めします。
僕のおすすめのNASはsynology製品です。synologyの製品は、OSも使いやすいですし、何よりも多機能ですので、本当になんでもできてしまいます。無料で取得できるサブドメインも魅力的です!