255 votes

Est-il mauvais de rediriger http vers https ?

Je viens d'installer un certificat SSL sur mon serveur.

Il a ensuite mis en place une redirection pour tout le trafic de mon domaine sur le port 80 pour le rediriger vers le port 443.

En d'autres termes, tous mes http://example.com le trafic est maintenant redirigé vers le site approprié https://example.com version de la page.

La redirection est effectuée dans mon fichier de serveurs virtuels Apache avec quelque chose comme ceci...

RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] 

Ma question est la suivante : y a-t-il des inconvénients à utiliser SSL ?

Puisqu'il ne s'agit pas d'une redirection 301, est-ce que je perdrai du jus de lien/du classement dans les moteurs de recherche en changeant pour https ?

Je vous remercie de votre aide. J'ai toujours voulu configurer SSL sur un serveur, juste pour le plaisir de le faire, et j'ai finalement décidé de le faire ce soir. Cela semble bien fonctionner jusqu'à présent, mais je ne suis pas sûr que ce soit une bonne idée de l'utiliser sur chaque page. Mon site n'est pas un site de commerce électronique et ne traite pas de données sensibles ; c'est surtout pour l'apparence et le plaisir de l'installer pour apprendre.


NUMÉRO ACTUALISÉ

Bizarrement, Bing crée cette capture d'écran à partir de mon site maintenant qu'il utilise HTTPS partout...

enter image description here

15 votes

[WTF - Je ne peux pas ajouter de réponse (bien qu'il me semble que j'ai assez de représentants)] Ma réponse serait (en partie) que PARFOIS, C'EST MAUVAIS . Envisagez de passer un COOKIE ou une clé API dans un GET sur HTTP. Si votre site redirige les requêtes HTTP vers des requêtes HTTPS, ces appels fonctionneront, mais le COOKIE ou la clé API seront transmis en clair - exposés. Certaines API désactivent le protocole HTTP, une approche plus robuste - pas de protocole HTTP du tout, de sorte que vous ne pouvez même pas le faire fonctionner si vous n'utilisez pas le protocole HTTPS. Exemple : "Toutes les demandes d'API doivent être effectuées via HTTPS. Les appels effectués en HTTP simple échoueront" de stripe.com/docs/api?lang=php#authentication

9 votes

@codingoutloud - l'alternative est que la tout cela se fait par HTTP, sans HTTPS. En quoi est-ce mieux ?

1 votes

J'ai vu des sites qui mettent en place un site sur http disant que ce site doit être accédé par SSL et qui fournissent un lien avec la partie https://.

5voto

Pothi Kalimuthu Points 5514

Est-il mauvais de rediriger http vers https ?

Non, pas du tout. En fait, c'est une bonne chose à faire !

Sur les redirections :

Il pourrait être plus efficace, en éliminer complètement les réécritures . Voici ma configuration dans une situation similaire...

<VirtualHost *:80>
  ServerName domainname.com

  <IfModule mod_alias.c>
    Redirect permanent / https://domainname.com/
  </IfModule>
</VirtualHost>

4voto

DolphinDream Points 101

HTTPS n'est pas exactement infaillible. Bien sûr, normalement, forcer HTTPS est une bonne chose. Cela empêche les criminels ordinaires de faire du mal à vos utilisateurs.

Mais n'oubliez pas de vérifier vos paramètres SSL, notamment le paramètre SSLCiphers. Désactivez des éléments comme la cryptographie RC4, le protocole SSLv2 et SSLv3. Vous devriez également vérifier si les librairies du système de cryptage de votre système supportent TLS1.2 (ce qui est la chose que vous voulez avoir ;) ).

Activez le SSL, c'est une bonne chose.

3voto

Vality Points 336

