Pourquoi est-ce que je ne sers que https uniquement?
Les principales raisons sont le comportement par défaut des navigateurs et la compatibilité descendante .
Comportement par défaut
Lorsqu'un utilisateur final (c'est-à-dire, sans connaissance des protocoles ou de la sécurité) tape l'adresse du site Web dans son navigateur, le navigateur utilise par défaut HTTP. Consultez cette question pour plus d'informations sur les raisons pour lesquelles les navigateurs choisissent ce comportement.
Ainsi, il est probable que les utilisateurs ne pourront pas accéder à votre site Web.
Rétrocompatibilité
Il est possible que certains utilisateurs avec d'anciens systèmes et d'anciens navigateurs ne prennent pas en charge HTTPS ou, plus probablement, ne disposent pas d'une base de données à jour de certificats racine , ou ne prennent pas en charge certains protocoles.
Dans ce cas, ils ne pourront pas accéder au site Web ou recevront un avertissement de sécurité. Vous devez définir si la sécurité de vos utilisateurs finaux est suffisamment importante pour forcer HTTPS.
De nombreux sites Web écoutent toujours HTTP mais redirigent automatiquement vers HTTPS et ignorent les utilisateurs vraiment anciens navigateurs.
Quelqu'un pourrait-il usurper http://www.example.com si je ne configure pas HSTS?
Si un attaquant veut usurper http://www.example.com
, il doit prendre le contrôle du domaine ou prendre le contrôle de l'adresse IP d'une manière ou d'une autre.
Je suppose que vous vouliez dire: un attaquant pourrait-il effectuer une attaque d'intermédiaire?
Dans ce cas oui, mais même avec ou sans HSTS:
-
Sans HSTS : un attaquant peut facilement se trouver au milieu de votre serveur et de l'utilisateur, et être actif (c.-à-d. modifier le contenu) ou passif (c.-à-d. espionner)
-
Avec HSTS : la première fois qu'un utilisateur tente de visiter le site via HTTP, un attaquant peut forcer l'utilisateur à utiliser HTTP. Cependant, l'attaquant dispose d'une fenêtre de temps limitée pour effectuer son attaque.
Que devez-vous faire?
Comme de nombreux sites Web, vous devez autoriser les connexions HTTP et faire en sorte que votre serveur redirige l'utilisateur vers la version HTTPS. De cette façon, vous remplacez le comportement par défaut des navigateurs et vous assurez que vos utilisateurs utilisent la version HTTPS.
Les anciens systèmes sans les protocoles ou certificats racine appropriés ne pourront pas accéder au site (ou du moins auront un avertissement ), mais en fonction de votre base d'utilisateurs, cela ne devrait pas être un problème.
Conclusion
Cela fera plus de mal que de bien de désactiver HTTP. Cela n'offre pas vraiment plus de sécurité.
Toute sécurité ajoutée pour protéger une ressource est inutile si elle empêche la plupart de ses utilisateurs d'y accéder. Si vos utilisateurs finaux ne peuvent pas accéder à votre site Web parce que leur navigateur utilise par défaut HTTP et que vous n'écoutez pas les connexions HTTP, quel est l'avantage?
Effectuez simplement la redirection HTTP 301 vers la version HTTPS.
Questions connexes