Ist diese SSL-Zertifikatskette unterbrochen und wie kann sie behoben werden?

13

Für das SSL-Zertifikat auf der Domain example.com wurde in einigen Tests festgestellt, dass die Kette unvollständig ist. Da Firefox einen eigenen Zertifikatspeicher verwaltet, kann es unter Mozilla ( 1 , 2 , 3 ) zu Fehlern kommen . Andere sagen mir, dass es in Ordnung ist , ebenso wie Firefox 36, das mir sagt, dass die Zertifikatskette in Ordnung ist.

UPDATE: Ich habe es unter Opera, Safari, Chrome und IE sowohl unter Windows XP als auch unter MacOS X Snow Leopard getestet. Alle funktionieren einwandfrei. Es schlägt nur in Firefox <36 unter beiden Betriebssystemen fehl. Ich habe keinen Zugang zum Testen unter Linux, aber für diese Website ist es weniger als 1% der Besucher, und die meisten sind wahrscheinlich Bots. Auf diese Weise werden die ursprünglichen Fragen "Werden bei diesem Setup Warnungen in Mozilla Firefox angezeigt oder nicht" und "Ist diese SSL-Zertifikatskette unterbrochen oder nicht?" Beantwortet.

Daher stellt sich die Frage, wie ich herausfinde, welche Zertifikate ich in die Datei ssl.ca einfügen muss, damit sie von Apache bereitgestellt werden können, damit Firefox <36 nicht erstickt.

PS: Als Randnotiz war der Firefox 36, mit dem ich das Zertifikat getestet habe, eine brandneue Installation. Es gibt keine Chance, dass es sich nicht beschwert hat, weil es ein Zwischenzertifikat während eines vorherigen Besuchs auf einer Site heruntergeladen hat, die dieselbe Kette verwendet .

Gaia
quelle
1
Nicht unbedingt - auf jeden Fall, wenn Sie in der Lage sind, Ihre eigene Frage zu beantworten, haben Sie dazu aufgefordert :)
BE77Y
Ja, ich habe auf diese Frage geantwortet, aber es wäre sinnvoller, erneut zu fragen, wie das Problem behoben werden soll, anstatt dass es defekt ist. Ist das in Ordnung?
Gaia,
1
Absolut. Die Antworten
Kanadier Luke
@ Gaia: Ah, ok - ich verstehe was du jetzt meinst. Ich bin nicht zu 100% der Meinung, was als Best Practice in dieser Hinsicht angesehen wird, aber mein Instinkt wäre, Ihre Frage so zu aktualisieren, dass sie "und wie sollte dies gelöst werden?" Enthält. In Ihrem Fall fehlt gemäß der Antwort von Steffen Ullrich das Zertifikat "COMODO RSA Certification Authority" in der Kette - Sie können potenzielle Kundenfehler vermeiden, aber in Ihre Kette aufnehmen. Dies wird immer nur insofern als schlechte Praxis angesehen, als es dem Handshake möglicherweise unnötigen Overhead hinzufügt - andernfalls hat es keine nachteiligen Auswirkungen.
BE77Y
Darüber hinaus sollte beachtet werden, dass die meisten, wenn nicht alle modernen Clients mit dem aktuellen Setup (gemäß SSLlabs-Test)
absolut

Antworten:

8

Ob die Kette ausreicht, hängt vom CA-Speicher des Clients ab. Es sieht so aus, als hätten Firefox und Google Chrome das Zertifikat für "COMODO RSA Certification Authority" Ende 2014 aufgenommen. Für Internet Explorer hängt es wahrscheinlich vom zugrunde liegenden Betriebssystem ab. Die Zertifizierungsstelle ist möglicherweise noch nicht in Trust Stores enthalten, die von Nicht-Browsern verwendet werden, z. B. Crawlern, mobilen Anwendungen usw.

In jedem Fall ist die Kette nicht vollständig korrekt, wie aus dem SSLLabs-Bericht hervorgeht :

  • Ein Vertrauenspfad setzt voraus, dass die neue Zertifizierungsstelle vom Browser als vertrauenswürdig eingestuft wird. In diesem Fall versenden Sie immer noch die neue, falsche Zertifizierungsstelle, da vertrauenswürdige Zertifizierungsstellen integriert und nicht in der Kette enthalten sein müssen.
  • Der andere Vertrauenspfad ist unvollständig, dh es ist ein zusätzlicher Download erforderlich. Einige Browser wie Google Chrome führen diesen Download durch, während andere Browser und Nicht-Browser erwarten, dass alle erforderlichen Zertifikate in der Lieferkette enthalten sind. Daher schlagen die meisten Browser und Anwendungen, in denen die neue Zertifizierungsstelle nicht integriert ist, mit dieser Site fehl.
