ドキュメント / Sentinel Security / 機能

API保護

API保護

API保護は、WordPress REST API および XML-RPC のセキュリティを強化する機能群です。不要なエンドポイントの無効化、レート制限、ユーザー列挙防止を管理画面から設定できます。

なぜAPI保護が重要なのか

REST API 診断で問題が検出された場合、そのまま放置するとセキュリティリスクになります。しかし REST API を完全に無効化すると、Gutenberg エディタやプラグインの動作に支障が出ます。

API保護は、必要なAPIは残しつつ、危険なエンドポイントだけを選択的にブロックするアプローチです。

機能一覧

1. エンドポイント制御

個別のREST APIエンドポイントの有効/無効を設定できます。

保護対象説明デフォルト
/wp/v2/usersユーザー一覧の取得をブロックブロック
/wp/v2/users/meログインユーザー自身の情報許可
?author=NAuthor IDによるユーザー列挙ブロック
oEmbed AuthoroEmbedレスポンスの著者名削除

2. XML-RPC 制御

設定説明デフォルト
XML-RPC 完全無効化xmlrpc.php へのアクセスを遮断有効(推奨)
Pingback 無効化pingback.ping メソッドのみ無効有効
アプリケーションパスワードREST API のアプリケーションパスワード無効化

3. レート制限

APIエンドポイントへのリクエスト数を制限し、API経由の自動化された攻撃を防止します。

設定項目説明デフォルト
最大リクエスト数時間枠あたりの最大リクエスト60回/分
ブロック時間レート超過時のブロック時間5分
除外パスレート制限から除外するパス/wp/v2/posts(管理画面用)

設定方法

  1. SentinelSecurityREST APIAPI保護 を開きます
  2. 各保護項目のトグルスイッチで有効/無効を切り替えます
  3. レート制限のパラメータを設定します
  4. 保存 をクリックします

ユーザー列挙防止の仕組み

ユーザー列挙防止は複数の経路を同時に保護します。

列挙手法対策
/wp/v2/usersエンドポイント自体をブロック
?author=1, ?author=2...Author Archives リダイレクトを無効化
oEmbedレスポンスから author 名を削除
RSS Feedfeed からの author 情報を削除
これにより、攻撃者がユーザー名を特定することが困難になり、ブルートフォース攻撃の実効性が大幅に低下します。

Gutenberg・プラグインとの互換性

API保護を有効にしても、認証済みユーザー(ログイン済み管理者など) からのAPIリクエストは制限されません。

  • Gutenberg エディタ: 正常動作(認証済みリクエストは許可)
  • WooCommerce REST API: 正常動作(認証付きリクエスト)
  • Contact Form 7: 正常動作
  • Jetpack: XML-RPC を無効化した場合、一部機能に制限あり

注意事項

  • XML-RPC を使用するアプリケーション(旧式のモバイルアプリなど)がある場合は、XML-RPC の無効化を慎重に検討してください
  • レート制限は、正当な大量APIリクエスト(一括インポートなど)にも適用されます。一時的に解除が必要な場合は設定で調整してください