Ich habe gerade festgestellt, dass SSL-Man-in-the-Middle-Angriffe weitaus häufiger sind als ich dachte, insbesondere in Unternehmensumgebungen. Ich habe von mehreren Unternehmen gehört und mich selbst gesehen, die über einen transparenten SSL-Proxyserver verfügen. Alle Clients sind so konfiguriert, dass sie dem Zertifikat dieses Proxys vertrauen. Dies bedeutet im Grunde, dass der Arbeitgeber theoretisch sogar SSL-verschlüsselten Verkehr abfangen kann, ohne dass Warnungen im Browser auftauchen. Wie oben erwähnt, werden die Clients mit dem vertrauenswürdigen Zertifikat geliefert. Dies kann nur durch manuelle Validierung des verwendeten Zertifikats festgestellt werden.
Mir scheint, als würde der Arbeitgeber seine überlegene Position nutzen, um den SSL-Verkehr des Arbeitnehmers auszuspionieren. Für mich macht dies das gesamte Konzept von SSL nicht vertrauenswürdig. Ich habe ein ähnliches Setup selbst mit mitmproxy erfolgreich getestet und konnte die Kommunikation zwischen dem Client und meinem E-Banking-Server lesen. Dies sind Informationen, die niemandem preisgegeben werden sollten.
Daher ist meine Frage ziemlich einfach: Wie kann ich die Vertrauenskette auf der Serverseite überprüfen? Ich möchte sicherstellen, dass der Client das Zertifikat meines Servers und nur eine Vertrauenskette verwendet. Ich frage mich, ob dies durch die SSL-Konfiguration von Apache erreicht werden kann. Dies wäre praktisch, da es leicht auf viele Anwendungen angewendet werden könnte. Wenn dies nicht möglich ist, kennt jemand eine Möglichkeit, dies in PHP zu tun? Oder haben Sie noch andere Vorschläge?