WordPressの脆弱性は深刻?安全に運用するため知っておきたいリスク・対策を解説!

更新日:2021年05月06日 発注カテゴリ: ホームページ制作・デザイン
WordPressの脆弱性は深刻?安全に運用するため知っておきたいリスク・対策を解説!

WordPressの脆弱性は深刻?WordPressサイトを運用していくのは危険?脆弱性に関して報道されることの多いWordPressに「不安」を感じている方は少なくないかもしれません。特に、サイバー攻撃による情報漏えいを避けたい企業・店舗担当者の方であればなおさら。しかし、WordPressは世界でもっとも活用されるCMSです。深刻な脆弱性があるならだれも使わないのでは?実際はどうなの?WordPressサイトを運用中、あるいは今後の活用を検討する方なら知りたいはず。そこで本記事では、WordPressの脆弱性を検証するとともに、安全に運用していくために知っておきたい脆弱性のリスク・対策を徹底解説!巻末では、WordPressを運用するうえで役立つサイト・ツールも紹介します。

WordPressの脆弱性は深刻なのか?

脆弱性に関するアナウンス、被害報告などが多いイメージのあるWordPressは、本当に危険なCMSなのか?多くの方が感じる疑問のはず。しかし、WordPressはほかのCMSと比べても、むしろ安全性の高い強固なセキュリティ機能を持つCMSだといえます。

それでは、なぜWordPressの脆弱性が話題になることが多いのか?まずは、コンピュータープログラムにおける「脆弱性」の意味を理解しておく必要があります。

脆弱性(Vulnerability)とは?

脆弱性(Vulnerability)は「プログラムに存在する弱点」を意味しますが、一般的には「プログラムの不具合・設計上のミス」であると理解される場合が多いようです。この解釈は間違いではありませんがすべてでもありません。脆弱性には「狙い通りに設計・実装された機能が、予想外に外部脅威の標的にされてしまった」ケースも含まれます。

どちらのケースにも共通していえることは「攻撃されることを事前に想定するのは不可能」であること。100%バグ(不具合)のないプログラムを作るのは不可能であるうえ、バグのない箇所が狙われる場合もあるからです。

つまり、どのようなプログラムであっても「脆弱性」を抱えているといえるでしょう。WordPressに限らず、macOSやWindowsなどが頻繁にセキュリティパッチを公開しているのは、脆弱性による攻撃リスクをできるだけ回避するためなのです。

WordPressの脆弱性が注目される理由とは?

それでは、強固なセキュリティ機能を持っているにも関わらず、WordPressの脆弱性が取り上げられることが多いのはなぜなのか?それは、世界中にユーザーを抱える、WordPressならではの事情が大きく関係しているからです。簡単に解説していきましょう。

WordPressは世界でもっとも利用されるCMS

上述したように、WordPressは世界でもっとも利用されているCMS(コンテンツマネジメントシステム)です。全CMSに対して約65%のシェアを誇るだけでなく、全世界の約40%のホームページがWordPressで制作されており、CMSの枠を超えた圧倒的な人気を誇っているのです。

当然、母数が膨大な分だけ、WordPressはハッカーの標的にされやすくなります。なぜなら、ハッキングの目的がなんであっても、ユーザー数が多いシステムほど大きな影響をおよぼせるから。これは利用者が多くないmacOSに比べ、圧倒的なシェアを誇るWindowsがハッカーに狙われやすいのと同じ理屈です。

ソースコードが公開されているオープンソース

WordPressが圧倒的なシェアを誇るのは、だれでも無料で使えるオープンソースだからというのも理由のひとつ。ソースコード(プログラムコード)が公開されているため、プログラミングのスキルさえあれば、自由かつ自在にプログラムを改変できるのも魅力だといえるでしょう。

しかし逆にいえば、これは悪意のあるハッカーにも同じことが当てはまります。ソースコードにブラックボックスが存在しないため、WordPressはハッカーにとって脆弱性を見つけやすいのも事実。インターネットに膨大な情報が公開されているのも、WordPressが狙われやすい要因です。

簡単に使えるWordPressユーザーには初心者も多い

