Je vais renverser la tendance ici et dire qu'il est acceptable de rediriger comme ça.
Il est vrai qu'un utilisateur est vulnérable au MITM s'il accède à http: // secure.bank.com/ et continuer à utiliser le site sans autre vérification des certificats, des URL, etc.
Cependant, il s'agit d'un problème de comportement de l'utilisateur, et non de quelque chose que vous pouvez réparer le serveur -side.
Réfléchissons une minute à la manière dont vous pourriez essayer de résoudre ce problème côté serveur. Plutôt que d'émettre une redirection, vous pouvez afficher une page d'information, peut-être avec un avertissement clairement formulé "Pour accéder à ce site en toute sécurité, vous devez utiliser https://secure.bank.com/" Ou vous pouvez avoir le Le serveur Web n'écoute que sur le port 443 et rejette le port 80.
Que se passe-t-il maintenant si un attaquant a le contrôle total du réseau d'un utilisateur? Lorsque l'utilisateur accède à http://secure.bank.com/, l'attaquant le redirige vers https://secure.bank.com.attacker.com/ et présente une page de phishing. Ou peut-être qu'ils insèrent une page de hameçonnage directement dans http://secure.bank.com/ De toute façon, un utilisateur expérimenté et alerte pourrait le détecter, mais de nombreux utilisateurs continueront.
Le comportement du vrai http://secure.bank.com/ ne fait aucune différence - l'attaquant peut faire ce qu'il veut.
Donc, en fin de compte, c'est un problème de formation des utilisateurs. Et le comportement du site peut influencer cela. La grande majorité des fois qu'un utilisateur visite le site, il visitera le site réel et non une attaque MITM. Si le site les redirige automatiquement, cela ne les décourage pas d'utiliser l'URL http à l'avenir. S'ils reçoivent un message d'avertissement, ou si le site ne fonctionne tout simplement pas, ils apprendront rapidement à utiliser le https par défaut.
Mais dans quelle mesure êtes-vous responsable, en tant qu'opérateur de site, de former vos utilisateurs de cette manière? La réalité est que la grande majorité des sites redirigent de http vers https de cette manière. D'un point de vue commercial, pourquoi rendre votre site plus difficile à utiliser qu'un concurrent? Si ce n'est que vous qui faites cette position, allez-vous vraiment avoir un effet sur le comportement général des utilisateurs?
Pour ces raisons, dans l'ensemble, je recommande que la plupart des sites redirigent de http vers https de cette manière.
Pour verrouiller cela autant que possible, je vous recommande de configurer la redirection afin que http://secure.bank.com/ redirige vers https: // secure.bank.com/ - suppression du reste de l'URL.