WordPressのセキュリティ|脆弱性を狙った攻撃事例や対策

WordPressのセキュリティ|脆弱性を狙った攻撃事例や対策

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+」

▼製品・サービスに関するお問い合わせはこちら

WordPressで作成されたWebサイト、セキュリティ対策は万全ですか?

WordPressで作成されたWebサイト、セキュリティ対策は万全ですか?

Webサイトを作成するために使われているCMS(Contents Management System)ツール。オープンソースCMSといえば、WordPress(ワードプレス)、 Joomla (ジュームラ)、 Drupal (ドルーパル)などが広く使われていますが、世界的に高いシェアを誇っているのがWordPressです。WebサイトにおけるWordPress利用率は30%を超えているという報告もあります。

WordPressは日本でも企業、個人を問わず多く使われています。WordPressが提供するテーマ、プラグイン等、様々な機能を活用すれば誰でも簡単にWebサイトを制作することができます。しかし、誰でも手軽に編集することができるからこそ、セキュリティ問題も付き物になっています。ペンタセキュリティは毎四半期ごとに最新Web脆弱性を分析した結果をまとめたトレンドレポートを公開しておりますが、その結果によると2019年第2四半期から最も多く報告されたのが、WordPressに関する脆弱性ということが分かります。それでは、実際にはWordPressにどのようなセキュリティ問題があるのか、そしてどう対応すればいいのかをご紹介します。

 

セキュリティ問題とその対策

1. WordPressで制作されたといった事実を隠す

WordPressで作成されたWebサイトの場合、普通Webサイト管理者はドメインの後に「wp-admin」 または 「wp-login.php」をつけることでWordPressの管理画面にアクセスすることができます。つまり、ハッカーもドメインに少し手を加えるだけで容易にWordPressの管理画面にアクセスでき、その状況を知ることができるということです。しかし裏を返せば、このような情報を隠すことだけでもセキュリティ面で一定の成果を上げることができるということになります。「Hide My WP Plugin」などのプラグインを使うことで、管理画面のURLやその他「WordPressを利用している」という情報を隠し、簡単に対策をとることができます。

2. 便利なログイン機能はハッカーにも有効。ログインの試行回数を制限する

WordPressは普通のWebサイトと違ってパスワードに有効期限がないため、間違ったパスワードをいくら入力してもログイン機能がロックされません。Webサイト管理者にとっては便利な機能ですが、これはハッカーにも有効で、この脆弱性を狙い、成功するまで無限の数のパスワードで試し続けることができます。これに対応するには、「Limit Login Attempts」などログインの試行回数を制限するプラグインが有効です。

また前述の様に、ドメインの後に「wp-admin」 または 「wp-login.php」をつけることでWordPressの管理画面にアクセスすることができますが、このURLを変えることでけでもハッカーからの無差別攻撃の試しを防ぐことができます。 他にも、Webサイト管理者のアカウント名を変える、特定のディレクトリを閲覧専用に設定する、ディレクトリリスティングを非活性化する等の対策をとることができます。

3. 旧バージョンは弱点が丸見え。常に最新バージョンを使おう

WordPressは他のソフトウェアと同様に定期的なアップデートを実施しています。しかし、使用しているプラグインの互換性などの問題で、アップデートをすぐさま実行するWebサイト管理者はほんの少しにすぎません。ハッカーは、このように新規パッチが発表されたにもかかわらず、旧バージョンを使用しているページを狙います。アップデートは主に旧バージョンの弱点を補完するものであるので、逆に旧バージョンの弱点をさらすものにもなるのです。その為、できる限り迅速なアップデートの適用をおすすめします。

4. Web脆弱性を狙った多数の攻撃。WAFで対応しよう

冒頭で述べたように、WordPressでは多数のWeb脆弱性が発見されており、またそれを狙った攻撃も多発しています。 2020年第1四半期のWeb脆弱性トレンドレポートによると、WordPressのWeb脆弱性を狙った攻撃には以下の3種類がありました。

  • Cross Site Scripting: 特定のWebサイトからブラウザを通じ情報を奪取する攻撃
  • Authentication Bypass: 認証を迂回し、管理者コンソールへ不正アクセスする攻撃
  • CSV Injection: データをCSVファイルに出力するとき、不正な命令語を差し込む攻撃

このようにWeb脆弱性を狙ったサイバー攻撃を防ぐためには、セキュリティ対策を講じる必要があります。特に、WAF(Webアプリケーションファイアウォール)を導入することも一つの有効な対策となります。WAFはWeb脆弱性に対する攻撃に対応するだけではなく、ハッカーがWebサイトにアクセスすること自体を防ぐことができます。つまりWordPressのようなアプリケーション自体に脆弱性が存在する場合も、それによる被害を事前に防ぐことができるということです。

 

最後に

WordPressは業界随一のCMSツールですが、セキュリティ面で問題を抱えていることも事実です。決して「安全ではない」わけではありませんが、Webサイト管理者の不注意によっては脆弱性を抱えることになるでしょう。しかし、簡単な対策をとることでより安全に使用することができます。ご紹介した対策を念頭に置き、安全にWordPressを運用しましょう!

最新Web脆弱性トレンドレポートの情報はこちら