Existe-t-il d'autres options que HTTPS pour sécuriser un site Web afin d'éviter les avertissements de saisie de texte dans Chrome?


16

Il y a une semaine, Google m'a envoyé un e-mail pour passer en HTTPS. Si je ne transfère pas HTTP vers HTTPS, cela montrera ma connexion non sécurisée à tous les visiteurs de mon site qui tenteront de saisir du texte dans mon site.

Sans SSL, existe-t-il un autre moyen de sécuriser ma connexion? Comme il est lié à un processus coûteux d'utiliser SSL dans une URL Web, je recherche plutôt une autre option.


27
Avez-vous consulté le site letsencrypt.org ? Il émet des certificats HTTPS gratuits. C'est un peu pénible à configurer à partir de zéro, mais de nombreuses sociétés d'hébergement l'ont mis en œuvre pour vous.
Stephen Ostermiller

6
Vous pouvez également utiliser cloudflare qui vous donnera gratuitement un certificat SSL.
Ave

2
La question n'est pas "comment utiliser HTTPS", mais plus large que cela: si ça http://ne va pas, quoi d'autre est là https://? Y at - il un abc://, lgbtqiapk+://ou dps://?
Konerak

4
"Processus coûteux"? Cryptons est gratuit. Aussi: doesmysiteneedhttps.com
Andrea Lazzarotto

Réponses:


41

existe-t-il un autre moyen de sécuriser ma connexion?

Google ne se plaint pas seulement de la "sécurité" (qui pourrait inclure un certain nombre de sujets différents), il cible spécifiquement le cryptage / HTTPS. Avec HTTP simple, la connexion entre le client et le serveur n'est pas chiffrée, ce qui permet à quiconque de potentiellement voir et intercepter tout ce qui est soumis. Normalement, cela ne vous demandera que si vous autorisez les utilisateurs à se connecter (c'est-à-dire en soumettant un nom d'utilisateur / mot de passe) ou en soumettant des informations de paiement via une connexion non cryptée. Les soumissions générales de formulaires "textuels" ne seraient pas nécessairement un problème. Cependant, comme @Kevin l'a souligné dans les commentaires, Google / Chrome prévoit de l'étendre à l'avenir :

Finalement, nous prévoyons d'étiqueter toutes les pages HTTP comme non sécurisées et de changer l'indicateur de sécurité HTTP en triangle rouge que nous utilisons pour HTTPS cassé.

L'installation d'un certificat SSL sur votre site (ou l'utilisation d'un proxy frontal comme Cloudflare pour gérer la SLL) est le seul moyen de crypter le trafic vers votre site.

Cependant, ce n'est pas nécessairement un "processus coûteux" de nos jours. Cloudflare a une option "gratuite" et Let's Encrypt est une autorité de certification gratuite que de nombreux hôtes prennent en charge par défaut.


3
"Normalement, cela ne vous sera demandé que si vous autorisez les utilisateurs à se connecter (en soumettant un nom d'utilisateur / mot de passe) ou en soumettant des informations personnelles via une connexion non cryptée. Le" texte "général ne serait pas nécessairement un problème." Cela ne sera bientôt plus vrai; Chrome affichera l'avertissement pour TOUT champ de saisie de texte. Cela ne peut pas faire la différence entre des informations potentiellement sensibles et des choses bénignes comme les recherches, après tout, donc la décision a été prise de simplement avertir de tout.
Muzer

2
@Muzer Il est également généralement impossible de déterminer si la saisie de texte est sensible - si je tape mon adresse personnelle ou si je recherche mon problème médical embarrassant, cela pourrait être très intéressant pour un espion indiscret.
apsillers

6
Finalement, Chrome affichera cet avertissement pour tous les sites HTTP , il n'y a donc pas d'alternative à long terme au HTTPS.
Kevin

3
Cette réponse manque le plus grand avantage de HTTPS par rapport au chiffrement de bout en bout, qui est l'identité. HTTPS permet à votre serveur de prouver à ses clients qu'il s'agit bien du serveur qu'il prétend être sans avoir à organiser spécifiquement une méthode d'authentification à l'avance. Le chiffrement de bout en bout à lui seul n'aide pas si le client s'est connecté à un serveur appartenant à un acteur malveillant.
IllusiveBrian

4
@IllusiveBrian Bien que cette question ne concerne pas vraiment les "avantages du HTTPS" (il existe déjà des questions qui couvrent cela), cette question vise à essayer d'éviter "l'avertissement" de sécurité du navigateur dans Google / Chrome. Mais HTTPS ne "prouve pas nécessairement" l'identité - pour ce faire, vous devrez payer plus d'argent pour un certificat OV ou EV. Dans le contexte de cette question, il s'agit de chiffrement.
DocRoot

