本文へスキップ

WordPressの脆弱性とセキュリティ対策|個人ブログの点検チェックリストと乗っ取りの確認方法【2026年】

2026年の秋は、WordPressを運営している人にとって落ち着かない日が続いています。9月下旬には、ログインしていない訪問者が攻撃の起点になりうる問題を直したWordPress 7.1.2が、10月6日には7件のセキュリティ修正を含む7.1.3が公開されました。さらに10月21日には、WordPressを動かしているPHPそのものに重大な脆弱性(php2shell)が見つかっています。

「うちは小さな個人ブログだから狙われない」と思うかもしれません。でも攻撃の多くは、人が一つずつサイトを選んでいるのではなく、プログラムが脆弱なサイトを機械的に探して回っています。規模は関係ありません。

この記事では、個人でWordPressブログを運営している人が、平時に点検しておきたい項目と、乗っ取られていないかの確かめ方、乗っ取られたときの対応をまとめます。

※この記事の情報は 2026年10月22日時点 のものです。

先に結論:点検チェックリスト

点検する項目やること見る場所
WordPress本体最新版(10月22日時点では7.1.3)になっているかダッシュボード →「更新」
プラグイン・テーマすべて最新か。使っていないものは削除したか「プラグイン」「外観 → テーマ」
PHP修正版になっているか「ツール → サイトヘルス → 情報 → サーバー」
管理者アカウント推測されにくいユーザー名と、使い回していないパスワードか。不要なアカウントはないか「ユーザー」
ログイン画面2段階認証、ログイン試行の制限、ログインURLの変更をしているかセキュリティプラグインの設定
WAFサーバーのWAFを有効にしているかレンタルサーバーの管理画面
バックアップ自動で取れているか。戻し方を知っているかサーバーの管理画面、バックアッププラグイン

おおむね優先度の高い順に並べています。設定が済んでいる項目は確認するだけなので、ふだん管理画面に触れている人なら、まとめて点検しても大きな手間にはなりません。

WordPressの「脆弱性」はどこにあるのか

ひと口に「WordPressの脆弱性」と言っても、穴が見つかる場所は大きく3つに分かれます。

1つ目はWordPress本体です。今回の7.1.2や7.1.3がこれにあたります。本体の修正は、公式が速やかに出してくれます。

2つ目はプラグインとテーマです。報告される脆弱性の大半はここに集中しています。作者が個人のことも多く、修正が遅れたり、更新が止まったまま放置されたりするものもあります。

3つ目はPHPやサーバーです。今回のphp2shellがこれで、WordPressをいくら更新しても直りません。レンタルサーバーなら、サーバー会社が対応します。

つまり、対策の基本は「3つの場所を、それぞれ最新に保つこと」です。

点検1:本体・プラグイン・テーマを最新に保つ

本体の自動更新を止めていないか

WordPressは初期設定のまま、セキュリティ修正を含むマイナーアップデート(7.1.2 → 7.1.3のような更新)を自動で入れてくれます。7.1.3の修正は、4.7以降のすべての系統にさかのぼって提供されています。ただし、公式がきちんと保守しているのは最新の系統だけです。古い系統のまま使い続けず、7.0や7.1のような大きな更新(メジャーアップデート)も、バックアップを取ったうえで早めに入れておきましょう。

表示が崩れるのを嫌って、自動更新を止めている人もいるかもしれません。その場合は、更新の通知が来たら自分ですぐに入れる習慣をつけてください。止めたまま放置するのが、いちばん危険です。

プラグインの自動更新を設定する

プラグインは、一覧画面の右端にある「自動更新を有効化」から、1つずつ自動更新にできます。表示に関わる大きなプラグインは手動にし、それ以外は自動にする、という分け方が現実的です。

使っていないプラグイン・テーマは「削除」する

無効化しただけのプラグインやテーマも、ファイルはサーバーに残っています。中身に穴があれば、外から直接狙われることがあります。使っていないものは、無効化ではなく削除してください。テーマは、使っているテーマと、予備の公式テーマを1つ残せば十分です。

更新が止まったプラグインに注意する

プラグインの詳細画面で「最終更新」が何年も前になっているものや、WordPress.orgの公式ディレクトリから消えたものは、作者が保守をやめている可能性があります。脆弱性が見つかっても直されないので、代わりのプラグインへの乗り換えを検討しましょう。

点検2:PHPのバージョンを確認する

WordPressの管理画面の「ツール」→「サイトヘルス」→「情報」タブ →「サーバー」で、実際に動いているPHPのバージョンが分かります。

2026年10月21日に見つかったPHPの脆弱性への対応と、確認のしかたについては、「PHPの脆弱性(php2shell)で何が起きた?」で詳しくまとめています。

点検3:管理者アカウントを見直す

