Ограничить доступ к WordPress REST API
Пришло время взять под свой контроль REST API WordPress.
English version: Restrict access to the WordPress REST API
WP Cerber Security позволяет ограничить или полностью заблокировать доступ к WordPress REST API, который включен по умолчанию. Чтобы включить защиту, перейдите на вкладку Hardening и включите Block access to WordPress REST API except any of following . Это заблокирует доступ к REST API, если вы не предоставите доступ к нему в полях настроек ниже или не добавите IP в White IP Access List.
Если вы используете 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 |
Йоаст SEO | yoast |
Реактивный ранец | jetpack |
Формы гравитации | gf |
Укажите исключения пространства имен для REST API, если это необходимо, как показано на снимке экрана.
Разрешите вашим пользователям использовать REST API
Включите параметр Разрешить REST API для вошедших в систему пользователей, если вы хотите разрешить использование REST API любому авторизованному (вошедшему в систему) пользователю WordPress без ограничений.
Ограничить доступ к WordPress REST API по 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, которое является развитием простого, но эффективного плагина ограничения попыток входа .
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.