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