Cette chaîne de certificats SSL est-elle cassée et comment y remédier?

13

Pour le certificat SSL sur le domaine example.com, certains tests m'indiquent que la chaîne est incomplète et puisque Firefox conserve son propre magasin de certificats, il peut échouer sur Mozilla ( 1 , 2 , 3 ). D'autres me disent que c'est bien , tout comme Firefox 36, qui me dit que la chaîne de certificats est bien.

MISE À JOUR: J'ai testé sur Opera, Safari, Chrome et IE sur Windows XP et MacOS X Snow Leopard, ils fonctionnent tous très bien. Il échoue uniquement sur Firefox <36 sur les deux systèmes d'exploitation. Je n'ai pas accès aux tests sous Linux, mais pour ce site c'est moins de 1% des visiteurs, et la plupart sont probablement des bots. Ainsi, cela répond aux questions d'origine "cette configuration affiche-t-elle des avertissements dans Mozilla Firefox ou non" et "Cette chaîne de certificats SSL est-elle cassée ou non?".

Par conséquent, la question est de savoir comment savoir quels certificats dois-je placer dans le fichier ssl.ca afin qu'ils puissent être servis par Apache pour empêcher Firefox <36 de s'étouffer?

PS: En remarque, le Firefox 36 que j'ai utilisé pour tester le certificat était une toute nouvelle installation. Il n'y a aucune chance qu'il ne se soit pas plaint car il avait téléchargé un certificat intermédiaire lors d'une précédente visite sur un site utilisant la même chaîne .

Gaia
la source
1
Pas nécessairement - en tout cas, si vous êtes en mesure de répondre à votre propre question, vous avez encouragé à le faire :)
BE77Y
Oui, j'ai répondu à celle-ci, mais il serait plus utile de demander à nouveau comment réparer au lieu de le casser. Est-ce correct de le faire?
Gaia
1
Absolument. Cela garde les réponses pertinentes ici aussi (depuis le moment où elles ont été publiées, elles avaient raison, non?)
Canadien Luke
@Gaia: ah, ok - je vois ce que tu veux dire maintenant. Je ne suis pas à 100% sur ce qui serait considéré comme la meilleure pratique à ce sujet, mais mon instinct serait de mettre à jour votre question pour inclure "et comment cela devrait-il être résolu?" Dans votre cas, selon la réponse de Steffen Ullrich, le certificat "COMODO RSA Certification Authority" est absent de la chaîne - vous pouvez éviter toute erreur potentielle du client mais l'inclure dans votre chaîne. Ceci n'est jamais vraiment considéré comme une mauvaise pratique dans la mesure où il ajoute des frais généraux potentiellement inutiles à la poignée de main - sinon cela n'a aucun effet néfaste.
BE77Y
En plus de ce qui précède, il convient également de noter que la plupart des clients modernes, sinon tous, devraient être parfaitement satisfaits de la configuration telle qu'elle est actuellement (selon le test SSLlabs)
BE77Y

Réponses:

8

Si la chaîne est suffisante, cela dépend du magasin CA du client. Il semble que Firefox et Google Chrome aient inclus le certificat pour "COMODO RSA Certification Authority" fin 2014. Pour Internet Explorer, cela dépend probablement du système d'exploitation sous-jacent. L'autorité de certification n'est peut-être pas encore incluse dans les magasins de confiance utilisés par les non-navigateurs, c'est-à-dire les robots d'exploration, les applications mobiles, etc.

Dans tous les cas, la chaîne n'est pas entièrement correcte, comme le montre le rapport SSLLabs :

  • Un chemin d'approbation nécessite que la nouvelle autorité de certification soit approuvée par le navigateur. Dans ce cas, vous expédiez toujours la nouvelle autorité de certification, ce qui est faux, car les autorités de certification de confiance doivent être intégrées et non contenues dans la chaîne.
  • L'autre chemin de confiance est incomplet, c'est-à-dire qu'il a besoin d'un téléchargement supplémentaire. Certains navigateurs comme Google Chrome effectuent ce téléchargement, tandis que d'autres navigateurs et non-navigateurs s'attendent à ce que tous les certificats nécessaires soient contenus dans la chaîne expédiée. Ainsi, la plupart des navigateurs et applications qui ne disposent pas de la nouvelle autorité de certification intégrée échoueront avec ce site.
