Redirection du code de retour d’état HTTP 403 vers 404
Pourquoi ?
le code d’état HTTP 403 (interdit) indique que le chemin d’accès est correct, mais que vous n’avez pas l’autorisation d’y accéder. Cela confirme que le fichier/dossier existe et qu’il est restreint.
Ainsi, le code 403 permet au pirate d’en savoir plus sur la structure de votre système de fichiers et d’identifier des failles de sécurité.
C’est une bonne idée de rediriger le code de retour 403 vers 404 (non trouvé), afin qu’il n’y ait pas de place pour une supposition. Cette solution est souvent demandée dans l’industrie du paiement ou dans les systèmes de production d’applications transactionnelles.
Il y a plusieurs façons de le faire et j’ai expliqué comment le faire avec Apache HTTP, Nginx.
Note : prenez une sauvegarde du fichier de configuration nécessaire avant de le modifier. Et si possible, testez d’abord en non-production.
Apache HTTP
Nous allons utiliser la directiveErrorDocument
pour réaliser ceci
- Créez un fichier au niveau
DocumentRoot
qui sera servi à 404 - Nommons ce fichier 404
- Ajoutez ce qui suit dans le fichier httpd.conf
ErrorDocument 403 /404
Ci-dessus, j’ordonne à Apache de servir le fichier /404 chaque fois que 403 se produit
- Enregistrez le fichier de configuration et redémarrez Apache pour le tester
Nginx
Utilisons la directive error_page
pour y parvenir
- Créez un fichier appelé 404.html
- Ajoutez ce qui suit dans la section
serveur
du fichier de configuration de Nginx
error_page 404 /404.html ; error_page 403 =404 /404.html ;
Ci-dessus, dans la première ligne, Nginx servira /404.html lorsque le fichier n’est pas trouvé et dans la deuxième ligne, /404.html sera servi lorsque les ressources demandées renvoient 403.
WordPress
Vous pouvez utiliser le plugin Custom Error Pages qui vous permet de configurer une page personnalisée pour les codes d’état 401 et 403.
J’espère que cela vous aidera. Si vous êtes intéressé par l’apprentissage de la sécurité Web, je vous suggère de consulter ce cours.