Ограничить доступ к REST API WordPress
Пришло время взять под свой контроль REST API WordPress.
English version: Restrict access to the WordPress REST API
WP Cerber Security позволяет вам ограничить или полностью заблокировать доступ к WordPress REST API, который включен по умолчанию. Чтобы включить защиту, перейдите на вкладку «Укрепление безопасности» и включите «Блокировать доступ к WordPress REST API, за исключением любого из следующих действий» . Это блокирует доступ к REST API, если вы не предоставите к нему доступ в полях настроек ниже или не добавите IP-адрес в список доступа к белым IP-адресам.
Если вы используете контактную форму 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 |
Йост SEO | yoast |
Реактивный ранец | jetpack |
Укажите исключения пространства имен для REST API, если это необходимо, как показано на снимке экрана.
Разрешите вашим пользователям использовать REST API
Включите Разрешить REST API для вошедших в систему пользователей , если вы хотите разрешить использование REST API для любого авторизованного (вошедшего в систему) пользователя WordPress без ограничений.
Ограничить доступ к REST API WordPress по IP-адресам
Чтобы разрешить доступ к REST API с определенного IP-адреса или IP-сети, добавьте их в белый список доступа IP .
Чтобы полностью заблокировать доступ к REST API с определенного IP-адреса или IP-сети, добавьте их в черный список доступа IP .
Подробнее: Использование списков доступа 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, которое развилось из простого, но эффективного плагина ограничения попыток входа в систему .
HansR ( )
OK. But how do I know whether a plugin uses the REST API so I have to add it to the namespace access-list?
Gregory ( )
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.
HansR ( )
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.