Die Installation von VPN-Software auf einem Webhost kann Dienste umsortieren, aber ein unerwartetes Zertifikat beweist nicht, dass die Apache-Dateien überschrieben wurden. Etwas hat Ihrem Browser dieses Zertifikat präsentiert, und die erste Aufgabe besteht darin, es zu benennen. Solange Listener und virtueller Host nicht bestimmt sind, ist jede Reparatur eine Vermutung, die auf die falsche Ebene angewendet wird. Die gesamte Prüfung unten ist ausschließlich lesend.

Nichts wird neu gestartet, deinstalliert oder überschrieben, während Sie die Fakten sammeln, die den Fall entscheiden.

Lesen Sie das Zertifikat, das der Browser tatsächlich bekam

Notieren Sie den Hostnamen, die aufgelöste Adresse je Adressfamilie, den Port und die Zertifikatsdetails, über die der Browser sich beschwert hat. Ein Name, der sich sowohl auf einen A- als auch auf einen AAAA-Eintrag auflösen lässt, kann zwei verschiedene Frontends erreichen, und nur eines davon ist möglicherweise der Host, auf dem Sie Shell-Zugriff haben. Ein Browser hinter einem Proxy kann erneut einen dritten Weg nehmen. Zu raten, welcher davon die Warnung erzeugt hat, verschwendet die einzige Beobachtung, die Sie haben.

Reproduzieren Sie dann den Handshake von einer Maschine auf demselben Weg, nennen Sie die Adresse ausdrücklich und senden Sie den beabsichtigten Servernamen, damit die Antwort die Website und nicht den Standard-Host widerspiegelt.

openssl s_client -connect 198.51.100.37:443 -servername www.example.net </dev/null 2>/dev/null |
  openssl x509 -noout -subject -issuer -fingerprint -sha256 -ext subjectAltName

Vergleichen Sie die alternativen Subjektnamen und den Fingerabdruck mit dem Zertifikat, das Sie erwarten, nicht mit einem vertrauten Aussteller. Eine Verbindung zu einer bloßen Adresse ohne den Servernamen kann ein Standardzertifikat auswählen, das dann wie die falsche Datei aussieht, obwohl es in Wirklichkeit die falsche Frage ist.

Bestimmen Sie den Prozess, der an diesen Port gebunden ist

Listen Sie auf dem Host, der die Verbindung erhalten soll, die Listener auf und notieren Sie die Bind-Adresse, die Adressfamilie und den Prozesseigentümer. Ein Dienst, der an die Loopback-Adresse gebunden ist, ist nicht dasselbe wie einer, der an alle Schnittstellen gebunden ist, und eine Container-Veröffentlichung kann den öffentlichen Listener ganz woandershin legen.

sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'

Wenn TLS von einem Load Balancer oder einem davor sitzenden Proxy beendet wird, hören Sie hier auf und untersuchen Sie stattdessen dieses Frontend. Die Apache-Instanz dahinter präsentiert einem öffentlichen Browser möglicherweise nie ein Zertifikat, sodass eine Änderung ihrer Konfiguration nichts von dem verändert, was der Browser sieht. Die Socket-Ansicht und der externe Handshake müssen denselben Weg beschreiben, und genau das stellt dieser Vergleich fest.

Virtuellen Host vor der Datei abgleichen

Wenn Apache der Terminator ist, fragen Sie ihn, welcher virtuelle Host für diese Adresse und diesen Namen gewinnt. Das Steuerkommando gibt das effektive Layout aus, einschließlich der jedem Socket zugeordneten Gruppe, der deklarierten Servernamen und des Hosts, der als Standard behandelt wird. Eine Zertifikatsdatei ohne diese Antwort zu bearbeiten, ist der Weg, auf dem die falsche Website aus einer korrekten Datei ausgeliefert wird.

sudo apachectl -S

Die Apache-SSL-FAQ erklärt, wie Server Name Indication ein Zertifikat auswählt. Der HTTP-Host-Header kommt nach dem Handshake an und kann das bereits Präsentierte nicht rückwirkend ändern, sodass ein nicht passender oder fehlender Name auf den Standard-Host zurückfällt.

Ein benannter virtueller Host mit einem Tippfehler in ServerAlias erzeugt genau dieses Symptom, und eine zweite Konfigurationsdatei, die zuerst einen Catch-all-Host lädt, ebenso. Beides ist in dieser Layout-Auflistung sichtbar.

Prüfen Sie die Korrektur auf jedem behaupteten Weg

Wiederholen Sie nach einer genehmigten Änderung die hostnamenspezifische Prüfung für jede Adressfamilie und schließen Sie mit der gewöhnlichen Validierung des Browsers ab statt mit einem Umgehungsflag. Bewahren Sie einen separaten Administrationsweg, bevor Sie gemeinsame Listener-Einstellungen anfassen, denn ein Fehler dort entfernt den Zugang, mit dem Sie ihn rückgängig machen würden. Notieren Sie anschließend, welcher Listener geantwortet hat, welcher virtuelle Host passte und welches Zertifikat vorher und nachher ausgeliefert wurde.

Das Entfernen eines Pakets kann das Layout ändern und die ursprüngliche Abweichung unerklärt zurücklassen, weshalb diese Aufzeichnung die Reparatur überdauert.

Was Sie wollen, ist die beabsichtigte Website am beabsichtigten Einstiegspunkt. Ein anderes Zertifikat, nachdem ein nicht zusammenhängender Dienst verschwunden ist, ist nicht dieses Ergebnis, selbst wenn der Browser aufhört zu klagen.

Ähnliche Artikel