多少のITリテラシーがあれば、HTML / CSSの知識がなくても簡単にホームページを開設できるのがWordPressの魅力。Microsoft Wordを使うような感覚でコンテンツを追加できるため、WordPressサイトなら初心者でも運用自体は難しくありません。しかし、ここに大きな落とし穴が。

Webサイト運用初心者の多いWordPressユーザーは、セキュリティ対策に無頓着になりがちだからです。基本的なセキュリティ対策が甘ければ、ハッカーの標的になってしまうのは当然。強固なセキュリティ対策を施す大企業よりも、セキュリティの甘い中小企業が狙われやすいのが近年の傾向ですが、WordPressにも同じことがいえます。

WordPressのセキュリティは強固だがリスクも多い

ここまでの解説でおわかりのように、WordPressはほかのCMSと比べても優れたセキュリティ機能を持っていますが、脆弱性がないわけではありません。さらに、世界でもっとも利用されるがゆえに、WordPressはその脆弱性を狙われやすいという特性を抱えています。

つまり、セキュリティは強固であるものの、WordPressは常に脆弱性を狙われるリスクがあることを認識しておくべきなのです。

WordPressの脆弱性を狙った攻撃事例

それでは、ハッカーはWordPressのどのような脆弱性を狙って攻撃を仕掛けてくるのか?過去に発生した、WordPressの脆弱性を狙った攻撃事例をいくつか紹介しておきましょう。

REST APIの脆弱性を狙ったゼロデイ攻撃

2017年、WordPressに組み込まれた「REST API」の脆弱性を狙ったゼロデイ攻撃により、全世界150万以上のWebサイトが攻撃される事態が発生しました。特定のURLにアクセスしてWordPressに登録された情報を参照・更新できる「REST API」は、もともとプラグインで提供されていました。

これがWordPress 4.7に組み込まれたことによって脆弱性が表面化。WordPress 4.7.2で脆弱性は修正されましたが、この隙を突く「ゼロデイ攻撃」が発生してしまったのです。

OneToneの脆弱性を狙ったデータベースハック

2020年には、美しさで定評のあるWordPressテーマ「OneTone」に、認証なしでデータベースに侵入できる脆弱性が発覚。悪意のあるスクリプトをデータベース埋め込んでユーザーをリダイレクトさせる「SQLインジェクション」の攻撃被害にあったWordPressサイトが相当数に及ぶ事態に。開発元のアップデートが提供されなかった当時は、テーマの削除に追い込まれたユーザーも少なくありませんでした。

Fancyboxの脆弱性を狙ったクロスサイトスクリプティング(XSS)

2015年には、JQueryでサムネイルなどのグラフィックを彩るプラグイン「Fancybox」の脆弱性が発覚。WordPressサイトに不正なコードを挿入される「クロスサイトスクリプティング(XSS)」の攻撃被害が多発しました。この脆弱性は、任意のスクリプトやコンテンツを簡単に挿入できてしまうというもの。早急に対策バージョンが公開されました。

WordPressの脆弱性対策のポイントは?

WordPressの脆弱性を狙った攻撃事例をいくつか紹介してきましたが、これらの事例を眺めていくと、脆弱性を補ってセキュリティを確保するにはどうすべきか?対策のポイントが見えてきます。「WordPressの脆弱性を狙った攻撃はコア(本体)だけではない」ということ。テーマ・プラグインの脆弱性を踏み台にして、WordPressを攻撃するパターンが非常に多いのです。

実際、攻撃経路が判明しているWordPressハッキングのうち、実に60%以上がプラグインを踏み台にしていたという調査報告もあります。(WordPressセキュリティにおける世界的企業「Wordfence」)つまり、WordPressの脆弱性対策のポイントは「コア(本体)」「プラグイン」「テーマ」だといえるでしょう。

WordPressの脆弱性リスクを回避する対策方法

それでは、WordPressの脆弱性に起因する攻撃リスクを回避するには、どのような対策を実施すべきなのか?方法はさまざまですが、本記事では代表的なものに絞ったうえで、有効だと思われるいくつかの脆弱性対策の方法を紹介していきます。

WordPressコア(本体)を常に最新に保つ

