第2回 便利なWordPressに潜む危険性

気軽に使えるが、危険もある

 WordPressは、世界で最も利用されているCMSだ。日本においては、8割以上のウェブサイトで利用されている。利用者も多いことから、テーマやプラグインも多数あり、カスタマイズするための情報も豊富だ。その一方で、脆弱性も頻繁に発見され、古いWordPressのバージョンを使っていることは、非常に危険だ。しかし、カスタマイズの仕方によっては、バージョンアップすることで問題がでることもあり、気軽に実行するわけにいかない場合もあり、悩ましいところだ。

 今回は、実際に、脆弱性のスキャンツールを利用して、WordPressに潜む危険性を可視化していこう。

使用するスキャンツール

 Barracuda Networksから提供されているクラウドベースのウェブアプリの脆弱性スキャンサービス、Barracuda Vulneravility Manager(以下、BVM)を使用する。BVMは、実際に、疑似的な攻撃リクエストをウェブサイトへ送信し、脆弱性を検出することができるサービスだ。検出した脆弱性は、Web Application Firewall(以下、WAF)で防御できる場合と、ウェブサイトの修正が必要な場合がある。そして、 BVM は、Barracuda Web Application Firewall(以下、BWAF)との連携もサポートされているため、検出した脆弱性は、自動的にBWAFで防御できるようになっている優れモノだ。

  BVMのスキャン方法については、以下のブログを参照願いたい。

検査結果

 下図は、スキャン結果のサマリーだ。最新バージョンのWordPressを使用して、テーマやプラグインもプリインストールされているものそのままだが、反射型クロスサイトスクリプティングなど、危険な脆弱性も発見された。

 「ログインページがHTTPで提供」および「プライベートIPアドレスの発見」についは、 静的なHTMLのマニュアルページ内に、ログイン方法や設定方法が記載されていたのでそれを検知していた。どちらも過検知と判断できる。

 以下が、検知した脆弱性である。

リスク高
1 WordPressのREADMEファイルが閲覧可能
2 反射型(Reflected)クロスサイトスクリプティングの脆弱性
リスク中
3 HTTP OPTIONS Methodが有効状態
4 ログインページがHTTPで提供
5 非暗号化通信でのパスワード送信
リスク低
6 パスワード欄のオートコンプリートの有効状態
7 CSRFの対策が行われていないHTMLフォーム
8 不要なTCP/UDPポートの開放
9 プライベートIPアドレスの発見
10 SSLサーバ証明書の信頼性がない
11 SSLサーバ証明書の所有者が不正
12 通常使う必要のないHTTP Methodが有効状態

対策後、再スキャン

 BWAFでウェブサーバを防御したのち、再度、BVMでスキャンを実施してみた。以下が、その結果である。2つの項目を検知したが、どちらも過検知であったため、すべての脆弱性を修正できた。

リスク中
1 ログインページがHTTPで提供
リスク低
2 プライベートIPアドレスの発見

まとめ

  WordPressの場合、本体のバージョンだけでなく、使用しているテーマやプラグインの脆弱性も気にしていかなければならない。メンテナンスが行われていないテーマやプラグインもあるので、脆弱性が発見されても修正されない場合もあるだろう。そんなとき、WAFがあれば、すぐに対処も可能だ。

 WAFといえば、導入や運用が難しく、高価であるというイメージがあるが、今は、フルマネージド型のクラウドWAFもお手頃価格で提供されている。Barracuda Networksの本格的WAFをフルマネージルドの月額課金型で提供するBarracuda WAF-as-a-Service SMAC Editionがお勧めだ。