ユーザー名が推測されていないか

ログイン画面を狙う攻撃は、ユーザー名とパスワードの組み合わせを大量に試してきます。ユーザー名が「admin」や、ブログの名前・ドメイン名そのものだと、半分当てられたのと同じです。

さらにWordPressは、何も対策しないと、ユーザー名が外から分かってしまうことがあります。たとえば、サイトのURLの後ろに「?author=1」と付けて開くと、投稿者のアーカイブページに移動し、URLにユーザー名が出ることがあります。REST APIという外部連携の仕組みからも、同じように調べられる場合があります。セキュリティプラグインには、これを防ぐ機能を持つものがあります。

ユーザー名そのものは、WordPressの画面からは変えられません。変えたい場合は、新しいユーザー名で管理者アカウントを作り、記事の投稿者をそちらに移してから、古いアカウントを削除します。

パスワードを使い回していないか

管理者のパスワードは、ほかのサービスと使い回していない、長くて推測されにくいものにしてください。ほかのサービスから漏れたパスワードが、そのまま試されることがあるからです。

不要なアカウントや「アプリケーションパスワード」が残っていないか

昔、外注のライターさんや手伝いの人に作ったアカウントが残っていたら、削除するか、権限を必要最小限に下げます。

また、ユーザーのプロフィール画面の下にある「アプリケーションパスワード」は、外部のツールからWordPressを操作するための専用のパスワードです。使っていないものが残っていたら取り消しておきましょう。

点検4:ログイン画面を守る

ログイン画面は、攻撃がいちばん集中する場所です。次の4つをやっておくと、守りが大きく固くなります。

対策効果
2段階認証パスワードが知られても、スマホのアプリなどで確認しないとログインできなくなる
ログイン試行の制限何度も間違えた接続元を一定時間締め出し、総当たり攻撃を防ぐ
ログインURLの変更初期の「/wp-login.php」を別のURLにして、機械的な攻撃の的から外す
XML-RPCの無効化古い外部連携の仕組み(xmlrpc.php)を経由した、パスワードの総当たりを防ぐ

2段階認証以外は、セキュリティプラグインを1つ入れれば、まとめて設定できます。XML-RPCは、スマホアプリからの投稿やJetpackなど、一部の外部連携で使われています。使っている人は、無効にする前に確認してください。

ログインURLを変えたら、新しいURLは必ずブックマークしておきましょう。忘れてしまった場合は、FTPやサーバーのファイルマネージャーでセキュリティプラグインのフォルダ名を一時的に変えると、プラグインが止まって元のログイン画面に戻れます。

2段階認証は、WordPressのコア開発に関わるメンバーが開発している「Two Factor」プラグインなどで追加できます。

点検5:サーバーのWAFを有効にする

WAF(Webアプリケーションファイアウォール)は、サイトに届く通信の中から、攻撃らしいものを見分けて止める仕組みです。多くのレンタルサーバーで、管理画面から無料で有効にできます。

WAFを入れると、まれに普通の操作(記事の保存など)まで攻撃と間違えて止めてしまうことがあります。そのときは、サーバーの管理画面でWAFのログを見て、該当する項目だけを除外する設定にします。WAFそのものを切ってしまうのは避けましょう。

ただしWAFは、あくまで「つなぎ」の守りです。本体やプラグインの更新の代わりにはなりません。

点検6:バックアップを取り、戻し方を確かめる

どれだけ守っても、乗っ取られる可能性はゼロになりません。最後の砦がバックアップです。

多くのレンタルサーバーは、自動でバックアップを取っています。それに加えて、バックアッププラグインで、サーバーとは別の場所(クラウドストレージなど)にも保存しておくと安心です。

大事なのは、一度は戻し方を確かめておくことです。いざというときに戻せないバックアップは、ないのと同じです。

セキュリティプラグインは何を入れればいい?

個人ブログで代表的なのは、次の2つです。

プラグイン特徴
SiteGuard WP Plugin国産で、画面がすべて日本語。ログインURLの変更、画像認証、ログイン試行の制限、ログインの通知、XML-RPCの防御、ユーザー名が外に分かるのを防ぐ機能などがそろっている。2段階認証の機能はない
Wordfence Security海外製で高機能。独自のファイアウォールやファイルの改ざん検知まである。そのぶん画面は英語中心で、サーバーの負荷が増えることもある

迷ったら、まずSiteGuard WP Pluginとサーバーの WAF の組み合わせで十分です。SiteGuardには2段階認証の機能がないので、必要ならTwo Factorなどを足します。

注意したいのは、セキュリティプラグインを何個も入れないことです。機能がぶつかって、ログインできなくなったり、表示が崩れたりする原因になります。役割の重ならない組み合わせで、必要なものだけを入れましょう。

