初心者からの
WordPressセキュリティ対策
〜事例と数字から見るセキュリティ対策〜
自己紹介
遠藤進悟
➜ 株式会社蔵守所属
➜ 静岡県富士宮市在住
➜ たぬき
➜ WordBenchしずおかモデレーター
➜ WordCampTokyo2013〜2017スタッフ
➜ KUSANAGI静岡ユーザーグループ
もくじ
1. 基本的な情報を確認
2. WordPressにまつわる数字
3. 本当にあったWordPressのセキュリティインシデント事例
4. まとめ
WordPressの基本的な情報
WordPressとは
● オープンソースのパブリッシングソフトウェア
● ブログだけでなくWebサイト作成のためのCMSとして利用される
● WordPress.comというWordPressホスティングサービスもある
● WordPress.orgで提供されているインストール型のソフトウェアもある
→ 今回はこれの話
● ライセンスはGPLv2+
● 2018年4月6日時点での最新版はバージョン4.9.5
WordPressの動作要件
● PHP バージョン 5.2.4 以上
● MySQL バージョン 5.0.15 以上または MariaDB (バージョン問わず)
● Apache mod_rewrite モジュール
ただし・・・
➜ 動作保証されているのはWordPress本体のみ
➜ プラグインやテーマはこれに準拠しなくてもよい
➜ いつ要件が上がってもおかしくない
➜ 古い環境は脆弱性を含んでいる可能性がある
WordPressの推奨要件
● PHP 7.2 or greater
● MySQL 5.6 or greater OR MariaDB 10.0 or greater
● Nginx or Apache with mod_rewrite module
● HTTPS support
※WordPress.org - About - Requirements より抜粋
➜ 最近要件が上がった
➜ プラグインやテーマはこちらに準拠して、古いPHPのサポートを切っているケースも
多い
➜ これもすぐに上がるかもしれない
WordPressにまつわる数字
WordPressのシェア数
Webサイト全体における
WordPressのシェア率は
30%を超えた
CMSのみで見ると60%以
上がWordPress
※W3Techsより
CMSとして圧倒的なシェア数ですが・・・
● 利用者が多いということは狙われる可能性も多い
● 特定のサイトを狙い撃ちするのではなく、不特定多数への攻撃がほとんど
● ログイン試行型攻撃(辞書攻撃・ブルートフォースアタック)
● 脆弱性利用型攻撃(API・プラグイン・サーバ設定など)
→ 引っかかればラッキーアタックなのでバージョン隠しても意味がない
→ 運営者が一見しても気が付かないような攻撃をされることも
WordPressは危険か
● オープンソースであり、だれでも開発に参加できるようになってるため、危ない箇所
があれば指摘され、都度修正されている
● どんなソフトウェアにも運用していくことで、脆弱性は必ず発見される
● アップデートを適切にしていくことで、多くの危険は回避できる
● 公式に出されている情報をもとに権限もしっかり管理する必要はある
→ どんなソフトウェアでも同じ。 WordPressに限った話ではない
利用されているWordPressのバージョン
最新版:4.9.5
WordPress.org Stats からAPI
で取得したデータ
WordPress最新版の利用割合
ほぼ最新版:4.9以上
半分ほどは最新バージョンを
利用していない!
なぜ最新版で利用されていないのか
● アップデートができることを知らない
● アップデートをすると不具合が起こってしまう
● 不具合が起こるのがこわい
● レンタルサーバの環境でアップデートできない
● アップデートをする意味がわからない
などなど・・・
利用されているPHPのバージョン
PHP最新版: 7.2.3
(2018/04/08時点)
セキュリティサポート中のバージョン
セキュリティサポートされて
いるバージョン:
5.6系,7系
※5.6のサポートは
2018/12/31まで
※7.0のサポートは
2018/12/03まで
推奨環境で利用されているPHP
WordPress推奨環境:
PHP7.2系
ほとんどが推奨外!
推奨環境が極端に少ない理由
● 共用レンタルサーバでPHP7.2対応しているサービスがほとんどない
→ 大手のレンタルサーバサービスは 7.1系までが多い
→ 7.2対応しているレンタルサーバもちらほら
→ 5.3くらいで対応が止まっているサービスも・・・
● クラウドやVPSの環境でも導入する手間がかかる
→ CentOS6のデフォルトは5.3系
→ CentOS7のデフォルトは5.4系
→ 導入するには自力でビルドするか、対応するリポジトリを入れる必要がある
利用されているMySQLのバージョン
最新版
MySQL: 5.7系
MariaDB: 10.2系
※MySQLは5系
※MariaDBは10系、5.5系
セキュリティサポート中のバージョン
サポート中のバージョン
MySQL: 5.7以上
MariaDB: 10以上
※MySQL5.6は2018年2月
にサポート終了
推奨環境で利用されているMySQL(MariaDB)
WordPress推奨環境:
MySQL 5.6 以上
MariaDB 10.0 以上
なぜ推奨環境で利用されていないのか
● 共用レンタルサーバが対応していない場合がある
● 共用レンタルサーバで対応していても自力で移転する必要がある
● MySQLの移転は技術的な壁が高い
● クラウドやVPSでも対応が難しい
● そもそも移転する必要性を感じていない
● バージョンを知らない・気にしていない
セキュリティインシデントの
事例と対策
WordPress4.7と4.7.1の脆弱性による大量の改ざん
経緯
1. 2017年の1月26日に4.7.2セキュリティアップデートがリリース
2. その数日後、4.7及び4.7.1に重大な脆弱性があることを発表
3. 発表後、1日ほどで大量のWebサイトが改ざんされる
→ 公共の団体や中規模以上の企業など、いわゆるお硬い運営をしているサイトも
→ 改ざんされたページの総数は 150万を超えた
『WordPressサイトの改ざん被害は 150万件超に 「最悪級の脆弱性」』
(http://www.itmedia.co.jp/enterprise/articles/1702/13/news045.html)
原因と対策
原因
● 「WP REST API」の実装に不備があり、権限なしのユーザでも投稿・更新できてしま
う
● 改ざん用のプログラム自体も容易に作成できてしまうレベルだった
対策
● マイナーアップデートを自動更新にする
● リリース情報を収集し、3日以内には更新を行う
● 必ず最新版のWordPressを利用する
大手レンタルサーバでの大量改ざん
経緯
1. 2013年8月に大手レンタルサーバにホストされているWordPressに改ざんが発見され
た
2. 文字コードの変更、サイトタイトルの変更、スクリプトの埋め込み、ウィジェットの変更
などの被害が次々と発覚
3. 8,000件以上のWebサイトが改ざんされた
原因と対策
原因
● インストール画面で放置されていたWordPressを悪用され、情報を不正に取得する
プログラムを埋め込まれた
● 「簡単インストール」の権限設定やサーバ側の設定不備により、同じサーバに入って
いた別のWordPressの情報も取得された
対策
● 権限設定を見直す(知識がない場合は簡単インストールを使う)
● インストール画面で放置しない
他にも・・・
● 悪意のある第三者にログインされて改ざんされた
→ パスワードを複雑なものにする
→ ログイン画面にアクセス制限をかける
● テーマをダウンロードして使ったら、スクリプトが埋め込まれていた
→ 公式ディレクトリにあるテーマを利用する
→ 有料・無料問わず提供者がよくわからないものは利用しない
● プラグインの脆弱性を利用された
→ プラグインも常に最新版に
→ 脆弱性の情報を得られるように、アンテナを張る
● クラウドやVPS側の問題で不正利用された
→ クラウドやVPSもバージョンアップやセキュリティ対策を行う
など・・・
まとめ
まずは、知ること
● 自分の使っているWordPressやPHPやMySQLのバージョンは?
● WordPressの最新版は?
● プラグインの脆弱性情報は?
● サーバのサービスで利用できるバージョンは?
● 利用しているプラグインやテーマの対応しているPHPのバージョンは?
WebサイトをWordPressで制作してお金を頂いている場合、「知らなかった」では済まされ
ない。
行動すること
● WordPressやプラグインのバージョンアップをする
● PHPも利用できる最新のバージョンにする
● MySQLも利用できる最新のバージョンにする
● サーバが対応していない場合、移転をする
● クラウドやVPSもアップデートやセキュリティ対策を行う
● 制作者や制作会社は保守も請け負う
● 保守を請け負わない場合は納品の際に注意アナウンスを行う
わからないまま放置するのが一番ダメ!
できることからでかまわないから、改善をしていくこと
対応しきれないという場合
お金を払ってプロに頼む
● 何か起こる前に頼んだほうが安く済む
● 何か起こってからだと、プロでも修正不可能なケースもある
● テーマを独自で作成していたりカスタマイズしている場合やプラグインを自作してい
る場合など、アップデートで支障が出る場合もある
● 保守サービスなどの利用を検討する
ご清聴ありがとうございました

初心者からのWordPressセキュリティ対策