WordPressのREST APIを無効化する前に確認するべきことは、現在のサイトでREST APIを使っている機能です。REST APIは外部からWordPressのデータへアクセスする仕組みですが、攻撃専用の入口ではありません。ブロックエディター、管理画面の一部、プラグイン、アプリ連携、サイト表示の部品が利用している場合があります。
セキュリティ対策として大切なのは、必要なREST APIまで一括で止めることではなく、不要な公開範囲を減らし、WordPress本体・プラグイン・テーマを更新し、認証が必要な操作を守ることです。
最初の結論:REST APIは「全部止める」より「必要な範囲だけ守る」
REST APIが心配なときの結論は、まず全停止ではなく「匿名で見えてよい情報」と「ログインユーザーだけが使う操作」を分けることです。WordPress REST API Handbookでも、REST APIを無効化するとWordPress管理機能が壊れる可能性があり、必要なら認証を要求する方法を検討すると説明されています。
初心者が迷いやすいのは、REST APIという名前だけで危険な機能だと思ってしまう点です。実際には、ブロックエディター、プラグイン、テーマ、アプリ連携がREST APIを使うことがあります。止める前に、現在のサイトで使っている機能を確認しないと、セキュリティ対策のつもりで編集画面や表示部品を壊すことがあります。
具体例:止めると困りやすい機能
REST APIを一括で止めたあとに起きやすいのは、投稿編集画面の保存が不安定になる、プラグインの管理画面が読み込まれない、フォームや会員機能の連携が動かない、外部サービスとの連携が切れる、といった症状です。特にセキュリティ系プラグイン、サイトマップ系プラグイン、ブロック追加系プラグインは、管理画面内でREST APIを使っていることがあります。
| 確認する機能 | REST API停止で起きること | 先に見る場所 |
|---|---|---|
| ブロックエディター | 保存やプレビューが不安定になる | 投稿編集画面 |
| フォーム・会員機能 | 送信やログイン連携が失敗する | プラグイン設定 |
| 外部アプリ連携 | 投稿取得や更新ができない | 連携サービス設定 |
| 公開RESTエンドポイント | 不要な情報が見える可能性がある | /wp-json/ の表示内容 |
初心者向けの安全な確認手順
-
ブラウザで
/wp-json/を開き、何が公開されているか見る - セキュリティプラグインのREST API制限設定を確認する
- 本番ではなくステージングや低アクセス時間帯で試す
- 投稿保存、フォーム送信、ログイン、検索、サイトマップ生成を確認する
- 問題が出たら全停止ではなく、匿名アクセスだけ制限する設定へ戻す
wp2shellのような話題で不安になった場合も、REST APIだけを止めれば安全とは限りません。WordPress本体、プラグイン、テーマの更新、不要プラグインの削除、管理者アカウントの見直し、WAFやログ監視まで含めて確認する方が現実的です。
REST APIを止めると起きやすい影響
| 影響する場所 | 起きること | 確認方法 |
|---|---|---|
| ブロックエディター | 投稿編集画面の保存やプレビューが不安定になる | 新規投稿で下書き保存を試す |
| フォーム・会員系プラグイン | 送信、検索、ログイン補助が動かない | プラグインの公式説明でREST API利用を確認する |
| 外部ツール連携 | アプリ投稿や分析連携が止まる | 連携先の設定画面でエラーを確認する |
| 独自テーマ | 記事一覧や検索部品が表示されない | テーマのJavaScriptエラーを見る |
無効化より先にやるセキュリティ対策
REST APIが不安だからといって、最初に全停止へ進むのはおすすめしません。まずWordPress本体、プラグイン、テーマを最新にし、不要なユーザーや管理者権限を減らし、ログイン通知や二段階認証を整える方が、壊しにくい対策になります。
REST APIの公開情報が気になる場合は、ユーザー一覧の露出、不要なエンドポイント、認証なしで取れる情報を確認します。制限する場合も、全体ではなく不要な範囲だけに絞るのが現実的です。
制限する前のテスト手順
- 本番ではなくステージングや低アクセス時間帯で試す
- 投稿の下書き保存、画像アップロード、プレビューを確認する
- 問い合わせフォームや検索フォームを送信する
- 管理画面のサイトヘルスとブラウザのコンソールエラーを見る
- 問題があればすぐ戻せるよう、制限方法と戻し方をメモする
全部止めたら安心、じゃないんですね。
私、ボタン一つで強そうな設定を入れたくなってました。
強い設定ほど、必要な機能も巻き込みやすいんだ。
セキュリティは「強ければ正解」じゃなくて「壊さず守れる」が大事だよ。
じゃあ、まず更新とユーザー権限を見て、それでも必要なら範囲を絞る感じですね。
その進め方なら安全だね。
REST APIは敵ではなく、使い方と公開範囲を見る対象として扱おう。
止めるべきケースと止めない方がよいケース
| ケース | 判断 | 理由 |
|---|---|---|
| 使っていない外部公開エンドポイントだけがある | 個別制限を検討 | 不要な情報露出を減らせる |
| ブロックエディターを使っている | 全停止は避ける | 投稿編集に影響する可能性がある |
| 会員サイトやフォーム連携がある | 事前検証が必須 | ログインや送信が壊れることがある |
| 脆弱性ニュースを見て不安になっただけ | まず更新とログ確認 | 原因と対策が一致していない可能性がある |
よくある質問
REST APIは無効化した方が安全ですか?
一律ではありません。必要な機能が使っている場合があるため、全停止より更新、権限管理、不要範囲の制限を優先します。
REST APIを止めると投稿画面に影響しますか?
環境によって影響します。ブロックエディターやプラグインがREST APIを使うことがあるため、事前テストが必要です。
wp2shell対策としてREST APIを止めれば十分ですか?
十分とは限りません。対象バージョンならWordPress本体の修正版へ更新し、改ざんや管理者追加の有無も確認します。
REST APIは止める前に影響を確認する
不安なときほど、まず更新、権限、ログ、必要な連携を確認してください。REST APIの制限は最後に範囲を決めて行うと、サイトを壊さず安全性を上げやすくなります。