Comment éviter https: // être accessible à partir de domaines sans certificat?

J'ai cette configuration

Server version: Apache/2.2.22 (Ubuntu) OpenSSL 1.0.1c 10 May 2012 

Une adresse IP avec plusieurs domaines qui y sont connectés. Par exemple, j'ai un certificat SSL signé et, par conséquent, example1.com est accessible via https://secure.example1.com

Ceci est également vrai pour example2.com (signé avec un certificat valide et accessible via https://secure.example2.com )

Toutefois, example3.com n'a PAS de certificats SSL lié et ne doit pas être accessible via https (port SSL 443). Mais, lorsqu'un utilisateur passe à https://example3.com un avertissement s'affiche. Au Chrome, cela ressemble à ça

Vous avez essayé d'accéder à example3.com, mais vous avez réellement atteint un serveur identifiant lui-même comme secure.example1.com. Cela peut être dû à une mauvaise configuration sur le serveur ou à quelque chose de plus grave. Un attaquant sur votre réseau pourrait essayer de vous permettre de visiter une version fausse (et potentiellement dangereuse) de example3.com

Si vous ignorez l'avertissement, l'utilisateur affichera le contenu de secure.example1.com

La configuration de VirtualHost ressemble à ceci

 <VirtualHost *:443> ServerName secure.example1.com DocumentRoot /var/www/blahblah SSLEngine on SSLCertificateFile /blahblah.crt SSLCertificateKeyFile /blahblah.key SSLCertificateChainFile /blahblah.pem </VirtualHost> <VirtualHost *:443> ServerName secure.example2.com DocumentRoot /var/www/blahblah SSLEngine on SSLCertificateFile /blahblah.crt SSLCertificateKeyFile /blahblah.key SSLCertificateChainFile /blahblah.pem </VirtualHost> <VirtualHost *:80> ServerName example3.com DocumentRoot /var/www/blahblah </VirtualHost> 

Comment puis-je empêcher ce comportement?

2 Solutions collect form web for “Comment éviter https: // être accessible à partir de domaines sans certificat?”

Les domaines non SSL ne doivent pas utiliser cette IP. Même pour plusieurs domaines compatibles avec SSL, vous comptez sur les clients pour implémenter SNI sans problème, ce qui peut ou non être une hypothèse sûre.

Le problème est que, avant que Apache ne puisse rediriger le navigateur vers HTTP, une prise de contact SSL doit réussir. Par conséquent, si vous ne pouvez pas fournir un certificat valide pour le domaine, les clients réclameront toujours des erreurs SSL.

Edition : plusieurs domaines SSL fonctionneront sans problème si vous utilisez un seul certificat avec des SAN appropriés (certificat multidomaine). Le problème avec les domaines non SSL reste cependant.

Comme Koen van der Rijt l'a déjà écrit, vous devriez vérifier SF pour des questions similaires et lire attentivement les réponses.

  apache2ctl -S 

Vous donne l'ordre de "exécution"

Donc, votre exemple1.com est le premier port: 443 domaine défini, celui-ci sera utilisé.

Au lieu de cela, vous pouvez soit créer un certificat authentifié autonome et informer l'utilisateur que ce domaine n'a pas de connexion https en ce moment ou faire une réécriture de code qui redirige le trafic de https://domain3.com vers http://domain3.com . Notez que cela nécessiterait un certificat "invalide" et informera l'utilisateur.

Si vous n'utilisez pas SNI, vous avez en outre besoin d'au moins 1 IP par Cert.

  • Générer .key et .crt du file PKCS12?
  • Comment redéfinir avant de vérifier SSL?
  • 3 millions d'users par mois sur un chariot très actif qui a besoin de SSL. Quelles sont les options d'équilibrage de charge rentables pour l'accélération SSL?
  • IIS 8 SSL arrête de fonctionner Windows 2012 Core
  • Nginx: force SSL sur un chemin, non SSL sur les autres
  • Est-il considéré comme sûr d'envoyer un courrier électronique sans utiliser SSL?
  • Apache & Tomcat & mod_jk Redirection SSL sur certaines pages uniquement
  • Signez un certificate personnel avec un certificate générique digicert
  • Windows PKI: Comment puis-je importer, signer / émettre et exporter un grand nombre de CSR?
  • Comment utiliser votre certificate ssl et la key de votre site Web avec la console activemq?
  • OpenVPN - Puis-je utiliser un certificate SSL existant?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.