web-dev-qa-db-fra.com

Utilisation de SSL sur l'ensemble du site

Au lieu de n'avoir que quelques pages de choix pour l'accès HTTPS, je pensais simplement utiliser SSL pour l'ensemble de mon site.

Quels seraient les inconvénients à cela?

Edit Aug 7, 2014

Maintenant, Google tient compte du classement HTTPS dans HTTPS. Vous devez donc absolument utiliser SSL sur l'ensemble de votre site:

http://googleonlinesecurity.blogspot.com/2014/08/https-as-ranking-signal_6.html

33
Dex

Il est fortement recommandé ces jours-ci d’exécuter le site entier sur TLS (https) si possible.

Le problème des frais généraux appartient au passé, il ne s'agit plus des nouveaux protocoles TLS, car il maintient maintenant des sessions et les met même en cache pour les réutiliser si le client interrompt la connexion. Autrefois, ce n'était pas le cas. Ce qui signifie qu’aujourd’hui, le seul moment où vous devez faire de la crypto à clé publique (type qui a beaucoup de ressources) est lors de l’établissement de la connexion. Donc, il n’ya pas vraiment d’inconvénient à obtenir un cert. Cela signifie que vous n'avez pas à renvoyer des personnes entre http et https, et que les clients verront toujours l'indicateur de verrouillage dans leur navigateur.

Une attention particulière a été portée à ce sujet après la sortie de Firesheep . Comme vous l'avez peut-être entendu dire, Firesheep est un module additionnel de Firefox qui vous permet facilement (si vous utilisez tous les deux le même réseau wifi ouvert) de capturer les sessions d'autres personnes sur des sites tels que Facebook, Twitter, etc. cela ne leur poserait aucun problème si TLS était activé à l'échelle du site.

En conclusion, les inconvénients (tels que l’utilisation accrue du processeur) sont négligeables par rapport à l’état de la technologie actuelle, et les avantages sont clairs. Servez donc tout le contenu via SSL/TLS! C'est la voie à suivre ces jours-ci.

Éditer: Comme mentionné dans d'autres réponses, un autre problème lié à la fourniture d'une partie du contenu d'un site (comme des images) sans SSL/TLS est que les clients/utilisateurs recevront un message très agaçant "contenu non sécurisé sur une page sécurisée". .

En outre, comme indiqué par thirtydot , vous devez rediriger les utilisateurs vers le site https. Et vous pouvez même activer l'indicateur qui oblige votre serveur à refuser les connexions non-ssl.

Une autre modification: Comme indiqué dans un commentaire ci-dessous , rappelez-vous que SSL/TLS n'est pas la seule solution à tous les besoins de sécurité de votre site. mais cela résout quelques problèmes de sécurité pour les utilisateurs, et les résout bien (même s’il existe des moyens de faire de l’homme au milieu, même avec SSL/TLS)

38

C'est une bonne idée de le faire si possible, mais vous devriez:

  • Servez des ressources statiques (images, CSS, etc.) à partir de HTTP afin d'éviter la surcharge HTTPS.
    (Ne faites pas ceci ou vous obtiendrez des avertissements sur les "ressources non sécurisées").
  • Vous devez également rediriger la page d'accueil HTTP vers la version HTTPS afin que les utilisateurs ne soient pas obligés de saisir HTTPS pour accéder à votre site.

Les inconvénients incluent:

  • Expérience de navigation moins réactive - car il y a plus de va-et-vient entre le serveur et le client avec HTTPS et HTTP - le montant que vous remarquerez dépendra de la latence entre le serveur et le client.
  • Plus d’utilisation du processeur sur votre serveur, car chaque page doit être chiffrée au lieu de quelques-unes.
3
thirtydot

SSL n'a pas été conçu pour l'hébergement virtuel, en particulier du type cloud élastique. Si vous ne pouvez pas contrôler les noms d’hôte des serveurs Web et leur résolution en adresses IP, vous pouvez faire face à certaines difficultés.

Mais en général, c’est une excellente idée, et si vous permettez aux utilisateurs de se connecter à votre site, c'est presque une nécessité (comme le montre Firesheep).

Je devrais aussi ajouter ce que j'essaie de faire. Je souhaite autoriser les connexions aux services sociaux (comme FaceBook), mais nous allons également stocker les informations de carte de crédit.

