Se connecter

Informatique

Création de sites web

Sujet : Privilégier l'erreur 403 ou 404 ?
1
Frigid
Niveau 52
17 août 2023 à 13:15:56

Vous affichez une erreur 403 ou 404 par sécurité ?

Grand__Smurf
Niveau 45
17 août 2023 à 16:41:48

Ta question n'a aucun sens, les codes HTTP ont une signification. 403 pour Forbidden (pas le droit d'accéder à la page) et 404 pour Not Found (la page n'existe pas).

Il faut envoyer le code qui correspond à la réalité, c'est tout.

Pseudo supprimé
Niveau 7
17 août 2023 à 18:31:05

Le 17 août 2023 à 16:41:48 :
Ta question n'a aucun sens, les codes HTTP ont une signification. 403 pour Forbidden (pas le droit d'accéder à la page) et 404 pour Not Found (la page n'existe pas).

Il faut envoyer le code qui correspond à la réalité, c'est tout.

D'un point de vue sécu, différencier les codes http permet à un visiteur de lister les repertoires/endpoints existants pour récupérer la structure du site.


200 : le dossier/page existe
403 : le dossier/page existe mais interdit
404 : on n'en sait pas plus

vs


200 : le dossier/page existe
404 : on n'en sait pas plus

Sémantiquement c'est mal mais pour l'aspect sécu il vaut mieux unifier en répondant avec le même code (404, 302,...) :oui:

deepblue
Niveau 13
17 août 2023 à 19:30:42

Si tu veux faire de la sécurité, tu shoot le mec quand tu détectes le scan.
Indiquer de mauvais code HTTP, ce n'est pas de la sécu.

Apochaos
Niveau 63
17 août 2023 à 23:37:56

Je suis du même avis que deepblue et grand_smurf, les codes HTTP ont une signification et mettre le même code HTTP partout pour éviter qu'on puisse scanner facilement ton site, c'est de la mauvaise sécu.

C'est mieux mettre des codes HTTP qui correspondent pour informer les browsers et les robots, voir pour d'éventuel API. Si une ressource ne doit pas être accessible à un certain user (ou type d'user), alors il faut renvoyer un code 403. Qu'on sache qu'il y a une page "inaccessible" à cet endroit là ne va pas être fort utile si la sécurité pour passer est forte.

C'est comme afficher à la vue de tout le monde un coffre fort ultra sécurisé : les gens savent qu'il est là mais ils ne peuvent pas y accéder sans la clé pour l'ouvrir. Donc ça leur fera une belle jambe.

Pseudo supprimé
Niveau 7
18 août 2023 à 11:45:49

Si une ressource ne doit pas être accessible à un certain user (ou type d'user), alors il faut renvoyer un code 403. Qu'on sache qu'il y a une page "inaccessible" à cet endroit là ne va pas être fort utile si la sécurité pour passer est forte.
C'est comme afficher à la vue de tout le monde un coffre fort ultra sécurisé : les gens savent qu'il est là mais ils ne peuvent pas y accéder sans la clé pour l'ouvrir. Donc ça leur fera une belle jambe.

L'info de l'existance d'une ressource, prise de manière isolée, peut être insignifiante si l'accès à cette ressource est sécurisé. Par contre couplé à une ou plusieurs autres vulnérabilités, ça peut devenir un problème (sécurité en couches)

C'est pourquoi la RFC HTTP nous permet d'utiliser un 404 au lieu du 403 si l'on veut cacher une ressource :

"An origin server that wishes to "hide" the current existence of a forbidden target resource MAY instead respond with a status code of 404 (Not Found)."
https://www.rfc-editor.org/rfc/rfc9110.html#name-403-forbidden

1
Sujet : Privilégier l'erreur 403 ou 404 ?
News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
   Retour haut de page
Consulter la version web de cette page