L’API REST de WordPress est un outil puissant qui permet aux développeurs d’interagir avec votre site de manière programmatique. Cependant, elle peut également représenter un risque pour la sécurité si elle n’est pas correctement gérée. Désactiver l’API REST, entièrement ou partiellement, peut aider à réduire les vecteurs d’attaque potentiels et à protéger les informations sensibles de votre site.
Pourquoi Désactiver l’API REST ?
Sécurité
L’API REST de WordPress permet aux développeurs d’interagir avec votre site de manière programmée. Cependant, elle peut également être une cible pour les attaquants cherchant à exploiter des vulnérabilités. Par exemple, des informations sur les utilisateurs et la structure de votre site peuvent être exposées, facilitant ainsi des attaques par force brute ou des exploits spécifiques. En désactivant l’accès non autorisé à l’API REST, vous réduisez ces risques en limitant les points d’entrée potentiels pour les attaquants.
Confidentialité
L’accès à l’API REST peut permettre à des tiers de récupérer des informations sensibles telles que les détails des utilisateurs, les métadonnées des publications et d’autres données importantes. Limiter l’accès à l’API REST aide à protéger ces informations, assurant que seules les personnes autorisées peuvent y accéder. Cela est particulièrement crucial pour les sites contenant des données privées ou sensibles, où la fuite d’informations peut entraîner des conséquences graves
Performance
L’utilisation intensive de l’API REST peut augmenter la charge sur votre serveur, affectant ainsi les performances globales de votre site. Chaque requête API consomme des ressources serveur, et des abus ou des requêtes fréquentes peuvent ralentir votre site pour les utilisateurs légitimes. En réduisant le nombre de requêtes API REST autorisées, vous pouvez améliorer la performance de votre site, en réduisant la charge serveur et en optimisant la vitesse de chargement des pages pour les visiteurs.
Désactiver Complètement l’API REST
Pour désactiver complètement l’API REST, ajoutez le code suivant dans le fichier functions.php de votre thème enfant ou dans un plugin spécifique au site :
add_filter('rest_authentication_errors', function($result) {
if (!empty($result)) {
return $result;
}
if (!is_user_logged_in()) {
return new WP_Error('rest_not_logged_in', 'Vous devez être connecté pour accéder à l\'API REST.', array('status' => 401));
}
return $result;
});
Ce code empêche les utilisateurs non connectés d’accéder à l’API REST, offrant une couche de protection supplémentaire.
Désactiver Partiellement l’API REST
Si vous souhaitez désactiver uniquement les endpoints spécifiques à WordPress tout en gardant les endpoints personnalisés actifs, utilisez le code suivant :
add_filter('rest_endpoints', function($endpoints) {
if (!is_user_logged_in()) {
// Liste des endpoints à désactiver pour les utilisateurs non connectés
$endpoints_to_disable = array(
'/wp/v2/users',
'/wp/v2/users/(?P<id>[\d]+)',
'/wp/v2/comments',
'/wp/v2/settings'
);
foreach ($endpoints_to_disable as $endpoint) {
if (isset($endpoints[$endpoint])) {
unset($endpoints[$endpoint]);
}
}
}
return $endpoints;
});
Ce code désactive l’accès aux endpoints spécifiés pour les utilisateurs non connectés, tout en laissant les autres endpoints disponibles.
Désactiver l’API REST en utilisant le plugin Securicheck Pro
Une autre méthode simple et efficace pour désactiver l’API REST est d’utiliser le plugin Securicheck Pro. Notre vous permet de désactiver entièrement l’API REST d’un simple clic ou de choisir de ne désactiver que les endpoints spécifiques à WordPress.
- Allez dans Securicheck > Réglages Sécurité.
- Pour désactiver entièrement l’API REST, cochez l’option ‘Désactiver l’API REST pour les utilisateurs non connectés ?’ puis ‘Désactiver l’API REST entièrement?’ et enregistrez les modifications.
- Pour désactiver seulement certains endpoints, sélectionnez l’option ‘Désactiver l’API REST partiellement ?’ et enregistrez les modifications.
Tester et Vérifier
Après avoir ajouté le code, il est important de tester votre site pour s’assurer que l’API REST est correctement désactivée ou partiellement restreinte comme souhaité. Vous pouvez utiliser des outils comme Postman ou simplement essayer d’accéder aux endpoints via le navigateur pour vérifier les résultats.
Conclusion
Désactiver l’API REST de votre site WordPress peut considérablement renforcer sa sécurité en limitant l’exposition des données sensibles et en réduisant les vecteurs d’attaque. Que vous choisissiez de désactiver complètement l’API ou seulement certains endpoints, ces mesures contribueront à protéger votre site.
En suivant ce guide, vous serez en mesure de sécuriser efficacement votre site WordPress en désactivant l’API REST. Si vous avez des questions ou des préoccupations, n’hésitez pas à nous contacter.