連載
» 2017年01月30日 05時00分 UPDATE

山市良のうぃんどうず日記(83):再チェック! ファイル共有プロトコル「SMB」のためのセキュリティ対策 (1/2)

2017年1月、SMBの脆弱性に関するニュースが取り上げられました。そのニュースは、米国のセキュリティ機関の情報を日本語化して伝えているだけのようですが、何だか裏がありそうで、なさそうで……。

[山市良,テクニカルライター]
「山市良のうぃんどうず日記」のインデックス

連載目次

SMBの脆弱性に関するニュースを斜め読み

 2017年1月、Windowsのファイル共有プロトコルである「SMB(Server Message Block)」の脆弱(ぜいじゃく)性に関するニュースが、一部のIT系メディアで取り上げられました。問題のニュースは以下の記事です。

 同様の記事が幾つかのメディアでも取り上げられました。記事の内容は「Windowsなどで使われている通信プロトコル『SMB』の潜在的な脆弱性に関する情報が公開されたとして、SMBのレガシーバージョンを無効にするなどの対策を徹底するよう、米国のセキュリティ機関US-CERTが呼び掛けた」というものです。

 ニュースソースとなったUS-CERTの公開情報を読むと、SMBの脆弱性についてははっきりしたことが書いておらず、SMBのセキュリティ対策の「従来のベストプラクティスを提供するもの」でした。

 SMB、特に「SMB v1」と呼ばれるレガシーバージョンはLAN内での利用を想定した、無駄に情報をやりとりする「おしゃべりなプロトコル」であるため、今日のセキュリティ脅威に対抗できるようなセキュリティ機能は備えていません。

 そのため筆者は最初、US-CERTの公開情報は、一般的な話題の1つとしてのベストプラクティスの紹介したもの、つまり「風邪をひかないために、手洗いとうがいを忘れずに」的なことのように見えました。それが日本語のタイトルが付けられ、ニュースとして取り上げられたことにちょっと違和感を覚えました。

 ところが、このニュースの数日前、あるハッキンググループがWindows向けのハッキングツールとエクスプロイトを売りに出していて、それにはSMBに対するゼロデイ攻撃(つまり未パッチ)のものが含まれているというニュースがあったことを知りました。

 海外のセキュリティ専門家の1人が、US-CERTの公開情報のタイミングから、こちらのニュースとの関連を指摘しているのを見つけました。もしかすると、そうなのかもしれませんし、そうでないのかもしれません。いずれにしろ、セキュリティ対策のベストプラクティスが無駄になるということはないので、ここで再確認しておきましょう。

あらためて、SMBとは何かを知る

 US-CERTのいう“SMBセキュリティのベストプラクティス”は、「SMB v1を無効化すること」と「ネットワークの“境界”で全バージョンのSMBをブロックすること」の2つです。また、SMBの無効化やブロックの影響についても言及しています。

 正しい対策と対策の影響を事前に把握するには、SMBとは何か、SMBのバージョンとは何か、「NBT(NetBIOS over TCP/IP)」と「Direct Hosting of SMB」の違いなどを理解しておくことが重要です。これらについては、筆者のもう1つの連載『その知識、ホントに正しい? Windowsにまつわる都市伝説』で集中的に解説しました。

SMB v1を無効化しよう、でもその前に

 SMB v1(SMB 1.0/CIFS)は、Windows XP/Windows Server 2003 R2以前のWindowsで使用されていた、非常にレガシーなプロトコルです。Windows 8.1からSMB v1は非推奨となり、コントロールパネルの「Windowsの機能の有効化または無効化」を使用して簡単に削除できるようになりました(画面1)。

画面1 画面1 Windows 8.1以降ではSMBv1は非推奨機能。コントロールパネルから簡単に削除できる

 それ以前のWindowsについては、以下のドキュメントで説明されている方法で無効化できます。Windows XP以前はSMB v1が唯一のSMBプロトコルですが、SMBに関係なく、Windows XPを今現在使っていること自体、潜在的な脆弱性のリスクだらけです。

 古いNAS(ネットワーク接続型ストレージ)装置やネットワークプリンタ、スキャナーを使用している場合、SMB v1を無効化するとこれらに接続できなくなる可能性があります。その場合は、無理にSMB v1を無効化しなくてもよいでしょう。もう1つの対策である「SMBのブロック」が問題を緩和してくれます。

 お使いのPCがWindows 8.1以降であれば、Windows PowerShellの「Get-SmbSession」コマンドレットで、共有への接続に使用されたSMBのバージョンを調べることができます(画面2)。「Dialect」(SMBバージョンのこと)が「1.x」となっている場合は、SMB v1が使用されています。SMB v1を無効化すると、この共有には接続できなくなります。

画面2 画面2 筆者の家のNAS装置へ接続するにはSMB v1が必須。そのため、SMB v1は無効化していない
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。