Restreindre l'accès à l'API REST de WordPress
Il est temps de prendre le contrôle de l'API REST de WordPress
English version: Restrict access to the WordPress REST API
WP Cerber Security vous permet de restreindre ou de bloquer complètement l'accès à l'API REST de WordPress, qui est activée par défaut. Pour activer la protection, accédez à l'onglet Renforcement et activez Bloquer l'accès à l'API REST de WordPress, à l'exception de l'un des éléments suivants . Cela bloque l'accès à l'API REST, sauf si vous lui accordez l'accès dans les champs de paramètres ci-dessous ou si vous ajoutez une adresse IP à la liste d'accès des adresses IP blanches.
Si vous utilisez Contact Form 7, Jetpack ou un autre plugin qui utilise l'API REST, vous devez ajouter à la liste blanche ses espaces de noms API REST comme décrit ci-dessous.
Autoriser l'accès à un espace de noms d'API REST spécifique
Un espace de noms d'API REST est une partie d'une URL de requête qui permet à WordPress de reconnaître quel code de programme traite une certaine requête d'API REST. Pour obtenir l'espace de noms, prenez une chaîne entre /wp-json/ et la barre oblique suivante dans l'URL REST. Chaque plugin qui utilise l'API REST utilise son propre espace de noms unique. Le tableau ci-dessous présente les espaces de noms de certains plugins.
Plugin | Espace de noms |
Formulaire de contact 7 | contact-form-7 |
Formes de la caldeira | cf-api |
Yoast SEO | yoast |
Jetpack | jetpack |
Spécifiez les exceptions d'espace de noms pour l'API REST si nécessaire, comme indiqué sur la capture d'écran
Autorisez vos utilisateurs à utiliser l'API REST
Activez Autoriser l'API REST pour les utilisateurs connectés si vous souhaitez autoriser l'utilisation de l'API REST pour tout utilisateur WordPress autorisé (connecté) sans limitation.
Restreindre l'accès à l'API REST de WordPress par adresses IP
Pour autoriser l'accès à l'API REST à partir d'une adresse IP spécifique ou d'un réseau IP, ajoutez-les à la liste d'accès IP blanche .
Pour bloquer complètement l'accès à l'API REST à partir d'une adresse IP spécifique ou d'un réseau IP, ajoutez-les à la liste d'accès IP noire .
En savoir plus : Utiliser les listes d'accès IP pour protéger WordPress
Comment arrêter l'énumération des utilisateurs de l'API REST
Pour bloquer l'accès aux données des utilisateurs et arrêter l'énumération des utilisateurs via l'API REST, vous devez activer le paramètre Bloquer l'accès aux données des utilisateurs via l'API REST dans l'onglet Renforcement. Cette fonctionnalité de sécurité est conçue pour détecter et empêcher les pirates d'analyser votre site à la recherche des identifiants des utilisateurs et des données sensibles des utilisateurs.
Lorsque cette option est activée, Cerber bloque toutes les requêtes adressées à l'API REST et renvoie une erreur HTTP 403. Vous pouvez surveiller ces événements dans l'onglet Activité. Ils sont enregistrés comme « Requête refusée à l'API REST ».
L'accès aux données des utilisateurs via l'API REST de WordPress est toujours accordé dans deux cas :
- Pour les comptes administrateurs, ce qui signifie que si « Arrêter l'énumération des utilisateurs » via l'API REST est activé, tous les utilisateurs ayant le rôle d'administrateur ont toujours accès aux données des utilisateurs
- Pour toutes les adresses IP de la liste d'accès IP blanche
Qu'est-ce que l'API REST ?
En un mot, il s'agit d'une technologie qui permet à deux morceaux de code différents (applications) de communiquer entre eux et d'échanger des données de manière standardisée. L'utilisation de l'API REST permet aux développeurs de créer, de lire et de mettre à jour le contenu WordPress à partir d'applications externes exécutées sur un ordinateur distant ou un site Web. L'API REST de WP est activée par défaut à partir de la version 4.7.0 de WordPress.
En savoir plus : Pourquoi il est important de restreindre l'accès à l'API REST WP
Documentation pour les développeurs : https://developer.wordpress.org/rest-api/
Saviez-vous que vous pouvez gérer les paramètres de l'API REST sur un nombre illimité de sites Web à distance ? Activez un mode de site Web principal sur le site Web principal de Cerber.Hub et un mode de site Web géré sur vos autres sites Web pour gérer toutes les instances WP Cerber à partir d'un seul tableau de bord.
Prochaines étapes pour renforcer la sécurité de votre WordPress
- Comment bloquer les inscriptions d'utilisateurs indésirables
- Comment bloquer les soumissions de formulaires de spam
- Comment bloquer un utilisateur WordPress
- Comment bloquer l'accès à partir d'une adresse IP spécifique
- Comment désactiver l'utilisation d'un nom d'utilisateur spécifique
Qu'est-ce que Cerber Security ? Il s'agit d'une solution de sécurité complète pour WordPress qui a évolué à partir d'un plugin de limitation des tentatives de connexion simple mais efficace.
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.