Ein Arbeitstag und ein Feld
Donnerstag, kurz vor sechs am Abend. Eine Nachricht von einem Kunden: Könnt ihr noch mal unterstützen? Horizon, immer noch Zertifikatsfehler.
Die Zertifikate waren getauscht worden. Auf dem Connection Server sah das neue Zertifikat gut aus, auf den Unified Access Gateways auch. Trotzdem meldeten die Clients einen Mismatch.
Unsere erste Rückfrage: Habt ihr die Zertifikate für den Tunnel auch hinterlegt?
Ein paar Minuten später: Ja, gefunden. Und kurz danach der eigentliche Treffer: das Zertifikat für Blast.
Wie lange sie daran gesessen hatten? Der eine Kollege zwei Stunden. Der andere seit elf Uhr am Morgen.
Wo das Zertifikat noch steht
Ein Horizon-Zugang von außen hat mehr als eine Stelle, an der ein Zertifikat hinterlegt ist. Das offensichtliche ist das Server-Zertifikat des Gateways, das der Browser und der Client beim Verbindungsaufbau sehen. Das tauscht jeder.
Die Verbindung zum Desktop läuft aber nicht nur darüber. Der Unified Access Gateway bringt dafür eigene Gateways mit, unter anderem das Blast Secure Gateway und den sicheren Tunnel. In den Horizon-Einstellungen des Gateways gibt es eigene Felder für deren Zertifikate, das Tunnel Proxy Certificate und das Blast Proxy Certificate.
Laut Omnissa sind sie vor allem dann wichtig, wenn vor den Gateways ein Load Balancer steht, der ein anderes Zertifikat zeigt. Dann muss das öffentliche Zertifikat auch für Tunnel und Blast hinterlegt sein, sonst passen die Fingerabdrücke nicht zusammen. Der Client sieht ein Zertifikat, erwartet ein anderes und meldet einen Mismatch, obwohl beide Zertifikate für sich gültig sind.
Genau so sieht der Fehler aus, wenn man nur die offensichtliche Stelle getauscht hat.
Was wir prüfen, wenn nach dem Tausch noch ein Mismatch kommt
- Server-Zertifikat auf dem Connection Server. Mit dem richtigen Anzeigenamen hinterlegt, damit Horizon es überhaupt verwendet.
- Server-Zertifikat auf jedem Gateway. Auf allen, nicht nur auf einem. Hinter einem Load Balancer landet sonst jede zweite Verbindung auf dem alten.
- Tunnel und Blast. Die eigenen Felder in den Horizon-Einstellungen des Gateways, vor allem, wenn ein Load Balancer ein eigenes Zertifikat zeigt.
- Was tatsächlich ausgeliefert wird. Nicht in der Oberfläche nachsehen, sondern messen: Welches Zertifikat bekommt ein Client wirklich zu sehen, auf welchem Weg?
Die eigentliche Lehre
Der Fehler war nicht dumm. Die Stelle ist leicht zu übersehen, wenn man Horizon nicht jede Woche anfasst. Wir haben dafür keinen besonderen Instinkt. Wir haben es nur schon oft genug gemacht, um zu wissen, wo man als Zweites nachsieht.
Und das ist der Punkt. Einen Arbeitstag Suche gegen eine Frage, die ein paar Minuten dauert. Ein anderer Kunde hatte vor demselben Tausch einfach vorher gefragt, was alles dazugehört. Bei ihm klemmte es an ganz anderer Stelle, aber nicht an diesem Feld. Wer ein Zertifikat in einer Umgebung tauscht, die er selten anfasst, fragt am besten vorher: Was muss alles getauscht werden? Nicht, weil man es nicht selbst herausfinden könnte. Sondern weil die Zeit an diesem Abend woanders besser aufgehoben ist.
Zertifikate, die einfach ablaufen, sind übrigens die verwandte Geschichte: Alle Zertifikate erneuert. Bis auf eins.