4

Je ne recommande pas, mais vous pouvez contourner ce message, en n'utilisant pas les champs de texte d'entrée d'origine. Vous pouvez créer vos propres champs d'entrée, à l' aide régulière divqui ont onkeypressévénement. Ou vous pouvez créer un divélément dont l' contenteditableattribut est défini sur true.

De cette façon, les utilisateurs pourront entrer des informations sur votre site, sans utiliser inputd'éléments de balise.


41
C'est vraiment une mauvaise idée. Cela ne résout pas le problème de sécurité que Google vous encourage à résoudre et est susceptible de causer des problèmes aux utilisateurs qui utilisent votre site d'une manière légèrement différente de la façon dont vous l'avez testé (par exemple, un navigateur différent, un téléphone, un lecteur d'écran, etc.). Cela cassera également probablement les gestionnaires de mots de passe.
thelem

L'affichage du formulaire serait problématique avec cette approche.
the_lotus

3
Vous n'avez pas besoin de poster le FORMULAIRE. Vous pouvez utiliser XMLlHTTPRequest(aka AJAX) pour envoyer les informations
Aminadav Glickshtein

18
Je changerais votre réponse de "ne recommande pas" à "ne jamais faire ça". Vous contournez tellement de normes en faisant cela, vous pourriez tout aussi bien ne plus créer d'application Web.
Caimen

2
Ai-je vraiment besoin de 125 points pour voter contre cette chose? oO
Andrea Lazzarotto

4

Si vous ne faites que servir des fichiers statiques ou pouvez mettre un proxy en avant, vous pouvez utiliser un serveur tel que caddy server qui gère tout cela pour vous en utilisant permet de chiffrer, cela simplifie le provisionnement des certificats et vous n'avez pas à installer tout autre logiciel.

Alternativement, vous pouvez utiliser un service comme cloudflare - leur plan gratuit propose https gratuit.

Enfin, certains hôtes proposent maintenant des certificats https gratuits, y compris dreamhost . Vérifiez donc si votre hôte actuel propose cette option.

Je ne recommanderais pas d'essayer de trouver une solution de contournement, il n'y a qu'une seule façon de sécuriser votre site, et les navigateurs finiront par avertir sur chaque site qui n'a pas https, quel que soit le contenu. Le Web évolue vers https partout.


1
Firefox a également introduit des avertissements sur les pages de connexion non sécurisées, et tous les principaux navigateurs ont choisi de ne fournir à HTTP2 que la prise en charge de https, ce qui signifie que la prochaine version du protocole est de facto https uniquement.
Kenny Grant

1
@closetnoc GoDaddy est une arnaque de plusieurs façons. Nous (société webdev) achetions nos certificats pour 7 € par an, ce qui était abordable mais pas pour une centaine de sites. Maintenant, nous utilisons Let's Encrypt et les obtenons gratuitement, nous avons donc mis SSL sur chacun d'eux. Nos clients l'apprécient et nous apprécions l'utilisation de HTTP / 2. N'ont eu aucun problème de renouvellement. Les certificats durent 90 jours et nous commençons à essayer de renouveler quotidiennement après 60 jours. Beaucoup de chevauchement en cas de problème (ce qui n'est pas le cas). Utilisez Cloudflare si vous ne voulez pas les tracas.
Martijn Heemels

1
@closetnoc ssl est plus qu'un chiffrement, il garantit également l'intégrité, la sécurité et la confidentialité, de sorte que les éléments de la page ne peuvent pas être vus (par exemple, votre employeur, un état de surveillance) ou modifiés (par exemple, les publicités injectées) par un MitM'er. En outre, cela empêche les gens de MitMing de renifler les données d'authentification de votre ami (qui peuvent probablement être utilisées pour télécharger du contenu indésirable sur le site). De plus, a déclaré un Martijn, GoDaddy est une énorme arnaque et, dans l'ensemble, sont défavorables. Je recommanderais à votre ami de regarder les domaines google, namecheap et gandi (je ne suis affilié à aucun).
Ave

1
@MartijnHeemels Je suis d'accord que GoDaddy est trop cher. TEMPS FORT! Il semble que Let's Encrypt soit la voie à suivre pour la plupart des sites dont le contenu est généralement bénin. Je peux voir aller pour des certificats entièrement vérifiés pour certains sites aussi. Croiriez-vous que j'étais une autorité certifiée? Je suppose que je préfère quand les certificats étaient d'un an. Je ne fais pas confiance à des périodes plus courtes. Mais quels choix y a-t-il de nos jours? À votre santé!!
closetnoc