Steffen Ullrich
quelle
Ich habe den Eindruck, dass Chrome und IE beide den Windows-Zertifikatspeicher verwenden. Sind Sie sicher, dass Chrome einen eigenen Supplemental Store hat?
Gaia
SSLlabs gibt "Chain issues = None" an, aber ich sehe die detaillierte Kettenanalyse unten.
Gaia
1
FWIW, Chrome unter OS X verwendet in der Tat den OS-Zertifikatspeicher @SteffenUllrich.
BE77Y
1
@Gaia: Vergessen Sie nicht, dass die mobilen Clients einen eigenen Zertifikatspeicher haben, der sich auch zwischen verschiedenen Android-Versionen unterscheiden kann.
Steffen Ullrich
1
@Gaia: Nehmen Sie den zweiten von SSLLabs angezeigten Vertrauenspfad und fügen Sie einfach das fehlende Kettenzertifikat hinzu. Diese Kette kann dann sowohl von den Browsern mit der neueren Zertifizierungsstelle als auch von den Browsern ohne diese Zertifizierungsstelle überprüft werden.
Steffen Ullrich
8

Ich kontaktierte Comodo und lud eine bundle.crt-Datei von ihnen herunter. Ich habe es gemäß dem Setup dieses Servers in ssl.ca umbenannt, und jetzt besteht das Zertifikat alle Tests. Der Chain issues = Contains anchorHinweis ist kein Problem (siehe unten).

SSL Labs, weithin als der vollständigste Test angesehen, zeigt jetzt Chain issues = Contains anchor, während es früher gezeigt hat Chain issues = None(während die anderen ein Problem mit der Kette zeigten). Dies ist wirklich kein Problem ( 1 , 2 ), abgesehen von zusätzlichen 1 KB, die der Server an den Client sendet.

Meine Schlussfolgerung

  1. Ignorieren Sie den SSL Labs- Test, in dem angegeben wird, Chain issues = Contains anchorODER entfernen Sie das Stammzertifikat aus der Bundle-Datei (siehe diesen Kommentar unten).

  2. Führen Sie immer einen zweiten Test an mindestens einer der drei anderen Teststellen ( 1 , 2 , 3 ) durch, um sicherzustellen, dass Ihre Kette wirklich in Ordnung ist, wenn SSL Labs dies sagt Chain issues = None.

Gaia
quelle
2
Es hat wirklich keinen Sinn, das eigentliche "anchor" / "root" -Zertifikat einzuschließen. Sie möchten das Zwischenzertifikat jedoch unbedingt. Ich nehme an, Sie hatten ursprünglich kein Zwischenzertifikat, was die Probleme verursacht hat.
Håkan Lindqvist
@ HåkanLindqvist Also sollte ich die Zertifikate entschlüsseln, herausfinden, welches das Root-Zertifikat ist und es aus der Kette entfernen?
Gaia,
1
Ich würde vorschlagen, dies zu tun, obwohl es kein so ernstes Problem ist wie das Fehlen von Zwischenzertifikaten (es ist nur ein bisschen verschwenderisch). Fwiw, der SSL-Test von Qualy zeigt an, dass dies nicht erforderlich 02faf3e291435468607857694df5e45b68851868ist.
Håkan Lindqvist,
@ HåkanLindqvist mit openssl x509 -fingerprint -in ssl.caich habe genagelt, dass der Teil der Datei, der Fingerabdruck hat, 02faf3e291435468607857694df5e45b68851868die erste PEM war. Ich entfernte es, und jetzt bekomme ich i.imgur.com/1iG2UCz.png und i.imgur.com/m8gYbdG.png (OCSP ERROR: Die Anforderung ist fehlgeschlagen mit OCSP Status: 6 [ ocsp.comodoca.com] )
Gaia
3
Ihre Schlussfolgerung bezüglich der Warnung "enthält Anker" ist gültig - Diese Antwort auf Security.SE ist eine Lektüre wert; Zusammenfassend gibt es kein Problem beim Senden: security.stackexchange.com/a/24566/7043
Chris J