Pour les pages où l'utilisateur peut consulter ses informations de carte de crédit ou effectuer des transactions financières, il est préférable de passer à un mode d'authentification plus sécurisé. Facebook est une cible importante et attire les pirates. Si le compte Facebook de quelqu'un est piraté et qu'il peut ensuite dépenser de l'argent ou recueillir des informations de carte de crédit sur votre site, ce ne serait pas bien. Accepter les connexions aux services sociaux pour les contenus non critiques est acceptable, mais pour les parties les plus sérieuses de votre site, il est préférable de demander des mots de passe supplémentaires.

1
Thilo

Les algorithmes côté serveur permettant d'établir une connexion SSL sont coûteux. Par conséquent, la fourniture de tout le contenu via SSL nécessite davantage de puissance de traitement du processeur. Pour autant que je sache, c'est le seul inconvénient.

1
MK.

Il est fortement recommandé ces jours-ci de faire tourner tout le côté sur TLS

Il est fortement recommandé par certaines personnes .

  1. Le nombre total d'utilisateurs que votre système peut prendre en charge est déterminé en fonction des demandes de la CPU ou de IO load; si vous êtes confronté au processeur, TLS aggrave encore la situation.
  2. Le cryptage du trafic rend impossible l'utilisation de certaines techniques de diagnostic.
  3. La plupart des navigateurs avertiront votre utilisateur si vous chargez des fichiers any non cryptés. Ce qui peut être un énorme problème si vous essayez d’accéder à des ressources tierces.

Dans certaines circonstances (beaucoup d’argent en jeu, par exemple), il est logique de mordre la balle et de tout chiffrer; dans d'autres, les chances d'un attaquant d'intercepter un paquet en vol et de décider de détourner la session sont si faibles et la quantité de dégâts qui peut être causé est si faible que vous pouvez simplement aller à découvert, car cela fonctionne. (Par exemple, this session, celui que j'utilise pour poster cette réponse, n'est pas crypté et je ne m'en soucie vraiment pas.)

Dans d’autres cas encore, vous pouvez offrir un choix à votre utilisateur. Une personne utilisant une connexion câblée dans son propre sous-sol peut créer une situation différente de celle qui utilise une connexion Wi-Fi au Starbucks face à une convention Black Hat.

Je travaille sur un protocole et une bibliothèque pour vous permettre de signer les demandes XHR. L'idée est que l'ensemble du site serait configuré en tant que fichiers statiques HTML, CSS et JavaScript, qui seraient chargés à partir d'un CDN. L'application proprement dite serait entièrement réalisée par JavaScript faisant AJAX et des requêtes COMET. Toute demande devant être authentifiée l'est, mais dans la pratique, la plupart des demandes ne le sont pas. J'ai fait plusieurs sites de cette façon - ils sont très, très évolutifs.

0
Malvolio

Nous exploitons un site Web et une boutique entièrement forcés et sécurisés. Je l'ai fait sur les conseils d'un ami qui connaît bien la sécurité des sites Web.

Le point positif est que notre site Web ne semble pas beaucoup plus lent. De plus, Google Analytics fonctionne bien que je ne parvienne pas à faire fonctionner le commerce électronique. Si cela nous protégeait contre les attaques, je ne pourrais pas vous dérober mais jusqu'à aujourd'hui, aucun problème.

Le problème, c'est que vous aurez beaucoup de mal à gérer les boîtes Youtube et les réseaux sociaux ("J'aime") sur un site Web sécurisé.

Conseils pour une bonne sécurité:

  1. Bon hébergeur (ils vous coûteront mais ça vaut le coup!)
  2. Pas de login pour les visiteurs. Cela tue la facilité d'utilisation, mais avec un paiement simple et rapide, cela va et le pro évident est que vous ne stockez tout simplement pas les informations sensibles.
  3. Utilisez un bon fournisseur de services de paiement et laissez-les gérer le paiement.

* 2 Je sais que cela ne va pas aller pour beaucoup de sites Web mais "ce que vous n'avez pas, ne peut pas être volé". Cela fait 2 ans que nous vendons sur notre boutique en ligne sans connexion et cela fonctionne bien tant que la caisse est simple et rapide.

0
Blans