fbpx

あなたのWordPressサイト、セキュリティは本当に「大丈夫」ですか? "デフォルト設定"に潜む、見落とされた5つの致命的リスク御社のWordPressのセキュリティは大丈夫?

/wp-admin/ と入力すれば分かるWordPressのセキュリティレベル

WordPressは世界で最も人気のあるコンテンツ管理システム(CMS)ですが、その人気ゆえに、サイバー攻撃者にとって最も魅力的な標的となっています。多くの企業が自社のWebサイトにWordPressを採用しながらも、そのセキュリティ対策については「制作会社に任せている」「よく分からない」あるいは「気にしていない」というのが実情ではないでしょうか。

そして、ホームページ制作会社は、技術レベルや見積もりコストを抑えるために、このようなセキュリティ対策を進んで提案しないことも多く、WordPressのサイトの多くがデフォルト設定で公開されています。

それを知らないことが、最も危険な脆弱性かもしれません。

まずは、ご自身のサイトの危険度を10秒でセルフチェックしてみてください。

今すぐ、あなたのWebブラウザのアドレスバーに、ご自身のサイトのドメイン(例:https://example.com)の後ろに、/wp-admin/ と入力してアクセスしてみてください。

いかがでしょうか。ユーザー名とパスワードを要求する、見慣れた「ログイン画面(wp-login.php)」が表示されませんでしたか?

もし表示されたなら、それはあなたのサイトの「管理画面の入り口」が、インターネットに接続する世界中のすべての人の目にさらされている、ということを意味します。これは例え話ではなく、「自社の金庫が置いてある部屋の住所と部屋番号を、大通りで大声で叫んでいる」のと同じ状態です。

攻撃者は、この「標準的な玄関」を探すため、自動化されたプログラム(ボット)を使い、常にインターネット全体をスキャンしています。あなたのサイトでログイン画面が見つかったという事実は、「まだ見つかっていない」ということではなく、「すでに攻撃対象のリストに登録されており、いつ本格的な侵入が試みられてもおかしくない」状態であることを示しています。

この記事では、WordPressの「デフォルト設定」がいかに危険であるか、そして専門家でなければ見落としてしまう「本当に深刻なリスク」を可視化することです。wp-login.php が見えてしまった方は、すでに最初の「リスク」に該当しており、この一番初歩の対策ができていないということは、後述している項目をおそらく危険に晒されています。

現在のセキュリティレベルを知るところからはじましょう。

リスク1:攻撃者への「招待状」〜デフォルト設定が漏らす内部情報〜

攻撃者は、ログイン画面という「ドア」を見つけただけでは満足しません。次に彼らは、そのドアをこじ開けるための「鍵」の情報を狙います。具体的には、「誰の鍵を狙うか(ユーザー名)」と、「ドアそのものの弱点(バージョン情報)」です。驚くべきことに、多くのWordPressサイトはこれらの重要情報をデフォルトで公開し続けています。

脅威A:ユーザー名の特定(ユーザー列挙)

攻撃の第一歩は、攻撃対象(ログインID)を特定することです。多くのサイトでは、これが驚くほど簡単に行えてしまいます。

例えば、サイトのURLの末尾に /?author=1 のような単純な文字列を加えてアクセスするだけで、管理者や投稿者の「ログインID(ユーザー名)」がブラウザのアドレスバーに露出してしまうケースがあります。

また、WordPressの標準機能である「REST API」は、外部サービスとの連携を容易にする便利な機能ですが、デフォルト設定のままでは、サイトに登録されている全ユーザーのリストを第三者が容易に取得できる状態になっている可能性があります。

これにより、攻撃者は「admin」や「test」といった初期設定で使われがちなIDだけでなく、あなたの本名や特定の管理者のログインIDをピンポイントで特定できます。これは、攻撃者にとって最も困難な「ユーザーIDとパスワードの組み合わせを当てる」という作業の難易度を、半分に下げることに他なりません。

脅威B:バージョン情報の漏洩

次に攻撃者が探すのは、あなたのサイトが使っているWordPressの「正確なバージョン」です。なにも対策をしていない初期状態のWordPressは、簡単にバージョン情報を知ることができます。

攻撃者は、このバージョン情報を世界中の脆弱性データベースと即座に照合します。もしあなたのサイトが古いバージョン(例えば、アップデートを怠っている)だった場合、そのバージョンに存在する「既知の脆弱性」をピンポイントで悪用し、サイトに侵入します。

この「ユーザー名」と「バージョン情報」の漏洩の組み合わせは、あなたが設定した「強力なパスワード」という防御策を、いとも簡単に無力化する可能性があります。

例えば、読者が非常に複雑なパスワードを設定しているとします。しかし、その「情報ファイル」 から古いWordPressバージョンが漏洩し、そのバージョンで脆弱性が報告されている「特定のプラグイン」(例えば2024年に発見された脆弱性)が使われていることを攻撃者が突き止めたとします。

もしその脆弱性が「認証不要(No Authentication Required)」であった場合、攻撃者はあなたのログイン画面を完全に無視し、脆弱なプラグインという「開いた窓」から直接サイトに侵入できます。あなたがどれほど強固な「玄関の鍵(パスワード)」をかけていても、バージョン情報が漏洩している時点で、その努力はセキュリティレベルとは無関係になるのです。

リスク2:無数の亡霊による総攻撃〜ブルートフォース攻撃の実態〜

ログイン画面(序章)とユーザー名(リスク1)が揃えば、攻撃者が次に行うのは「ブルートフォース攻撃(総当たり攻撃)」です。これは、特定のパスワードを延々と試行し続ける、単純かつ強力な攻撃です。

しかし、これを「一人のハッカーが手作業で行っている」と想像してはいけません。これは、世界規模で「産業化」された、自動化された「戦争」です。

米国政府のサイバーセキュリティ機関であるUS-CERTは、過去に「9万台以上のサーバー」からなるボットネット(マルウェアに感染したコンピュータ群)が、WordPressサイトの管理者パネル(/wp-admin/)に対して一斉にブルートフォース攻撃を仕掛けた、と公式に警告を発しています。

また、ある大手セキュリティ企業は、WordPress顧客に対する攻撃リクエストを「わずか1時間で6,000万件」ブロックしたと報告しています。あなたのサイトの「公開されたログイン画面」は、今この瞬間も、この「毎時6,000万回」の攻撃の的になっているのです。

この攻撃の真の恐ろしさは、侵入に失敗したとしても、あなたのサイトに甚大な「副作用」をもたらす点にあります。

毎秒数百回、あるいは数千回ものログイン試行は、あなたのサイトが稼働しているサーバーのリソース(CPU、メモリ)を瞬く間に使い果たします。

その結果、何が起こるでしょうか。あなたの正規の顧客がサイトにアクセスした際、サイトが極端に遅くなったり(sluggish)、最悪の場合はサーバーが応答しなくなったり(unresponsive)します。これは、顧客からの信頼とビジネスチャンスの双方を失う、致命的な機会損失です。

攻撃は、侵入に成功するか「サーバーが死ぬ(server dies)」まで続きます。

攻撃者にとって、あなたのサイトに侵入できれば「勝利」です。しかし、侵入に失敗しても、あなたのサイトが攻撃トラフィックによってダウンし、サービス停止(DoS)に陥れば、それは攻撃者にとって「副次的な勝利」となります。ログイン画面が公開されている時点で、あなたのビジネスは「侵入される」か「(攻撃によって)ダウンさせられる」かの、どちらに転んでも損害を被る二択を迫られているのです。

リスク3:最大の脆弱性供給源〜信頼している「プラグイン」という時限爆弾〜

多くの運用者は、WordPress本体(コア)の安全性は信頼しています。実際、WordPressコア自体のセキュリティは非常に強固です。

しかし、WordPressのセキュリティ侵害の「本当の原因」は、あなたが「利便性」のために追加した、無数の「サードパーティ製プラグイン」にあります。

衝撃的な統計があります。WordPressの脆弱性の約90%、ある調査によれば実に96%が、WordPress本体ではなく、サードパーティ製の「プラグイン」に起因しています。テーマ(外観)の脆弱性が残りを占め、本体(コア)の脆弱性はごくわずかです。

そして、WordPressを使用して構築するホームページ制作会社の多くは、便利なプラグインを活用し、その利用を報告しないことも多々あります。技術的な内容になるた、ほとんどのお客様がホームページ制作会社に一任することがほとんどだからです。

本当に怖いのは、制作して終わりで ホームページ運営にその制作会社が関与しなくなった時です。 プラグインのバージョンアップはトラブルになるために制作した時点のバージョンで放置されることが多いです。

この脅威は、静的なものではなく、日々「増加」し続けています。2024年、WordPressエコシステムでは7,966件の新たな脆弱性が発見されました。これは2023年比で34%の著しい増加です。これは、1日平均で「22件」もの新しいセキュリティホールが、世界中で発見され続けていることを意味します。

「人気で、多くの人が使っているプラグインだから安全だ」という神話は、もはや通用しません。攻撃者は無名なプラグインだけを狙うわけではありません。2024年、数百万のサイトで利用されている「LiteSpeed Cache」や「GiveWP」といった超人気プラグインにも、深刻な脆弱性が発見され、即座に悪用されました。

さらに、多くの運用者が陥る「停止中のプラグインの罠」があります。

「今は使っていないから、プラグインを『停止』に設定している。だから安全だ」と考えるのは、最も危険な誤解の一つです。プラグインを「停止」しても、そのプログラムファイルはサーバー上に「存在」し続けています。もしその停止中のプラグインに、認証なしでファイルをアップロードできるような脆弱性が存在した場合、攻撃者はその機能を悪用し、あなたのサイトにマルウェアを直接送り込むことが可能です。

この現実は、サイト管理者に「非現実的なセキュリティ管理責任」を負わせています。仮にあなたのサイトが30個のプラグインを使用している場合、あなたは自覚のないまま「30社の異なるソフトウェア開発会社のセキュリティ品質を、24時間365日体制で監視・評価する」という、大企業のセキュリティ専門チーム(SOC)のリーダーと同じ責任を負わされているのです。

1日に22件発見される脆弱性のうち、実に43%が「認証不要」で悪用できるものです。これは、あなたのパスワード強度やログイン画面の隠蔽努力とは「無関係」に侵入されることを意味します。あなたのサイトのセキュリティは、あなた自身ではなく、あなたがインストールした30のプラグインの「最もセキュリティ意識の低い開発者」の手に委ねられているのです。

リスク4:プロでなければ気づけない「隠れたバックドア」

ログイン画面やプラグイン以外にも、WordPressの「デフォルト設定」や、もはや使われていない「古い機能」が、攻撃者のための「隠れたバックドア」として機能し続けています。これらは専門家でなければ、その存在自体に気づくことすら困難です。

脅威A:XML-RPC 互換性のため残されたレガシーな攻撃経路

かつて古い携帯アプリや外部サービスから記事を投稿するために使われていた、XML-RPCというレガシーな機能があります。

現在ではその役目をREST APIに譲っていますが、過去のシステムとの互換性を保つために、今でも「デフォルトで有効」のまま残されています。

このファイルは、攻撃者にとって「ブルートフォース攻撃の特急レーン」です。通常のログイン画面(wp-login.php)が1回のリクエストで1つのパスワードしか試せないのに対し、このファイルは、「1回のリクエストで数千のパスワード」を同時に試すことができる機能(system.multicall)を持っています。もしあなたのサイトでこのファイルが有効な場合、通常の何百倍もの速度でパスワードが試され続けている可能性があります。また、DDoS攻撃の踏み台としても頻繁に悪用されています。

脅威B:wp_ デフォルトのデータベース接頭辞

WordPressは、記事、ユーザー情報、設定など、サイトのすべてのデータをデータベースに保存します。その際、各テーブル(データの格納庫)の先頭に「接頭辞」を付けます。デフォルトでは、これがすべて「wp_」に設定されています(例:wp_users, wp_posts)。

この「誰もが知るデフォルト設定」が、「SQLインジェクション」と組み合わさると、被害が致命的になります。SQLインジェクションとは、プラグインなどの脆弱性を突いてデータベースを不正に操作する攻撃です。

攻撃者がこの脆弱性を見つけた際、テーブル名が予測通りの wp_ であれば、何の苦労もなく「wp_users テーブルから全ユーザー情報を抜き出す」といった自動化された攻撃スクリプトを実行できます。接頭辞が初期設定のままであることは、攻撃者に「盗むべき情報」のありかを親切に教えているようなものです。

脅威C:内部からの乗っ取り

WordPressは「利便性」を重視するあまり、管理画面から直接、プラグインやテーマのプログラム(PHPコード)を編集できる機能(外観→テーマファイルエディタ)をデフォルトで提供しています。

もし攻撃者がリスク2(ブルートフォース攻撃)で管理者のパスワードを突破した場合、彼らが最初に向かうのが、この「ファイルエディタ」です。彼らはFTPアクセスなど面倒な手段を使う必要はありません。このエディタを使い、即座にマルウェアやバックドア(再侵入用の裏口)をサイトの根幹ファイルに埋め込み、サイトを完全に掌握します。

これらの「デフォルト設定」のリスクは、それぞれが独立しているのではなく、連鎖的に作用して被害を致命的に増大させる「脅威の増幅器」です。

例えば、以下のような最短の攻撃シナリオが成立します。

  1. (脅威A)古いレガシー機能 を悪用し、高速ブルートフォース攻撃を実行する。
  2. (リスク2)パスワードを突破し、管理画面に侵入する。
  3. (脅威C)デフォルトで有効な「ファイルエディタ」を使い、サイトのコアファイルにバックドアを埋め込む。
  4. (脅威B)デフォルトの wp_ 接頭辞を狙ったスクリプトを流し、wp_users テーブルから全顧客情報を窃取する。

デフォルト設定のままでは、サイトの完全な乗っ取りと顧客情報の全流出までが、このように「一直線の最短ルート」で繋がってしまっているのです。

リスク5:ハッキングがもたらす「ビジネスの死」

もし、あなたのサイトがこれまでのリスクによってハッキングされた場合、失うのはデータだけではありません。それは、あなたが築き上げてきたビジネスの「信用」と「未来」そのものです。

被害A:検索結果の汚染(SEOスパム)とブランド毀損

最も一般的で、かつビジネスに深刻なダメージを与える被害が「SEOスパム」です。

あなたのサイトが改ざんされ、違法な商品や詐欺サイトへのリンクが、あなたのサイトのページとして大量に生成されます。

その結果、何が起こるでしょうか。あなたの既存顧客や見込み客が、Googleであなたの会社名を検索した際、検索結果に「(あなたの会社名) - 激安ブランドコピー」や「(あなたの会社名) - 投資詐欺で稼ぐ」といった、ビジネスとは無関係で不快な文字列が表示されるようになります。

あるいは、あなたのサイトをクリックした訪問者が、強制的に詐欺サイトに転送(リダイレクト)されるようになります。これが、あなたの会社が長年かけて築き上げてきたブランド信用を、一瞬で失墜させる「デジタル上の不祥事」の瞬間です。

被害B:マルウェア配布の「加害者」になる

攻撃者は、あなたのサイトを「マルウェア(ウイルス)配布の踏み台」として利用します。

あなたのサイトを信頼して訪問した顧客のPCやスマートフォンが、あなたのサイトを経由してウイルスに感染します。この瞬間、あなたはもはや単なる「被害者」ではなく、自社の顧客を危険にさらす「加害者」になってしまうのです。

被害C:顧客情報と機密情報の全流出

リスク4で述べたように、データベースが攻撃されれば、あなたのサイトに登録されている「全顧客の個人情報(氏名、住所、メールアドレス、購入履歴)」が盗まれます。これは、企業のコンプライアンス違反や、場合によっては法的な責任問題に発展する、極めて深刻なデータ漏洩インシデントです。

被害D:悪夢のような復旧プロセス

一度ハッキングされると、その復旧は困難を極めます。攻撃者は、専門家でなければ見つけられないような巧妙な「バックドア」(再侵入用の裏口)を、サイトの奥深くに複数仕掛けています。

そのため、表面的なファイルを修復しても、数日後には再びサイトが改ざんされる、というイタチごっこが続くケースが後を絶ちません。

さらに、Googleによって一度「危険なサイト」としてブラックリストに登録されてしまうと、サイトをクリーンアップした後、その汚染された評価を修正してもらうまでに、数週間から数ヶ月の時間を要します。その間、あなたのサイトの検索順位は下がり続け、ビジネスは事実上の停止状態に追い込まれます。

ハッキングの本当のコストは、専門家への「復旧費用」という一度きりの支出ではありません。それは、Google検索と顧客からの「信頼」という無形資産の、永久的な損失なのです。

あなたのサイトは、専門家による「健康診断」が必要です

最後に、もう一度ご自身のサイトの状態をご確認ください。

  • wp-login.php が誰にでも見える状態だったでしょうか?
  • /?author=1 で、あなたのユーザー名が露出していませんか?

この記事で挙げたリスクのうち、一つでも「分からない」「気にしてなかった」という項目があったなら、あなたのサイトは今この瞬間も深刻なリスクにさらされています。

手遅れになり、ビジネスの信用(リスク5)を回復不可能なまでに失う前に、今すぐ、制作または管理しているホームページ会社かもしくは、当社に「セキュリティ診断」をご相談ください。

私たちは、長年にわたるWebサイト構築の知見を結集し、「WordPressセキュリティ対策」を行います。

あなたのサイトに潜む「見えないリスク」を、私たちが可視化しますのでお気軽にご相談ください。

カテゴリー: ウェブサイト運営

まずはウェブサイト運営の無料相談から始めませんか?

当社では、お客様のお悩みに最適なご提案ができるように無料相談を行なっております。
ぜひお気軽にご相談ください。

Web面談申し込み

ますはWebミーティングで状況をお聞かせください。

(TEL・メール・お打合せでも可)