攻撃者が狙いやすく、守る側が見落としがちな五つの弱点のうち、四つめは「CMS(コンテンツ・マネジメント・システム)の脆弱性」だ。Webサイトの構築やコンテンツの管理を担うCMSに脆弱性があると、サイト改ざんなどの攻撃を受けてしまう。

*   *   *

若葉:改めてサイトを見直したら、資産管理台帳に載っていないWordPressが見つかりました。

吉野:使っているプラグインを含めて、最新バージョンになっているかどうか確認が必要だな。

*   *   *

 WordPressなど高いシェアを持つCMSは、おのずと狙われるリスクも高くなる。厄介なのは、CMS本体に脆弱性がなくても、追加で導入したプラグインに脆弱性があれば攻撃されてしまうことだ。CMS本体だけではなく、プラグインも最新版を使おう。利用しなくなったプラグインはアンインストールして、管理の負荷を軽減しよう。

 利用者が多いCMSには、専用の脆弱性スキャナーが存在する。汎用の脆弱性スキャナーよりも細かい診断ができる。以下では、WordPressに特化した脆弱性スキャナー「WPScan」の使い方を紹介する。

 WPScanでは、WordPressのバージョン情報やプラグイン情報を基に、脆弱な設定を調査する。公式Webサイトなどの情報を参考にしてインストールしよう。基本的なスキャンは簡単だ。「--url」オプションを使って、WordPressで作成したサイトのURLを指定して実行する

WPScanによる脆弱性スキャン
WPScanによる脆弱性スキャン
WPScanを使えば、WordPress本体やプラグインに存在する脆弱性を効率的に検出できる。専用のスキャナーなので、汎用の診断ツールよりもWordPressの脆弱性を詳細に調べられる。
[画像のクリックで拡大表示]

 スキャン結果の[!]で始まる行は脆弱性として検出された項目を、[i]で始まる行は参考情報を示している。出力された結果を参考に、問題点を対策しよう。

 ユーザー名やプラグインを調べるには、「-e」オプションを使う。ユーザー名を列挙したい場合は「-e u」、プラグインを列挙するには「-e p」と指定する。「-e vt」と指定すれば、列挙したプラグインの脆弱性を調べられる。

WordPressの登録ユーザーを洗い出す
WordPressの登録ユーザーを洗い出す
WPScanでは、WordPressに登録されているユーザー名を洗い出せる。定期的にユーザー名をリストアップして、不正なユーザーが作成されていないか確認してみよう。使っているプラグインを洗い出したい場合は、オプションを「-e p」と指定する。
[画像のクリックで拡大表示]
▼WordPress
Webサイトを作成するソフトウエアとして世界的に流通しているOSS。調査サービスW3Techsによると、2017年7月時点でWordPressのシェアは世界一だ。日本では、CMSで作成されたWebサイトの8割程度が、WordPressだと報告されている。
▼狙われるリスクも高くなる
WordPressについては、2017年2月に脆弱性を狙われた大規模な改ざん事件が起こっている。改ざんされたWebページは150万以上といわれる。
▼WPScan
URLはhttps://wpscan.org/。Linux、UNIX系のOSにインストールできる。2017年7月時点ではWindows OSは公式サポートされていない。
▼インストールしよう
脆弱性診断向けのLinux OSであるKali Linuxには標準でインストールされている。
▼URLを指定して実行する
指定するURLは、WordPressがインストールされているURLにする。標準では、誤ったページを診断しないよう、WordPressをインストールしていないURLを指定すると停止する。ただし「-f」オプションを付けて実行した場合は、WordPressが稼働していないWebコンテンツでも脆弱性スキャンを続行する。