WordPress RESTAPIへのアクセスを制限する
WordPress RESTAPIを制御する時が来ました
English version: Restrict access to the WordPress REST API
WP Cerber Securityを使用すると、デフォルトで有効になっているWordPress RESTAPIへのアクセスを制限または完全にブロックできます。保護を有効にするには、[強化]タブに移動し、次のいずれかを除いてWordPress RESTAPIへのアクセスをブロックするを有効にします。これにより、以下の設定フィールドでREST APIへのアクセスを許可するか、ホワイトIPアクセスリストにIPを追加しない限り、RESTAPIへのアクセスがブロックされます。
Contact Form 7、Jetpack、またはREST APIを使用する別のプラグインを使用する場合は、以下に説明するように、RESTAPI名前空間をホワイトリストに登録する必要があります。
特定のRESTAPI名前空間へのアクセスを許可する
REST API名前空間は、WordPressが特定のRESTAPIリクエストを処理するプログラムコードを認識できるようにするリクエストURLの一部です。名前空間を取得するには、 / wp-json /とRESTURLの次のスラッシュの間の文字列を取得します。 REST APIを利用するすべてのプラグインは、独自の名前空間を使用します。次の表は、いくつかのプラグインの名前空間を示しています。
プラグイン | 名前空間 |
お問い合わせフォーム7 | contact-form-7 |
カルデラフォーム | cf-api |
Yoast SEO | yoast |
ジェットパック | jetpack |
スクリーンショットに示されているように、必要に応じてRESTAPIの名前空間例外を指定します
ユーザーにRESTAPIの使用を許可する
許可された(ログインした)WordPressユーザーにREST APIの使用を制限なしで許可する場合は、[ログインしたユーザーにRESTAPIを許可する]を有効にします。
IPアドレスによってWordPressRESTAPIへのアクセスを制限する
特定のIPアドレスまたはIPネットワークからのRESTAPIへのアクセスを許可するには、それらをホワイトIPアクセスリストに追加します。
特定のIPアドレスまたはIPネットワークからのRESTAPIへのアクセスを完全にブロックするには、それらをブラックIPアクセスリストに追加します。
続きを読む: WordPressを保護するためのIPアクセスリストの使用
RESTAPIユーザー列挙を停止する方法
ユーザーのデータへのアクセスをブロックし、REST APIを介したユーザーの列挙を停止するには、[強化]タブの[RESTAPIを介したユーザーのデータへのアクセスのブロック]設定を有効にする必要があります。このセキュリティ機能は、ハッカーがサイトをスキャンしてユーザーのログイン情報や機密性の高いユーザーのデータを探すのを検出して防止するように設計されています。
有効にすると、CerberはREST APIへのすべてのリクエストをブロックし、HTTP403エラーを返します。このようなイベントは、[アクティビティ]タブで監視できます。それらは「RESTAPIへのリクエストが拒否されました」としてログに記録されます。
WordPress REST APIを介したユーザーのデータへのアクセスは、常に次の2つの場合に許可されます。
- 管理者アカウントの場合、つまり、REST APIを介した「ユーザー列挙の停止」が有効になっている場合、管理者の役割を持つすべてのユーザーは常にユーザーのデータにアクセスできます。
- ホワイトIPアクセスリストのすべてのIPアドレス
REST APIとは何ですか?
一言で言えば、これは2つの異なるコード(アプリケーション)が相互に通信し、標準化された方法でデータを交換できるようにするテクノロジーです。 REST APIを使用すると、開発者はリモートコンピューターまたはWebサイトで実行されている外部アプリケーションからWordPressコンテンツを作成、読み取り、更新できます。 WP REST APIは、WordPressバージョン4.7.0以降、デフォルトで有効になっています。
続きを読む: WP RESTAPIへのアクセスを制限することが重要な理由
開発者向けドキュメント: https://developer.wordpress.org/rest-api/
任意の数のWebサイトでRESTAPI設定をリモートで管理できることをご存知ですか?メインWebサイトでCerber.Hubマスターモードを有効にし、他のWebサイトでスレーブモードを有効にして、クリックするだけでWebサイトを切り替えることにより、1つのWordPressダッシュボードからすべてのWPCerber設定を管理します。
WordPressのセキュリティを強化する次のステップ
- スパムユーザー登録をブロックする方法
- スパムフォームの送信をブロックする方法
- WordPressユーザーをブロックする方法
- 特定のIPアドレスからのアクセスをブロックする方法
- 特定のユーザー名を使用して無効にする方法
とにかく、Cerber Securityとは何ですか?これはWordPressの完全なセキュリティソリューションであり、シンプルでありながら効果的なログイン試行制限プラグインから進化したものです。
OK. But how do I know whether a plugin uses the REST API so I have to add it to the namespace access-list?
1. From the documentation on a plugin.
2. Checking for REST API requests on the Live Traffic page: just click the small “REST API” button above the table.
3. If you know the REST API namespace that is used by a plugin you can search for requests by entering that REST API namespace on the Advanced search form in the “URL contains” field.
4. Disable REST API in the settings completely and check how the plugin works. If the plugin doesn’t work anymore, that means it uses REST API. To find out its namespace look for “Request to REST API denied” events the Activity page.
Mmm… thnx, but that does not really make me happy. I checked e.g. the contact form and that worked because the REST API works for the administrator. For me small blogger with 22 plugins operational this becomes a nuisance and a lot of time and work. Can’t this be done automatically eg by suggesting or something?
And while we are talking, why should I not permit /oembed/ as a permitted namespace? It seems to be used by a robot (and of course Cerber blocks it correctly 🙂 ).
For other questions I will use the support blog as I normally do.
Sorry for the kind of abuse of this blog. Won’t do it again.