WordPressのセキュリティがほかのCMSと比較しても強固なのは、脆弱性を解消するアップデータが頻繁に提供されているから。しかし、アップデータを適用しないままWordPressコアを使い続けたのでは脆弱性のリスクが高まるばかり。脆弱性リスクを回避する第一歩は、WordPressコアを常に最新の状態に保つことです。

近年ではWordPressにも「自動アップデート機能」が搭載されているため、これを有効にしておくのが基本。ただし、「6.x」>「7.x」のようなメジャーアップデート時は注意が必要。インストール済のテーマ・プラグインが動作しなくなる場合もあります。

テーマ・プラグインを最新に保つ

そういった意味でも、テーマ・プラグインを最新の状態に保つことが非常に重要。テーマを攻撃される可能性は低いと思う方がいるかもしれませんが、プラグインとセットのテーマが少なくないのも事実。脆弱性を突かれるリスクを最小化するためにも、最新バージョンへの更新が必須です。

ただし、WordPressコアと異なり、テーマ・プラグインは自動アップデートできません。インストールされているテーマ・プラグインをリスト化して把握し、リリース・更新情報に気を配っておくことが重要です。

必要ないテーマ・プラグインは削除する

上述した「OneTone」テーマの例もあるように、テーマ・プラグインが脆弱性にあわせて頻繁にアップデートされるとは限りません。開発元の対応が遅れれば、隙を突いて攻撃してくる「ゼロデイ攻撃」被害の可能性があります。

こうしたリスクを避けるには、インストールするテーマ・プラグインを必要最小限に抑え、必要ないものは削除していくことが有効です。

管理画面のユーザー名・ニックネーム(投稿者名)

WordPressは、管理者の「ユーザー名」「ニックネーム(ブログなどに表示される投稿者名)」が、デフォルトの状態で「admin」に設定されています。これではハッカーに「管理画面へログインしてください」といっているのと同じです。不正ログインを避けるため、ユーザー名および「ユーザー名とは異なるニックネーム」を設定しておきましょう。

WordPressのダッシュボードから「ユーザー」>「新規追加」を選択し、必要事項を入力、パスワードを設定して「Add New User」をクリックします。管理者権限を新しく追加したユーザーに切り替えるのを忘れずに。

しかし新しくユーザーを追加しても、ユーザー名とニックネームは同じまま。ニックネームを変更するにはダッシュボードから「ユーザー」>「すべてのユーザー」を選択し、変更したいユーザー名の下にある「編集」をクリックします。

表示された編集画面でニックネームを変更し、「表示名」で新しいニックネームを選択すれば完了です。実際のブログ画面でニックネームが変更されているか?忘れずに確認しましょう。

12桁以上のパスワードを設定

ユーザーを新規追加する際に忘れてはならないのが、ハッカーから解読されにくいパスワードを設定すること。WordPressが生成するおすすめのパスワードを使うのも方法ですが、なによりもパスワードの桁数を増やすのが解読を困難にするポイントです。英字(大文字・小文字区別あり)・数字を組み合わせた「12桁以上のパスワード」がおすすめです。

セキュリティプラグインの導入

WordPress設定を変更したい重要箇所はまだまだありますが、そのためにも有効なのが「セキュリティプラグイン」の導入。特に日本語化されている「SiteGuard WP Plugin」がおすすめです。

SiteGuard WP Pluginサイト:https://ja.wordpress.org/plugins/siteguard

ログインページのアドレス変更

WordPressセキュリティプラグインをインストール・有効化したら「ログインページのアドレス」を変更してしまいましょう。なぜなら、管理画面へのログインページは、デフォルトで「/wp-login.php」になっているから。これでは、WordPressサイトのURL(ドメイン名)さえわかれば、だれでも「ログインページ」にアクセスできてしまいます。

WordPressのファイルを編集することでも、ログインページのアドレスは変更できますが、初心者にはややハードルが高いのも事実。上述した「SiteGuard WP Plugin」を利用すれば、簡単にログインページURLを変更できます。

ログインページ・管理画面へのIP制限

