Ограничить доступ к REST API WordPress
Пришло время взять под контроль WordPress REST API
English version: Restrict access to the WordPress REST API
WP Cerber Security позволяет ограничить или полностью заблокировать доступ к REST API WordPress, который включен по умолчанию. Чтобы включить защиту, перейдите на вкладку «Усиление защиты» и включите параметр «Блокировать доступ к REST API WordPress, кроме любого из следующих» . Это заблокирует доступ к REST API, если вы не предоставите ему доступ в полях настроек ниже или не добавите IP-адрес в белый список IP-адресов.
Если вы используете Contact Form 7, Jetpack или другой плагин, использующий REST API, вам необходимо добавить в белый список пространства имен REST API, как описано ниже.
Разрешить доступ к определенному пространству имен REST API.
Пространство имен REST API — это часть URL-адреса запроса, которая позволяет WordPress распознавать, какой программный код обрабатывает определенный запрос REST API. Чтобы получить пространство имен, возьмите строку между /wp-json/ и следующей косой чертой в URL-адресе REST. Обратите внимание, что каждый плагин, использующий REST API, использует свое собственное уникальное пространство имен. В таблице ниже показаны пространства имен некоторых плагинов.
| Плагин | Пространство имен |
| Форма обратной связи 7 | contact-form-7 |
| Формы Кальдеры | cf-api |
| Yoast SEO | yoast |
| Реактивный ранец | jetpack |
| Гравитационные формы | gf |
При необходимости укажите исключения для пространств имен REST API, как показано на скриншоте.
Разрешите вашим пользователям использовать REST API.
Включите параметр «Разрешить REST API для авторизованных пользователей», если вы хотите разрешить использование REST API любому авторизованному (вошедшему в систему) пользователю WordPress без ограничений.
Ограничить доступ к REST API WordPress по IP-адресам
Чтобы разрешить доступ к REST API с определенного IP-адреса или IP-сети, добавьте их в белый список разрешенных IP-адресов .
Чтобы полностью заблокировать доступ к REST API с определенного IP-адреса или IP-сети, добавьте их в черный список IP-адресов (Black IP Access List) .
Подробнее: Использование списков доступа по IP-адресам для защиты WordPress
Как остановить перечисление пользователей REST API
Чтобы заблокировать доступ к данным пользователей и предотвратить перечисление пользователей через REST API, необходимо включить параметр «Блокировать доступ к данным пользователей через REST API» на вкладке «Усиление безопасности». Эта функция безопасности предназначена для обнаружения и предотвращения сканирования вашего сайта хакерами на предмет учетных записей пользователей и конфиденциальных данных пользователей.
При включении этой функции Cerber блокирует все запросы к REST API и возвращает ошибку HTTP 403. Вы можете отслеживать такие события на вкладке «Активность». Они регистрируются как «Запрос к REST API отклонен».
Доступ к данным пользователей через WordPress REST API всегда предоставляется в двух случаях:
- Для учетных записей администраторов, то есть, если включена опция «Остановить перечисление пользователей» через REST API, все пользователи с ролью администратора всегда будут иметь доступ к данным пользователей.
- Для всех IP-адресов, включенных в белый список доступа к IP-адресам.
Что такое REST API?
В двух словах, это технология, которая позволяет двум разным фрагментам кода (приложениям) взаимодействовать друг с другом и обмениваться данными стандартизированным способом. Использование REST API позволяет разработчикам создавать, читать и обновлять контент WordPress из внешних приложений, работающих на удаленном компьютере или веб-сайте. WP REST API включен по умолчанию, начиная с версии WordPress 4.7.0.
Читайте также: Почему важно ограничить доступ к WP REST API
Документация для разработчиков: https://developer.wordpress.org/rest-api/
Знаете ли вы, что можно удаленно управлять настройками REST API на любом количестве веб-сайтов? Включите режим основного веб-сайта на главном сайте Cerber.Hub и режим управляемого веб-сайта на других ваших сайтах, чтобы управлять всеми экземплярами WP Cerber с одной панели управления.
Следующие шаги, которые укрепят безопасность вашего 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.