乗っ取られていないかの確認方法

点検が済んだら、すでに乗っ取られていないかも確かめておきましょう。次のような症状があれば要注意です。

  • 知らない管理者アカウントが増えている
  • 身に覚えのない時間や場所からログインされた記録がある(SiteGuardなら「ログインアラート」のメールや「ログイン履歴」で確認できる)
  • 書いた覚えのない記事や、記事の中に見覚えのないリンクがある
  • 自分のサイトを開くと、別のサイトに飛ばされる(スマホから開いたときや、検索結果から入ったときだけ飛ばされることもある)
  • Google Search Consoleの「セキュリティの問題」に警告が出ている、または検索結果に「このサイトはハッキングされている可能性があります」と表示される
  • サーバー会社から、不正なファイルや大量のメール送信についての連絡が来た
  • wp-content/uploads の中に、画像ではなくPHPファイルがある

別のサイトに飛ばされる症状は、管理者がログインしている状態では出ないように細工されていることがあります。確かめるときは、ログアウトした状態や、スマホのシークレットモードで開いてみてください。

乗っ取られたときの対応

乗っ取りが疑われたら、次の順番で対応します。

  1. 被害を広げない。 メンテナンスモードにするか、サーバーの管理画面でサイトを一時的に止めます
  2. パスワードをすべて変える。 WordPressの全ユーザー、サーバーの管理画面、FTP、データベースのパスワードを変えます
  3. きれいな状態に戻す。 乗っ取られる前のバックアップから戻すのがいちばん確実です。戻せない場合は、本体・プラグイン・テーマを入れ直し、不審なファイルを取り除きます
  4. 原因を塞ぐ。 本体・プラグイン・テーマ・PHPをすべて最新にし、この記事の点検をやり直します。原因を塞がないと、同じ穴からまた入られます
  5. Googleに知らせる。 Search Consoleに警告が出ていた場合は、修正後に「審査をリクエスト」します

自分だけで原因がつかめないときや、お問い合わせフォームなどで個人情報を預かっているサイトの場合は、無理をせず、サーバー会社や専門の業者に相談してください。

健楽ひろばの設定

このブログ(健楽ひろば)は、ConoHa WINGでWordPressを運営しています。サーバー側ではConoHa WINGのWAFを有効(ON)にし、WordPress側ではSiteGuard WP Pluginを入れています。

SiteGuard WP Pluginの設定状況の画面。ログインページ変更や画像認証、ユーザー名漏えい防御などが有効になっている

SiteGuardで有効にしている機能は、次のとおりです。

機能設定役割
ログインページ変更有効ログインURLを初期の「/wp-login.php」から変える
画像認証有効ログインやコメントの投稿に、ひらがなの画像認証を付ける
ログイン詳細エラーメッセージの無効化有効「ユーザー名が違う」「パスワードが違う」を区別して表示しないようにする
ログインロック有効ログインに何度も失敗した接続元を一定時間締め出す
ログインアラート有効ログインがあるたびにメールで知らせる
XML-RPC防御有効xmlrpc.phpを経由した攻撃を防ぐ
ユーザー名漏えい防御有効ユーザー名が外から分かるのを防ぐ
更新通知有効本体・プラグイン・テーマの更新が必要になるとメールで知らせる
管理ページアクセス制限無効ログインしていない接続元から管理画面のディレクトリを守る
フェールワンス無効正しく入力しても、わざと1回ログインを失敗させる
WAFチューニングサポート無効SiteGuardのサーバー向けWAFの除外ルールを作る

WordPress本体は7.1.3で、自動更新は「新しいバージョンごとに自動的に最新の状態に保つ」設定です。マイナーアップデートだけでなく、メジャーアップデートも自動で入ります。プラグインとテーマも、すべて最新版でした。

WordPressの更新画面。現在のバージョンは7.1.3で、プラグインとテーマもすべて最新版になっている

点検して見つかった3つの穴

この記事のチェックリストで自分のブログを点検したところ、穴が3つ見つかりました。

1つ目は、SiteGuardの「ユーザー名漏えい防御」がオフになっていたことです。これはすぐにオンにしました。オンにしたあとも、記事の表示や、外部ツールからREST APIで記事を編集する作業に問題は出ていません。

2つ目は、2段階認証を設定していなかったことです。ログイン画面にはSiteGuardの画像認証(毎回ひらがな4文字を入力するもの)を付けているので、プログラムによる機械的な総当たりはかなり防げています。ただ、画像認証は「人間かどうか」を確かめる仕組みで、パスワードそのものが知られてしまった場合の守りにはなりません。2段階認証とは役割が違うので、SiteGuardとは別のプラグインで足す必要があります。

