WordPressは世界で広く使われるオープンソースのCMSです。プログラミングの知識が無くても、Webサイトを作成できるため非常に人気がありますが、広く普及している分、脆弱性を突かれた攻撃を受けることもあります。WordPressのセキュリティを高めるためにはどのような対策をしたらよいのか、実際の攻撃事例も含めて解説します。
WordPressのセキュリティに関する問題点:脆弱性の指摘
WordPress(ワードプレス)はWebサイトを作成できるCMS(Contents Management System)の1種です。
2003年に誕生したWordPressは、基本無料で利用できるオープンソースのソフトウェアで、プログラミングの知識が無くても、ブログやWebサイトを簡単に作れます。
デザインのテンプレートが豊富で、追加機能を付与できるプラグインの種類も多いため、世界中で広く使われています。W3Techsの調査によると、全てのWebサイトのうち約43%はWordPressを用いており(2024年1月時点)、もっとも人気のあるCMSです。
(参照元:W3Techs 「WordPress の使用統計と市場シェア」)
多くのWebサイトで用いられているWordPressですが、その使用率の高さや、オープンソースであることから、サイバー攻撃の標的にもなりやすいといわれています。
WordPressのセキュリティ脆弱性を狙われた事例
2022年には、テーマ変更ができるプラグイン「OneTone」の脆弱性を狙ったSQLインジェクション攻撃がありました。データベースに侵入し、リダイレクトで他のサイトへ転送するコードが埋め込まれる被害が多発しました。このプラグインの開発者はアップデートを停止しており、脆弱性への対策がなされなかったため、OneToneを使用していたWebサイト管理者の多くは、他のプラグインへ変更せざるを得ませんでした。
2017年頃には、WordPressに搭載された「REST API」という機能の脆弱性を狙ったゼロデイ攻撃がありました。全世界で155万を超えるサイトが改ざんの被害に遭い、大きな問題となりました。
2019年にはプラグインの「WP GDPR Compliance」の脆弱性へのゼロデイ攻撃がありました。管理者ではなくても新規ユーザー登録や管理権限の付与が可能だったため、サイト内にマルウェアを組み込まれるなどの被害が多発しました。
2015年頃には、プラグイン「Fancybox」の脆弱性を突かれたクロスサイトスクリプティング攻撃が行われました。サイト利用者を他の不正なサイトへ誘導するものです。人気のあるプラグインであったため、被害の数も多くなりました。
「SQLインジェクション」、「ゼロディ攻撃」については、詳しくは下記関連記事もご覧ください。
SQLインジェクションとは? 攻撃の仕組みや被害例、対策方法を解説
ゼロデイ攻撃とは? 増加する背景や主な手口、企業として行うべき対策
WordPress利用の際に行うべきセキュリティ対策
WordPressは便利なものですが、セキュリティ対策を怠れば、サイバー攻撃の被害に遭う可能性もあります。以下に取り上げるセキュリティ対策を行い、リスクを減らしましょう。
・WP本体・テーマ・プラグインのバージョンを常に最新にする
WordPressの動作環境に関わる全てのものを最新のバージョンに保ちます。
WordPress本体や、テーマ・プラグインのアップデートには、バグ修正だけではなく、脆弱性への対応が含まれます。そのため、特に理由が無い限り、アップデートされたものはすぐに更新するのを習慣にしましょう。
自動アップデート機能もありますので、こまめにチェックする余裕が無い場合は、この機能をオンにしておくのもおすすめです。
・不要なテーマ・プラグインは削除する
前段で紹介したテーマ「OneTone」などは開発者がアップデート対応をしなかったことで被害が拡大しました。
有効化していないテーマやプラグインだとしても、インストールしたまま放置していると、その脆弱性を突かれる可能性があります。そのため、利用しないテーマやプラグインに関しては、削除しておきましょう。
・ログインページをデフォルトから変更する
WordPressのログインページは、初期状態のままだと簡単にログインページを特定できます。
https://ドメイン名//wp-admin/
もしくは
https://ドメイン名//wp-login.php/
そのため、デフォルトのログインページからURLを変更することも有効なセキュリティ対策です。ログインページのURLを変更することで、悪意のあるユーザーがログイン画面にたどり着きにくくなります。
WordPress本体には、ログインページを変更する機能はありませんので、専用のプラグインを用いる必要があります。
・ID・パスワードを強化(画像認証・二段階認証)にする
ログイン画面にたどり着かれた場合でも、簡単に突破されないよう、ID・パスワードを複雑にすることも重要です。ログインパスワードは、小文字、大文字、記号や英数字を混ぜ、簡単に思い浮かばないものに設定します。なるべく長く、複雑なものにすることが有効です。
また、画像認証や二段階認証を実装すると、より不正アクセスを防ぎやすくなります。WordPressの機能に、画像認証や二段階認証は無いため、セキュリティ対策関連のプラグインを導入して実装します。
・IP制限をかける
WordPressのログインページにIPアドレス制限をかけるのも有効です。例えば、自社オフィス以外のIPを受け付けないように設定を変更することで、不正なアクセスを防げます。
・定期的に国内外で発見された脆弱性を把握する
国内外で発見される脆弱性の情報に定期的に目を通すことも必要です。新たに発見された脆弱性に速やかに対応することで、セキュリティを高めることができます。脆弱性を確認できるサイトには以下のようなものがあります。
▼脆弱性を確認できるサイト
・WAFを導入する
WAFとは、「Web Application Firewall」の略です。外部からの攻撃を検知してWebサイトを防御できます。悪意を持った攻撃と判断された場合は、自動的に通信が遮断されるので、クロスサイトスクリプティングやSQLインジェクションなど、WordPressの脆弱性を突いた攻撃を防ぐ効果があります。WAFを導入することで、Webサイトの改ざんや個人情報漏えいのリスクを減らしましょう。
まとめ
WordPressは便利なCMSですが、脆弱性を突いた攻撃を受けることがあります。WordPress本体だけでなく、テーマやプラグインも常に最新の状態に保つことで、安全性を高められます。また、セキュリティ対策にはWAFの導入も有効です。
ペンタセキュリティの「Cloudbric WAF+」は、クラウド型のWebセキュリティプラットフォームです。CVEソース基盤に対応しており、新種や亜種の脆弱性にも速やかに対応できます。
関連記事:Cloudbric WAF+
▼WAFをはじめとする多彩な機能がひとつに。企業向けWebセキュリティ対策なら「Cloudbirc WAF+」
▼製品・サービスに関するお問い合わせはこちら