アドレス変更によって、ハッカーがログインページや管理画面へアクセスしにくくなれば、不正ログインを防ぐ効果があります。さらに、ログインページ・管理画面にIP制限をかけられればより効果的。「SiteGuard WP Plugin」を利用すれば、オフィスや自宅からのIP以外を受けないように設定できます。

「wp-config.php」の権限設定(パーミッション)

ユーザーからのリクエストに応じて、都度Webページを生成しているWordPressは、データベースが重要な役割を果たしているのが特徴。そのデータベースへのアクセス情報(IDやパスワードなど)を含む、要となる情報を保存しているファイルが「wp-config.php」です。このファイルをハックされると、WordPressを乗っ取られてしまう場合もあります。

WordPress初心者には難しいかもしれませんが「wp-config.php」の権限設定(パーミッション)を変更することで、データベースがハックされるリスクを避けられます。手順自体は難しくないため、チャレンジしてみてください。まずは「CyberDuck」などのFTPソフトウェアを使ってWordPressサイトにアクセスし、ファイルの中身をチェックします。

「public_html」フォルダのなかにある「wp-config.php」ファイルを見つけたら、選択してファイル情報を表示させます。(Macなら「⌘ + I」、Windowsなら右クリックでサブメニューを表示)

以下の図は「CyberDuck」の例ですが、オーナーが「読み」「書き」に、グループとその他が「読み」にチェックされているのがわかります。これをオーナーの「読み」だけを残して、ほかのチェックを外します。

UNIXアクセス権が「400」に変更されているのを確認したら、適用してウィンドウを閉じます。パーミッションが変更されたことにより「wp-config.php」への「WordPressの管理者」以外のアクセスが禁止されます。

WordPressだけではセキュリティ対策は不充分

ここまでは、WordPressの脆弱性リスクを回避するために有効な対策方法を紹介してきました。しかし、データベース・ファイルから構成されるWordPressコア、およびテーマ・プラグインに気を配っているだけでは、万全のセキュリティ対策が施されているとはいえません。

なぜなら、WordPressが動作するプラットフォーム、Webサーバーにも脆弱性が存在するから。ハッカーがネットワーク経由で侵入・サイバー攻撃を仕掛けることも忘れてはなりません。

Webサーバ・ネットワーク周辺のセキュリティ対策

まずは、WordPressのインストールされているWebサーバ、およびその周辺のネットワークのセキュリティに関する注意点、ポイントを紹介しておきましょう。

サイトのPHPバージョンは7.x以上

WordPressにとって「サイトで動作するPHPのバージョン」は非常に重要です。しかし、実に約60%以上ものWordPressサイトが「2018年末にサポートの終了したPHP 5.6以下を利用」しているのが現実。

長い間セキュリティパッチの提供されていないPHP 5.xの利用は停止し、セキュリティの強化された「PHP 7.x以上」を利用すべきです。PHPバージョンの確認方法は以下の通り。

以下はBluehostの例ですが、サイトにログインし、コントロールパネルから「MultiPHP Mnager」を起動させます。

「System PHP Version」のページが表示されたら「PHP Version」ポップアップから「PHP 7.x」以上を選んで「Apply」します。もし、利用中のレンタルサーバでPHP 7.x以上が使えないのであれば、サーバの乗換えも検討すべきでしょう。

サーバOS・ミドルウェアを最新に保つ

WordPress同様、LinuxやWindowsなどのサーバOS、Apacheなどのミドルウェアにも「脆弱性」が潜んでいます。WordPressのプラットフォームとなるサーバOS・ミドルウェアを最新に保つことで、Webサーバ全体のセキュリティを強化できます。

ファイアウォール・IPS・WAFの設置

上述したように、WordPressサイトを狙うハッカーは、ネットワーク経由で侵入を試みます。これを未然に防ぐためには、データセンター内への「ファイアウォール」「IPS」「WAF」の設置が必須です。

ファイアウォールがあれば「ポートスキャン」を、IPSがあれば「DoS攻撃」を、WAFがあれば「SQLインジェクション」「XSS」などのサイバー攻撃を防ぐのに効果的。ハッカーがWordPressまでたどり着くリスクを最小化できます。

SSL導入で通信環境のセキュリティ強化