Steffen Ullrich
la source
J'ai l'impression que Chrome et IE utilisent tous les deux le magasin de certificats Windows. Êtes-vous sûr que Chrome possède son propre magasin supplémentaire?
Gaia
SSLlabs indique "Problèmes de chaîne = Aucun", mais je vois l'analyse détaillée de la chaîne ci-dessous.
Gaia
1
FWIW, Chrome sous OS X utilise en effet le magasin de certificats OS, @SteffenUllrich.
BE77Y
1
@Gaia: n'oubliez pas les clients mobiles, ils ont leur propre magasin de certificats qui peut également différer entre les différentes versions d'Android.
Steffen Ullrich
1
@Gaia: prenez le deuxième chemin de confiance indiqué par SSLLabs et ajoutez simplement le certificat de chaîne manquant. Cette chaîne peut ensuite être validée à la fois par les navigateurs qui ont la plus récente autorité de certification et ceux qui ne l'ont pas encore.
Steffen Ullrich
8

J'ai contacté Comodo et téléchargé un fichier bundle.crt à partir d'eux. Je l'ai renommé ssl.ca, conformément à la configuration de ce serveur, et maintenant le certificat réussit tous les tests. L' Chain issues = Contains anchoravis n'est pas un problème (voir ci-dessous).

SSL Labs, largement considéré comme le test le plus complet, le montre maintenant Chain issues = Contains anchor, alors Chain issues = Nonequ'il le montrait auparavant (tandis que les autres montraient un problème avec la chaîne). Ce n'est vraiment pas un problème ( 1 , 2 ), à part 1 Ko supplémentaire que le serveur envoie au client.

Ma conclusion

  1. Ignorez le test SSL Labs où il est dit Chain issues = Contains anchorOU supprimez le certificat racine du fichier de bundle (voir ce commentaire ci-dessous).

  2. Exécutez toujours un test secondaire sur au moins l'un des trois autres sites de test ( 1 , 2 , 3 ) pour vous assurer que votre chaîne est vraiment correcte lorsque SSL Labs le dit Chain issues = None.

Gaia
la source
2
Il n'y a vraiment aucun intérêt à inclure le certificat "d'ancrage" / "racine". Cependant, vous voulez vraiment le certificat intermédiaire. Je suppose que vous n'aviez pas initialement le certificat intermédiaire, ce qui a causé les problèmes.
Håkan Lindqvist
@ HåkanLindqvist Donc je devrais décrypter les certificats, découvrir lequel est le certificat racine et le retirer de la chaîne?
Gaia
1
Je suggérerais de le faire même si ce n'est pas un problème aussi grave que l'absence de certificats intermédiaires (c'est juste un peu de gaspillage). Fwiw, le test SSL de Qualy indique que c'est 02faf3e291435468607857694df5e45b68851868inutile.
Håkan Lindqvist
@ HåkanLindqvist utilisant openssl x509 -fingerprint -in ssl.cai cloué que la partie du fichier qui a des empreintes digitales 02faf3e291435468607857694df5e45b68851868était le premier PEM. Je l'ai supprimé et je reçois maintenant i.imgur.com/1iG2UCz.png et i.imgur.com/m8gYbdG.png (ERREUR OCSP: Échec de la demande avec le statut OCSP: 6 [ ocsp.comodoca.com] )
Gaia
3
Votre conclusion concernant l'avertissement "contient une ancre" est valide - Cette réponse sur Security.SE mérite une lecture concernant; en résumé il n'y a aucun problème à l'envoyer: security.stackexchange.com/a/24566/7043
Chris J