1
@closetnoc Il n'est pas difficile de trouver des certificats SSL payants auprès d'autorités de certification reconnues avec une validité d'un an pour environ 10 $ pièce. Mais cela ne vous donnera évidemment pas un certificat "entièrement vérifié"; si vous le voulez vraiment, vous devez sauter à travers les cerceaux pour obtenir un certificat EV et payer le prix correspondant (et comme cela a été souligné précédemment, même les certificats EV ne sont pas parfaits ou sans réserves). Let's Encrypt examine certaines des raisons pour lesquelles leurs certificats ne sont valables que 90 jours sur leur site Web, mais l'existence de Let's Encrypt n'a pas (encore) poussé les autorités de certification commerciales à retirer leurs offres de certifications DV.
un CV

4

personne d'autre ne semble avoir mentionné,

si vous possédez toutes les machines qui se connectent à votre site

par exemple "ce n'est probablement pas ce que vous voulez"

, comme dans un environnement d'entreprise, vous pouvez créer votre propre autorité de certification, installer son certificat public sur toutes les machines (bien sur tous les navigateurs et magasins de certificats) qui se connectent à votre site. cette option est exempte de monétisation par des tiers; c'est le même chiffrement de chiffrement, vous n'êtes pas connecté à la confiance du public (par exemple, votre autorité n'est pas reconnue par Google Chrome, Firefox de Mozilla, etc., comme le fait Let's Encrypts), mais elle sera reconnue par les machines que vous avez configurées pour vous faire confiance .

Certes, les accords sur la mise en place d'une autorité de certification sont délicats quelque peu obscurs et la maintenance peut être beaucoup de travail - alors je vais les laisser ici, vous feriez probablement mieux de faire une recherche approfondie sur le sujet qui vous intéresse vraiment dans cette approche.

mais pour un déploiement nieve, si vous pouvez essayer XCA

XCS est un moyen décent d'émettre des certificats pour les petits déploiements et comprend une documentation d'aide qui parcourt l'ensemble de la configuration.


2
Vous dépenserez presque certainement plus pour créer votre propre autorité de certification (en heures de travail, sinon rien) qu'en achetant un certificat SSL commercial. Ensuite, il y a toujours la possibilité de faire quelque chose de mal.
Eric J.27

1

J'ai quelques idées.

Si la raison de HTTPS est de gérer les connexions, vous pouvez minimiser l'effet sur tous les navigateurs en offrant aux utilisateurs de rester connectés. Ensuite, lorsqu'un utilisateur se connecte, un cookie peut être stocké en permanence sur l'ordinateur de l'utilisateur, donc la prochaine fois que l'utilisateur allume son ordinateur pour accéder au site, il serait automatiquement connecté au lieu de toujours recevoir une invite de connexion et éventuellement un avertissement de sécurité.

Une autre idée qui peut contourner le message mais qui nécessiterait plus de travail à la fois sur l'invité et sur le serveur est de demander à un invité de télécharger un fichier spécial avec la configuration appropriée chiffrée. Par exemple, pour l'écran de connexion, au lieu de demander à l'utilisateur d'entrer son nom d'utilisateur et son mot de passe dans deux zones de texte, demandez à l'utilisateur de télécharger un petit fichier contenant son nom d'utilisateur et son mot de passe cryptés (par exemple, en compressant le nom d'utilisateur et le mot de passe sous forme de zip fichier avec un niveau de compression spécifique), le serveur peut décrypter le fichier pour extraire le nom d'utilisateur et le mot de passe. Le pirate potentiel verra du charabia en transit lorsque l'utilisateur envoie le fichier au serveur. Seul léger avantage à cette idée est une vitesse de connexion légèrement plus rapide car le traitement de la connexion SSL n'a pas lieu en HTTP.


Une prochaine version de Chrome avertira de toute saisie de texte, pas seulement des champs de mot de passe. Toutes les données qui utilisent des formulaires HTML devront être HTTPS pour éviter les avertissements, pas seulement la connexion. Google a envoyé des notifications via la Search Console aux propriétaires de sites Web dont Google pense que les sites Web seront affectés.
Stephen Ostermiller

1

Non.

Tout piratage que vous essayez (par exemple, comme essayer de crypter avec javascript), est très peu susceptible d'être même proche de la sécurité.

SSL n'a pas à être «cher», de nombreux hébergeurs le proposent gratuitement. Et même des choses comme cloudflare offrent SSL gratuit et gardent l'hébergement actuel.


-3

Let's Encrypt est une solution rapide et gratuite. Lien Ils ont de la documentation pour presque tous les OS de serveur. Nous l'utilisons dans notre travail et nos fournisseurs W2P l'utilisent pour sécuriser chacune de nos vitrines.


3
Cette réponse n'ajoute rien qui n'ait déjà été dit.
Stephen Ostermiller
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.