いまやすべてのWebサイトの標準となった通信暗号化技術、SSL(Secure Sockets Layer)の導入も必須です。アドレスに「https」が表示されていれば、ユーザーが安心して使えるうえ、個人情報漏えいの危険性もシャットアウトできます。SSLを導入するWordPressサイトは、SEOでも有利になるため、迷わず導入するのがおすすめです。

WordPressサイト以外の「ホームページセキュリティ」に関しては、ホームページのWebセキュリティ対策|サイバー攻撃を防ぐ対策ポイントを解説!の記事でも詳しく解説しています。参考にしてください。

多岐に渡るネットセキュリティ対策は専門家に任せる方法も

脆弱性が取りざたされることの多いWordPressですが、決して危険なCMSというわけではありません。ただしWordPressに限らず、すべてのプログラムに脆弱性が潜んでいるのも事実。特に標的にされがちなWordPressサイトは、脆弱性のリスクを理解したうえで、万全の対策を施しておく必要があるでしょう。

とはいえ、ここまで解説してきた通り、Webサーバやネットワークも含めたWordPressのセキュリティ対策は多岐に渡ります。とても対応し切れないということであれば、専門家にセキュリティ対策を任せるのおすすめです。必要事項を入力する2分程度の手間で、優良なセキュリティ会社をスピーディーに探せます。複数の会社に無料で相談できるのもポイント。セキュリティ会社の選定に迷うようなことがあれば、是非利用してみてください。

付録:最新のWordPress脆弱性情報収集に役立つサイト

もちろん、WordPressの脆弱性や、セキュリティのノウハウ・知識を身に付けるため、自力で対策してみたいという方も少なくないでしょう。そんなときは、最新情報を収集すること、WordPressのセキュリティ状況をチェックすることがポイント。最後に、自身でWordPressのセキュリティ対策をしてみたい方に向け、お役立ちサイト・ツールを紹介しておきます。

JVN iPedia 脆弱性対策情報データベース

「JPCERTコーディネーションセンター」および「独立行政法人情報処理推進機構(IPA)」が共同で運用する、脆弱性対策情報データベース。WordPressのみならず、国内外で公開された脆弱性情報を検索できます。

JPCERT コーディネーションセンター

「JVN iPedia」を共同運用する「JPCERTコーディネーションセンター」が単独で提供している、脆弱性情報サービス。「JVN iPedia」と異なり、国内で発生したインシデント、脆弱性情報を公開しているのが特徴です。

付録:WordPressの脆弱性を診断できる無料ツール

SUCURI Sitecheck

Webサイトのモニタリング、インシデント対応などのセキュリティサービス企業「SUCURI」社が提供する、無料Webサイトセキュリティ診断ツール。アクセスして自社サイトのURLを入力するだけで、セキュリティ状況を簡単に診断できます。

KYUBI

株式会社レオンテクノロジー社が提供する、WordPress専用のセキュリティ診断サービスです。コアだけでなくテーマ・プラグインの脆弱性チェックも可能。URLを入力するだけの簡単操作もポイント。月1回の診断が可能な無料プランのほか、月5回までの「Pro」、無制限に利用できる「Admin」などの有料プランも利用できます。

ホームページ制作・デザインを一括見積もりで発注先を楽に探す
比較ビズへ掲載しませんか?

ホームページ制作・デザインの案件一覧

ホームページ制作・デザインのお見積り案件の一覧です。このような案件に対応したい場合は「資料請求フォーム」よりお問い合わせください。

一括見積もりで発注業務がラクラク!

  • 無料一括見積もりで募集開始
  • 複数の業者・専門家から提案が入る
  • ピッタリの一社を見つけよう

不透明な見積もりを可視化できる「比較ビズ」

比較ビズは「お仕事を依頼したい人と受けたい人を繋ぐ」ビジネスマッチングサービスです。
日本最大級の掲載企業・発注会員数を誇り、今年で運営15年目となります。
比較ビズでは失敗できない発注業務を全力で支援します。

日々の営業活動で
こんなお悩みはありませんか?

営業活動でよくある悩み

そのお悩み比較ビズが解決します!

詳しくはこちら
お電話での見積もりはこちら