3つ目は、バックアップの取り方と戻し方を忘れていたことです。テーマを自作したときに、記事データの書き出しやファイルの控えは取っていましたが、サイトまるごとのバックアップがどこにあるのかは把握していませんでした。しかも本体はメジャーアップデートまで自動で入る設定なので、戻す手段を知らないのは危ない状態です。

確認してみると、ConoHa WINGでは自動バックアップが毎日取られていました。コントロールパネルの「サーバー管理」→「自動バックアップ」で、日付ごとに「Web(ファイル)」「Mail」「DB(データベース)」の3種類が並び、それぞれ「リストア可」になっています。

ConoHa WINGの自動バックアップの画面。日付ごとにWeb・Mail・DBのバックアップがリストア可能になっている

WordPressは、画像やテーマなどのファイル(Web)と、記事や設定が入ったデータベース(DB)の2つで動いています。戻すときは、WebとDBを同じ日付のもので戻すのが基本です。片方だけ戻すと、記事と画像が食い違うことがあります。

「もっと見る」を押すと、10月8日から21日まで、14日分がさかのぼれました。逆に言えば、15日以上前の状態には戻せません。乗っ取りに気づくのが遅れて、入り込まれたのが2週間より前だった場合、残っているバックアップはすべて乗っ取られたあとのもの、ということになります。

試しに「リストア可」を押してみると、「この操作は取り消せません」という確認が出ました。ただ、リストア履歴の「保存先」の説明を読むと、リストアしても今のサイトがいきなり上書きされるわけではありません。Webは新しいディレクトリ、メールは同じメールアドレスの中の新しいフォルダ、DBは新しいデータベースが作られ、そこに復元したデータが保存される仕組みです。

つまり、実際にサイトを元に戻すには、復元されたファイルを今のファイルと入れ替え、WordPressの設定ファイル(wp-config.php)が読むデータベースを、復元された新しいデータベースに切り替える、という作業が自分で必要になります。戻すボタンを押せば終わり、ではない点は知っておく必要があります。

また、Webとメールの復元ファイルは24時間で自動的に削除されます。この24時間のうちにファイルマネージャーやFTPでダウンロードすれば、サーバーとは別の場所に控えを持つこともできます。

サーバーとは別の場所への保存は、方法を確かめるところまでで、今のところ定期的には取っていません。14日分の自動バックアップで当面は足りると判断しましたが、2週間より前の状態には戻せない、という弱点は残っています。

普段から気をつけているつもりでも、点検してみると穴は見つかります。このチェックリストは、一度通して確認してみるだけでも意味があります。

よくある質問

WordPressは、無料ブログサービスより危ないのですか?

自分でサーバーにWordPressを入れる場合、更新やセキュリティの管理を自分でする必要があります。その手間を怠ると危なくなる、というのが正確なところです。点検をしていれば、過度に心配する必要はありません。

WordPress.comのように、運営会社が本体やサーバーの管理まで引き受けるサービスでは、利用者がやることはパスワードと2段階認証の管理が中心になります。

セキュリティプラグインを入れれば安心ですか?

入れるだけでは不十分です。セキュリティプラグインは主にログイン画面を守るもので、プラグインやテーマ、PHPの穴は塞げません。更新とバックアップと組み合わせて、初めて効果があります。

自作テーマや、配布されているテーマは危なくないですか?

テーマも、作り方によっては穴になります。特に、長く更新されていない配布テーマには注意が必要です。自作する場合は、画面に出す値を必ずエスケープする、フォームの送信に確認用の値(nonce)を付けるなど、WordPressの基本的な作法を守ることが大切です。

自動更新でサイトが壊れたらどうすればいいですか?

更新のあとに画面が真っ白になったり、エラーが出たりした場合は、WordPressから管理者あてに「リカバリーモード」の案内メールが届くことがあります。そこから原因のプラグインを止められます。それでも直らなければ、バックアップから戻します。壊れるのが怖いからといって更新を止めるより、バックアップを用意したうえで更新を続けるほうが安全です。

まとめ:狙われる前提で、穴を減らしておく

個人ブログでも、攻撃は機械的にやってきます。大事なのは、完璧を目指すことではなく、狙われやすい穴を減らしておくことです。

  • 本体・プラグイン・テーマ・PHPを最新に保ち、使っていないものは削除する
  • 管理者アカウントとログイン画面を固める(推測されにくいユーザー名、使い回さないパスワード、2段階認証)
  • WAFを有効にし、バックアップの戻し方を一度確かめておく

使っている人に向けた情報漏洩の対策は、「情報漏洩の確認方法と、漏れたときにやること」にまとめています。

参考情報

コメントを書く

メールアドレスが公開されることはありません。お名前とメールアドレスは入力が必要です。

CAPTCHA


メニュー

カテゴリ

よく読まれている記事

最近の記事

トップページへ