Personnellement, je suis tout à fait favorable à l'utilisation de SSL pour sécuriser les connexions sur le Web, mais je pense qu'un point que toutes les autres réponses ont omis est que tous les appareils et logiciels capables d'une connexion HTTP ne seront pas en mesure d'utiliser SSL, donc j'envisagerais de fournir un moyen pour les utilisateurs de l'éviter s'il n'est pas pris en charge pour eux. Il est également possible que les personnes vivant dans certains pays où les technologies de cryptage sont illégales ne soient pas autorisées à accéder à votre site. J'envisagerais d'ajouter une page d'accueil non cryptée avec un lien pour forcer la version non sécurisée du site, mais à moins qu'un utilisateur ne le choisisse spécifiquement, je ferais comme vous l'avez dit et je le renverrais simplement vers la version HTTPS.

3voto

J. Parrino Points 41

Voici quelques-unes des grandes questions qui se posent :

  • MITM/SSLSTRIP : Il s'agit d'une énorme mise en garde. Si vous voulez servir votre site en HTTPS, puis désactiver HTTP sur le site . Sinon, vous exposez vos utilisateurs à diverses attaques de type "man-in-the-middle", notamment SSLSTRIP, qui intercepte les requêtes et les sert discrètement via HTTP, en insérant son propre script malveillant dans le flux. Si l'utilisateur ne s'en aperçoit pas, alors il va pensez à leur session est sécurisée alors qu'elle ne l'est pas.

    • Le problème, cependant, est que si votre site est un site public et que vous désactivez HTTP sans cérémonie, vous risquez de perdre beaucoup de visiteurs. Cela ne sera probablement pas se produire pour qu'ils essaient le HTTPS si le site ne se charge pas avec le HTTP.
  • Si votre site nécessite une connexion sécurisée, l'ensemble de la session de l'utilisateur doit être sécurisé. Ne vous authentifiez pas via HTTPS, puis redirigez l'utilisateur vers HTTP. Si vous le faites, vous rendez vos utilisateurs vulnérables aux attaques MITM. L'approche standard de l'authentification consiste aujourd'hui à s'authentifier une fois, puis à transmettre un jeton d'authentification dans les deux sens (dans un cookie). Mais si vous vous authentifiez sur HTTPS puis redirigez vers HTTP, un homme du milieu peut intercepter ce cookie et utiliser le site comme s'il était votre utilisateur authentifié, en contournant votre sécurité.

  • Les problèmes de "performance" avec HTTPS se limitent, à toutes fins pratiques, à la poignée de main impliquée dans la création d'une nouvelle connexion. Faites ce que vous pouvez pour minimiser le besoin de connexions HTTPS multiples à partir d'une URL et vous aurez une longueur d'avance. Et c'est franchement vrai même si vous servez votre contenu en HTTP. Si vous vous documentez sur SPDY, vous vous rendrez compte que tout ce qu'il fait est orienté pour essayer de servir tout le contenu d'une seule URL sur une seule connexion. Oui, l'utilisation de HTTPS affecte la mise en cache. Mais de nos jours, combien de sites Web ne sont que des contenus statiques pouvant être mis en cache ? Vous en aurez probablement plus pour votre argent en utilisant la mise en cache sur votre serveur Web pour minimiser les requêtes de base de données redondantes qui récupèrent des données inchangées encore et encore, et pour empêcher les chemins de code coûteux de s'exécuter plus souvent que nécessaire.

2voto

Tom Points 622

C'est très bien de rediriger vers HTTPS, mais j'ai lu que cela dépend aussi de la façon dont on organise la redirection.

Créer un hôte virtuel dédié pour rediriger les requêtes HTTP entrantes vers votre connexion HTTPS, comme suggéré dans le document cette réponse sur sécurité.stackexchange.com - semble très intelligent et permettra de fermer certaines menaces de sécurité supplémentaires. Une configuration dans Apache ressemblerait à ceci :

# Virtual host for rerouting
<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / https://www.example.com/
</VirtualHost>

# Virtual host for secure hosting on https
<VirtualHost *:443>
    ServerName www.example.com
    SSLEngine on
    Header set Strict-Transport-Security "max-age=8640000;includeSubdomains"

    ...site settings...

</VirtualHost>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X