皆さまはWordPressをご存知でしょうか?
CMS(コンテンツマネジメントシステム)といえばWordPressと言っても過言ではないほどですので、この問いに対しては、「知っている」「使用している」と答える方も多いのではないかと思います。
WordPressは、簡単にブログを作成できるだけでなく、プラグインによる機能拡張など、ユーザーにとって様々な魅力がある実績豊富なオープンソースのCMSです。
国内では、ホスティングサービスを利用しているユーザーからの人気も高く、ホスティング事業者からWordPress専用プランが提供されているほどです。
しかしながら、不正ログインや改ざんなど、WordPressで作成されたWebサイトへの攻撃は増加の一途を辿っており、WordPressのセキュリティ対策は重要な課題となっています。
そこで本稿では、WordPressの7つのセキュリティ対策について解説します。
WordPressが攻撃を受けやすい理由
まず、WordPressが本当に攻撃を受けやすいのか?ということについてです。結論として、狙われやすいのは事実であると考えられます。
WordPressは、ファイルとディレクトリ構成がよく知られているほか、仕様を悪用されることが多く、攻撃者による不正ログインや設定ファイルの読み取りなどの攻撃が数多く行われています。
ログインページであれば「wp-login.php」、管理ページのパスは「wp-admin」、設定ファイルは「wp-confgi.php」のように知られており、そのことは当然、攻撃者も把握しています。
- ログインページ:/wp-login.php
- 管理ページ:/wp-admin/
- コメント投稿:/wp-comments-post.php
- テーマ・プラグイン・画像:/wp-content
- コア:/wp-includes
- 設定ファイル:/wp-config.php など
関連記事:
ユーザー情報が分かる!?WordPressの不正ログイン対策
WordPressの設定ファイルの安全性とディレクトリトラバーサル
また、プラグインやテーマといった拡張機能の脆弱性の悪用も目立ちます。
テーマやプラグインを使うことで、デザインの洗練されたコーポレートサイトやECサイトなど、目的に合わせた様々なサイトを制作・運用することができるのです。
しかし、セキュリティに対してはプラグインやテーマの開発者のスキルに依存しているという側面があります。導入した拡張機能の管理を怠った結果、気が付いたらサイトが改ざんされていたという事例も多々ありますので、本当に必要な機能であるのか、よく考えた上で導入するようにしましょう。
それでは、どのように利用し、対策すれば良いのでしょうか?
利用者としてもこのようなWordPressの特性を知ることで、対策を立てやすくなります。対策については、後述しますが、課題を一つ一つ理解し、対策を練っていきましょう。
WordPressの脆弱性は大きく2種類
先ほど、プラグインやテーマの脆弱性に関する話をしました。脆弱性は、OSやソフトウェアなどのプログラム設計ミスや不具合によって発生するセキュリティ上の欠陥のことを言い、セキュリティホールとも呼ばれます。
WordPressの場合、WordPress本体(コア)の脆弱性と、先ほどのプラグインやテーマの脆弱性に大別されますので、それぞれ解説します。
WordPress本体(コア)の脆弱性
WordPressの主要機能を構成するファイル・ディレクトリ群が本体(コア)です。
このWordPressコアにおいて、クロスサイトスクリプティング(XSS)やSQLインジェクションなどの脆弱性が発見されることがあります。
しかし、WordPress自体、世界的にシェアが高いCMSであり、定期的なセキュリティリリースやメンテナンスリリースなど、脆弱性や不具合への対応は適切に行われています。
そのため、最新バージョンの使用を徹底することで、WordPressコアの脆弱性への対応が可能です。
プラグインやテーマの脆弱性
WordPressコアだけでWordPressを運用することも勿論可能ですが、WordPressの一番の魅力は、豊富なプラグインやテーマを活用し、デザインの洗練されたコーポレートサイトやECサイトなど、目的に合わせた様々なサイトを制作・運用できることです。
しかし、このプラグインやテーマの脆弱性を悪用した攻撃が多く、WordPressによるWebサイトの運用において、大きな課題となっています。
プラグインやテーマなどの拡張機能は、不特定多数のユーザーや有志によって、自由に開発・提供されています。様々なメリットをもたらす反面、開発者ごとの安全性の配慮にばらつきがあるという実情から、深刻な脆弱性・攻撃へとつながってしまうことがあります。
WordPressのセキュリティが心配だ、狙われやすいといった指摘は、前述した不正ログインのほか、プラグインやテーマの脆弱性悪用が大きな要因となっています。
WordPress本体だけでなく、プラグイン・テーマについても、バージョンやメンテナンス状況、脆弱性の有無に注意するよう心がけましょう。
WordPressへの攻撃による被害事例
ここでは、WordPressに対する攻撃について、いくつかの被害事例を紹介します。
WordPress管理画面への不正アクセス
前述したとおり、WordPressはファイルとディレクトリ構成がよく知られているため、不正ログインを試みる攻撃が非常に多くなっています。
当社のパートナー企業であるホスティング事業者との会話でも、不正ログインとその対策がいつも話題になるほど、不正ログインの被害が多いのが実情です。
脆弱性を悪用した攻撃
過去に、脆弱性による大きな被害も報告されていますので、いくつかの事例を紹介します。
2017年2月、WordPressのREST APIの脆弱性を悪用した攻撃がありました。これは、WordPressコアの脆弱性であり、WordPress史上で最悪の脆弱性と言われるほどのインパクトがあり、全世界で150万以上のサイトが改ざんされたと言われています。
プラグインの脆弱性では、2021年12月9日に160万サイトがプラグインの脆弱性を悪用した攻撃の対象となりました。この脆弱性は認証されていないユーザーによってオプションが変更できてしまう脆弱性で、対象のWebサイトの管理者権限を奪いコンテンツやプログラムの改ざんが行われたとされています。
プラグインやテーマの脆弱性は数多く公開されています。被害を受けてしまうと、スクリプトの挿入などで利用者に被害を与えてしまうこともあり、WordPressコアやプラグイン・テーマの脆弱性対策は適切に行うことが重要です。
コメントスパム
ブログの標準的な機能の一つに各記事に対して閲覧者が書き込みをするコメントの機能があります。WordPressでもコメントを活用することで、閲覧者の感想や意見を新しい記事に反映したり、読者を獲得することができます。
ところが、このコメント機能が悪用され、広告目的などの無関係なメッセージが大量に書き込まれてしまうことがあります。
Webサイトおよびページの品質が低下することで、検索結果の表示に影響を及ぼす可能性があるほか、大量にメッセージが書き込まれることで帯域やディスクなどのリソースが無駄に消費されてしまう恐れもあります。
脆弱性を悪用した攻撃とは異なりますが、とても迷惑な攻撃や被害に分類されます。
問い合わせフォームを使ったスパムメール
WordPressの運用では、Contact Form 7などを活用した問い合わせフォームを設置することも多いと思います。
フォームから問い合わせがあった場合は、設定したメールアドレス宛にメールが届くように設定するのが一般的ですが、スパムメールの送信者は、その問い合わせフォームを利用してメールを大量に送信します。フォームに自動入力する「bot(ボット)」を用いて、フォームの名前やメールアドレス、問い合わせ内容といった項目に自動入力することで、大量のメールを送るのです。
受信側では、メールの内容をチェックする手間が生じるほか、実際に存在するメールアドレスを用いてスパムメールが送信されている場合、受付完了メールが送られてしまうなど、様々な被害が生じる可能性があります。
不正ログインやコメントスパム同様、WordPressの運用において注意すべき攻撃、迷惑行為の一つです。
WordPressで行うべき7つのセキュリティ対策
ここまで、WordPressに対する脅威や被害事例について解説してきました。ここからは、どのように対策するべきか7つのセキュリティ対策を紹介していきます。
最新バージョンを使用する
WordPressコア、プラグイン・テーマともに、最新バージョンの使用を徹底することが基本です。
OSやソフトウェアのバグや脆弱性ゼロは理想であり、現実的にバグや不具合が発見されることはしかたのないことです。利用者としては、これらの情報を収集することに努め、常に最新バージョンを使用するように心がけることが重要です。
WordPressのリリース情報を定期的に確認するほか、自動更新の機能を活用することも有効です。また、JPCERT/CCのメーリングリストを活用するなど、WordPressにかぎらず、情報セキュリティに関する注意喚起に対して意識することも大切です。
強固なパスワードを設定する
こちらも基本的な話になりますが、不正ログインを防ぐ最後の砦はパスワードです。管理者権限による不正ログインを許してしまうと、WordPressの全権を奪取されることになり、攻撃者の意のままに操られてしまいます。
基本中の基本であるパスワードによる保護について、今一度、強く意識するようにしてください。
ログインページ・管理ページへのアクセス制限
WordPressは、ファイルやディレクトリ構成が知られているため、ログインページや管理ページに対する攻撃が多くなっています。
そのため、ログインページ(wp-login.php)と管理ページ(wp-admin)に対するアクセス制限は、セキュリティ対策として大きな効果があります。
リモートワーク環境においては、自宅などからオフィスにVPNで接続してインターネットを利用する機会が増えていると思います。そのような環境であれば、接続元となるオフィスのIPアドレス(またはネットワーク)からしか、WordPressにログインできないようにアクセスを制限するという対策が可能です。
VPN接続を利用していないなど、接続元のIPアドレスやネットワークを制限できない場合は、ログインページや管理ページへのアクセスを制限するセキュリティプラグインもありますので、有効に活用するようにすると良いでしょう。
使わない機能は削除する
特にプラグインやテーマといった拡張機能について、不要なものは削除するようにしましょう。無効にするだけだと、ファイルやディレクトリが存在することになり、脆弱性が存在した場合に無効にするだけでは対策にならず、攻撃の被害を受けてしまうことがあります。
日頃からプラグイン・テーマのバージョンやメンテナンス状況を確認し、不要なものは削除するようにしてください。
reCAPTCHAの活用
reCAPTCHAは、ボットによる不正アクセスを遮断するための仕組みで、Googleから無料で提供されています。
WordPressの運用においては、Contact Form 7による問い合わせフォームの利用が多くなっていますが、Contact Form 7には、reCAPTCHAの設定項目が用意されており、比較的簡単にreCAPTCHAを導入することができます。
Invisible reCaptcha for WordPressのような、reCAPTCHAに対応したプラグインを使用すれば、ログインページやコメント欄の保護にreCAPTCHAを活用することもできます。
reCAPTCHAを使用していない場合は、ぜひチェックしてください。
セキュリティプラグインの有効活用
セキュリティを強化するプラグインの「All In One WP Security & Firewall」は、アクティブインストール数は百万を超える、世界的にも人気のセキュリティプラグインです。
無料で使用できるプラグイン且つ、多機能、そして海外製でありながら、日本語対応されているところも人気の要因の一つかもしれません。ユーザー名やパスワードに関するセキュリティのチェックやログインの制限、データベースのセキュリティ、ファイアウォールの設定などが行えます。
一方で、専門的な用語がやや多く、初心者には少々ハードルが高い可能性がありますので、プラグインの使い方が解説されたサイトの情報をもとに、適切な運用ができるかを確認すると良いでしょう。
EGセキュアソリューションズ株式会社が提供する「SiteGuard WP Plugin」は、WordPressにインストールするだけで、セキュリティを向上させることができるセキュリティプラグインです。
管理ページとログインページの保護を中心とした日本語対応のシンプル・簡単プラグインで、不正ログインやコメントスパムなどの攻撃も防ぐことができます。
WordPress公式に登録しているプラグインで、どなたでも無償で利用することができます。
WAFの活用
脆弱性対策としては、WAF(Web Application Firewall)の活用が有効です。
WAFは、クロスサイトスクリプティング(XSS)やSQLインジェクションといったWebアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護するセキュリティ対策であり、WordPress本体やプラグイン・テーマの脆弱性対策に対して、効果を発揮します。
最新バージョンのWordPressコア、プラグイン・テーマを使用するのを基本としつつ、セーフティネットとしてWAFを導入しておくことは、安心・安全なWebサイトの運営に役立ちます。
まとめ
WordPressは、GPLのオープンソースソフトウェアで、もともとはブログ管理ソフトという印象が強いものでした。
しかし、テーマやプラグインといった拡張機能を使うことで、デザインの洗練されたコーポレートサイトやECサイトなど、目的に合わせた様々なサイトを制作・運用することができる優れたCMSです。
HTMLやCSSなどのコードによる編集を極力無くし、使い易さと拡張性を兼ね備えており、活発なコミュニティ活動やユーザー同士がサポートフォーラムで情報交換して助け合うなど、WordPressのことを知りたいと思えば、様々な情報や機会に触れることができることも、WordPressの魅力なのではないかと思います。
本稿には、WordPressの可能性を拡げ、発展し続けるためには、「セキュリティ」が重要な要素であることを少しでも意識してもらいたいという思いを込めています。
EGセキュアソリューションズ株式会社は、WordPressの発展とセキュリティに貢献したいという思いから、無料で利用できる「SiteGuard WP Plugin」を提供しています。
また、脆弱性対策に有効な国産WAF「SiteGuardシリーズ」を開発・販売しています。WordPressのセキュリティ対策に、ぜひ当社のソリューションを役立ててください。
本稿で紹介しきれなかった対策について、WordPressのサポートページでもセキュリティに対する解説があります。(WordPressの安全性を高める)全てを対策することは難しくても、できる対策は必ずあると思いますので、安心・安全なWordPressライフに向けて一歩一歩、前に進んでいきましょう。
- カテゴリ:
- Webセキュリティ