Question:
Dans quelle mesure la redirection de l'utilisateur de http://normal.bank.com vers https://secure.bank.com est-elle sécurisée?
user960567
2013-11-03 14:06:30 UTC
view on stackexchange narkive permalink

J'ai une application. Ce qui fonctionne sur http, http://normal.bank.com. Mais pour se connecter, effectuer toute action, etc. Je redirige l'utilisateur vers https://secure.bank.com, où l'utilisateur peut se connecter et effectuer une action. Est-ce toujours vulnérable aux attaques MIM? Quelles sont les précautions?

Possible dupe: http://security.stackexchange.com/questions/14246/can-a-session-be-hijacked-if-the-user-is-redirected-from-https-to-http-after-log
@sleske Non, c'est un cas différent. Ici, après connexion, l'utilisateur est toujours en HTTPS.
@Adnan: Oh oui, vous avez raison.
Juste par curiosité, y a-t-il un moment où vous voudriez avoir un `http: // normal.bank.com`? D'après ce que je comprends, le protocole standard devrait être de toujours avoir des banques et des informations importantes en https (et http désactivé).
La plupart des banques ont des sites de marketing qui sont http et généralement ceux-ci ont des liens pour «se connecter à la banque en ligne»
Il y a 2-3 ans, je faisais partie d'une équipe qui a démontré une attaque MiM qui fonctionne * exactement * dans cette situation sur l'une des plus grandes banques des États-Unis. Ils ont passé plusieurs mois après cela à nier avoir eu un problème, mais ont ensuite résolu le problème "accidentellement" lorsqu'ils ont repensé leur site Web.
@MosheKatz, est-ce qu'ils utilisent https partout
@user960567 Oui, ils utilisent désormais HTTPS partout. Nous devons maintenant les convaincre d'utiliser [HSTS] (https://www.owasp.org/index.php/HTTP_Strict_Transport_Security).
Copie possible de [Sécurité d'une redirection initiale de http://example.com vers https://example.com] (https://security.stackexchange.com/questions/44849/security-of-an-initial-redirection-de-http-exemple-com-à-https-exemple-co)
Comme cela concerne différents sous-domaines pour la redirection, ce n'est pas exactement une dupe.
Six réponses:
that guy from over there
2013-11-03 14:29:50 UTC
view on stackexchange narkive permalink

Est-ce toujours vulnérable aux attaques MIM?

Oui, c'est vrai, car vous utiliseriez probablement des cookies de session qui pourraient être facilement reniflés via un plugin de navigateur comme Firesheep ou Man-in-the-Middle.

Quelles sont les précautions?

La meilleure pratique de nos jours est de faire exécuter toute votre application via HTTPS car:

  • sécurisé les cookies ne fonctionnent pas dans un environnement mixte
  • Les attaques MITM do fonctionnent dans un environnement mixte
  • garantissant l'authenticité de votre site Web à ses utilisateurs ne fonctionne pas dans un environnement mixte
  • pas besoin pour penser aux ressources HTTP dans une page HTTPS et aux alertes de navigateur laides

Pour assurer HTTPS sur tout le site:

  • créez 2 configurations d'hôtes virtuelles , un pour http: et un pour https:
  • dans votre configuration http, utilisez une redirection de http: // site / resource vers https: // site / ressource comme seul modèle dans cette configuration, donc si quelqu'un tape i n http: // site / somepath il sera toujours redirigé vers le site sécurisé
  • dans votre configuration https, utilisez un en-tête HTST pour vous assurer (basé sur le navigateur) que votre utilisateur visite toujours votre site via HTTPS

Tout le reste, comme le cryptage de la page de connexion uniquement, est obsolète; rechercher "firesheep"

Si aller à la page de connexion force une nouvelle session complète, l'application sera-t-elle alors sécurisée?
David Houde
2013-11-03 14:23:43 UTC
view on stackexchange narkive permalink

Oui, vous êtes vulnérable aux attaques MITM car vous débutez avec une application Web non chiffrée. C'est là que l'attaque a lieu, car l'attaquant pourrait modifier toutes les références à https://secure.bank.com et les remplacer par http://secure.bank. com . L'attaquant intercepterait alors vos données et relayerait le contenu vers la connexion sécurisée réelle à https://secure.bank.com

Il est fortement suggéré de forcer SSL à partir du au tout début de la session, et vous devez vous assurer de n'annoncer que l'URL sécurisée.

Mais le site https://secure.bank.com n'est pas disponible sur http. Est-ce que je suis toujours vulnérable?
Pouvez-vous expliquer un plus en termes simples? Merci
J'ai édité la réponse pour mieux expliquer comment l'attaque pourrait avoir lieu.
Voir la réponse ci-dessus
@user960567 L'attaquant peut choisir de rediriger vers secure.hisserver.com, où 'hisserver' ressemble suffisamment à 'bank' pour que l'utilisateur ne le remarque pas. Ma banque fait ça et je les déteste pour ça. La connexion est `https: // secure.bank.com / very / long / uri` et le seul moyen d'y accéder est via` http: // bank.com / login`. Horrible.
Je veux juste ajouter une clarification sur le fait que la fermeture du port 80 ne vous protège pas contre MITM au cas où le client lance une requête HTTP._Comment_ cela est possible est décrit dans la réponse, mais c'est quand même quelque chose que je vois que beaucoup de gens sont confus.
Adi
2013-11-03 16:54:40 UTC
view on stackexchange narkive permalink

Après avoir visité http://normal.bank.com , un attaquant peut remplacer tous les liens vers https://secure.bank.com par des liens vers http://secure.bank.com . Lorsque l'utilisateur clique sur http://secure.bank.com , le MITM se connecte volontiers au serveur via HTTPS et renvoie le contenu au client via HTTP. Quelles que soient les précautions de redirection utilisées ici, toute la redirection peut être empêchée par le MITM.

En conclusion, oui, vous êtes toujours vulnérable aux attaques MITM.

Oui, ils ont des cookies différents, sécurisés et HttpOnly.
@Adnan Vous n'avez pas pris en compte des éléments tels que sslstrip, qui fonctionnent en MITMing le client, en ne montrant au client que les liens HTTP tout en établissant une connexion HTTPS au serveur lorsque le client tente d'ouvrir un tel lien.
@heinrich5991 incorrect. Veuillez relire la partie de la réponse commençant par "Même si les références à ..."
@Adnan Pour être clair: le client demande `http: // bank.com /`, le serveur renvoie la page avec un lien vers `https: // secure.bank.com /` pour la connexion, le MITM remplace ce lien par `http: // secure.bank.com / `et enregistre le lien pour les requêtes HTTPS. Le client clique sur la connexion et demande `` http: // secure.bank.com / '', le MITM change cela en une demande de `` https: // secure.bank.com / `, le serveur renvoie les données avec plaisir, le MITM les déchiffre et les envoie il retourne au client. Le client se connecte et MITM est capable d'intercepter les données de connexion.
@heinrich5991 Veuillez noter la partie de la réponse où je mentionne "Cookies sécurisés". Les cookies sécurisés sont signalés par le drapeau "Sécurisé", ce qui signifie que le cookie sera UNIQUEMENT transmis avec une requête HTTPS.
@heinrich5991 Vous avez en effet raison. J'ai modifié ma réponse pour refléter ce fait. Apparemment, j'ai initialement manqué le point entier.
paj28
2013-11-04 05:45:50 UTC
view on stackexchange narkive permalink

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.

"Cependant, c'est un problème de comportement de l'utilisateur, et non quelque chose que vous pouvez résoudre côté serveur." oui, vous pouvez, et cela s'appelle HSTS. mais vous devez vous assurer d'exécuter le site while en HTTPS.
Bien que HSTS soit bon, il n'est pas pris en charge sur Safari ou IE, nous ne pouvons donc vraiment pas compter sur un utilisateur disposant d'un navigateur compatible HSTS.
martinstoeckli
2013-11-08 16:31:03 UTC
view on stackexchange narkive permalink

Cela n'a pas été explicitement mentionné jusqu'à présent, donc cette réponse tardive. Les sites Web basculant entre HTTP et HTTPS sont inévitablement enclins à la bande SSL . Une bonne explication que vous pouvez trouver ici:

Présentation SSL-strip de Moxie Marlinspike

Quelques points importants:

  • C'est la première demande qui fait la différence. Chaque fois que l'utilisateur commence avec HTTP comme première page, la bande SSL peut parler à l'utilisateur avec HTTP et au site avec HTTPS. Un changement de site empêchera l'utilisateur de choisir HTTPS pour la première demande.
  • C'est là que l'en-tête HSTS entre en jeu. Si vous avez déjà visité le site plus tôt à partir d'une connexion sécurisée, l'en-tête indiquera au navigateur appelez le site avec HTTPS uniquement pour les demandes futures. Si vous visitez le site pour la première fois, l'en-tête HSTS ne peut pas vous aider.
  • Si l'utilisateur s'en soucie, il peut commencer par HTTPS (en tapant l'url avec https: // dans la barre du navigateur), cela fait Strip SSL impossible sur les sites SSL uniquement.
Belle réponse concise.
Michael Hidalgo
2013-11-08 09:56:40 UTC
view on stackexchange narkive permalink

J'ai écrit un article de blog à ce sujet il y a quelques mois. Dans mon article de blog, j'ai montré comment la redirection du trafic de http vers https pouvait potentiellement être dangereuse selon le mécanisme sélectionné. J'ai proposé HSTS (HTTP Strict Transport Security).

http://blog.michaelhidalgo.info/2013/09/redirecting-http-traffic-to-https-why.html



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...