Untergeordnete Zertifizierungsstelle für Sophos UTM HTTPS CA (Web Filter)

Meine kleine Sophos UTM filtert brav den HTTP-Verkehr (Web Filter) und scannt ihn auf Viren und Malware, das funktioniert auch recht zuverlässig, es sei denn es handelt sich um verschlüsselte Webseiten (HTTPS). In der Standardeinstellung kann die UTM keinen verschlüsselten Verkehr scannen und somit auch keine Viren/Malware aussortieren.

Das lässt sich allerdings einfach ändern. Im Web Protection Feature der UTM gibt es die Option “Scan HTTPS (SSL) Traffic” der einfach angehakt werden kann:

image

Somit passiert folgendes:

Wenn ein Benutzer eine verschlüsselte Internetseite aufruft, terminiert die UTM die SSL Verbindung, scannt den Datenstrom, verschlüsselt die Seite neu und präsentiert sie dem Client. Für die erneute Verschlüsselung der Webseite benötigt die UTM eine CA, die sie praktischerweise direkt mitbringt

image

Wie das Ganze funktioniert sieht man in diesem Beispiel:

Zunächst der Aufruf von Google ohne “SSL Traffic Scan”

image

Das Zertifikat stammt von Google, ist gültig, kein Problem. Jetzt mit eingeschaltetem “SSL Traffic Scan”:

image

Nichts geht mehr. Hintergrund ist folgender. Dem Zertifikat der Sophos UTM Zertifizierungsstelle wird vom Client nicht vertraut. Der Browser erkennt sogar, dass da etwas ganz im Argen liegt und meldet eine Man-in-the-Middle Attacke:

Die Sicherheitszertifikatprobleme deuten eventuell auf den Versuch hin, Sie auszutricksen bzw. Daten die Sie an den Server gesendet haben abzufangen.

Jetzt könnte man das Zertifikat der Sophos CA natürlich einfach an jedem Client importieren, damit es als gültig anerkannt wird und auch keine Fehlermeldung mehr erscheint (siehe nächstes Bild), aber das wäre ja nur halb so schön, wo ich doch schon soviel zu Zertifikaten und CAs in MS Umgebungen geschrieben habe.

image

Da ich sowieso eine CA auf einem Windows Server im Einsatz habe, kann ich auch direkt eine Zwischenzertifizierungsstelle auf der UTM einrichten, die durch die Windows CA (meine Root-CA) signiert wird. Dadurch habe ich den Vorteil das ich das Zertifikat der UTM auch sperren kann, wenn es mal ein Sicherheitsproblem gibt, dies wäre nicht möglich wenn ich das Zertifikat der Standard UTM CA auf den Clients importiere. Da die UTM scheinbar keine Zertifikatsanforderung für seine CA generieren kann (zumindest habe ich es nicht gefunden), generiere ich das Zertifikat auf einem andern Server. Mehr dazu gleich. Zuerst die Windows CA vorbereiten.

In den Zertifikatsvorlagen die Vorlage “Untergeordnete Zertifizierungsstelle” duplizieren

image

Der neuen Vorlage einen schönen Namen geben und das Häkchen bei “Zertifikat im AD veröffentlichen” setzen

image

Auf dem Reiter Sicherheit dem Domain Admin und dem Computer Konto der CA selbst Vollzugriff auf die Vorlage geben

image

Jetzt die neue Vorlage veröffentlichen

image

Die CA ist bereit für das Erstellen einer Sub-CA. Zeit das Zertifikat für die untergeordnete CA zu besorgen, dazu in der Zertifikate MMC auf der CA ein neues Zertifikat beantragen

image

Dann die neue Vorlage auswählen

image

Wenn das Häkchen bei der Vorlage gesetzt ist, auf den Text darunter klicken und die Werte ergänzen:

  • Allgemeiner Name
  • Land
  • Ort
  • Organisation
  • Organisationseinheit
  • E-Mail
  • DNS (hier kann der externe Name der UTM stehen)

image

Auf dem Reiter “Allgemein” noch einen Anzeigenamen vergeben und auf OK klicken

image

Jetzt noch das Zertifikat registrieren und es sollte so aussehen

image

In der MMC findet sich jetzt das Zertifikat für die Sub-CA

image

Das Zertifikat muss nun exportiert werden

image

Wichtig! Das Zertifikat muss 2 mal exportiert werden, einmal mit privaten Schlüssel, und einmal ohne. Hier das Beispiel mit privaten Schlüssel:

image

Im nächsten Dialog auch die erweiterten Eigenschaften exportieren

image

Dann noch ein Kennwort angeben und das Zertifikat speichern. Wenn das Zertifikat exportiert wurde, kann es aus der MMC gelöscht werden. Das Zertifikat mit dem privaten Schlüssel (PFX) wird nun auf der Sophos UTM importiert

image

Wenn der Import erfolgreich war, sieht es so aus:

Web Filter

Das Zertifikat _OHNE DEN PRIVATEN SCHLÜSSEL_ (.CER) müsst ihr jetzt auf den Clients importieren, am besten per GPO in die “Vertrauenswürdigen Zwischenzertifizierungsstellen”

image

Sobald das erledigt ist, könnt ihr den Haken bei “Scan HTTPS (SSL) Traffic” setzen und Google sieht nun so aus:

image

So gefällt mir das.

13 Gedanken zu „Untergeordnete Zertifizierungsstelle für Sophos UTM HTTPS CA (Web Filter)“

  1. Hallo,

    Falls jemand mal einen SBS 2011 migriert hat mit der integrierten Zertifizierungsstelle, dann kann es sein, das die neue Vorlage nicht Aktiviert werden kann, da diese nicht gefunden wird. Geholfen hat das hier:
    https://securitymusings.com/article/1733/cant-create-a-new-certificate-template-to-issue
    Das Flag in der AD für Konfiguration -> CN=Configuration,DC=domain.DC=Local -> CN=Services -> CD=Public Key Services -> Rechtklick auf die CA auf der rechten Seite „Attribut-Editior“ -> Flags von 2 auf 10 Stellen. AD Zertifikatsdienste neustarten. Dann geht es.

    Antworten
  2. Hallo Zusammen,

    der letzte post ist schon eine Zeit her, aber trotzdem würde mich gerne interessieren ob man die windows ca auch an meine apple iphones und so ausrollen kann , wenn ja wie ? muss theoretisch blos das zertifizierungsstellen root zertifikat in die iphone prügeln oder ?

    Antworten
  3. Hallo,
    ich plane die Umsetzung auf dem oben genannten Weg, habe aber als Tücke noch vereinzelte Systeme mit Firefox. Dort läßt sich mittlerweile per Schalter der Zugriff auf die Windows-Trusted-Roots freischalten „security.enterprise_roots.enabled=true“. Greift dieser Schalter auch für die Zwischenzertifizierungsstellen?
    Falls nicht, gehe ich mal davon aus, ich kann die Sophos-Sub-CA per GPO auch in die Vertrauenswürdigen Stammzertifizierungsstellen importieren?

    Grüße Steve

    Antworten
  4. Hallo,

    ich habe bemerkt dass das Zertifikat für die UTM (Untergeordnete CA) nur ein dieses eine Zertifikat in der Zertifikatskette enthält. Ich verstehe nicht wieso ich habe die Vorlage Untergeordnete Zertifizierungsstelle dupliziert und diese dann verwendet. Im Zertifikat steht: Augestellt von Proxy CA Antragsteller: Proxy CA, allerdings müsste da stehen wie bei deinem Zertifikat Antragsteller : Proxy CA ausgestellt von: Root CA

    LG Davide

    Antworten
  5. Hallo,

    ich finde deinen Post wirklich interessant.
    Leider funktioniert das nicht so bei mir obwohl ich exakt die Anleitung befolgt habe.
    Kann das sein dass in der Version 9.4 ein Bug ist?
    Wenn ich nämlich das Sub CA Zertifikat im PKCS #12 Format in die Sophos UTM hochlade bekomme ich beim surfen nur noch Fehlermeldungen… Und das nicht weil das Zertifikat nicht vertraut wird, sondern weil es jetzt keine Zertifikatskette mehr gibt, sprich beim Browser wird nur mehr ein Zertifikat angezeigt.

    LG
    Davide

    Antworten
    • Hi Davide,
      ich hatte ein ähnliches Problem, ich konnte es lösen indem ich die Root-CA auf der Sophos hinterlegt habe, das funktionierte allerdings nur, wenn das Zertifikat Base64 Format vorlag, sonst gab es einen Fehler. Nachdem das Zertifikat installiert war, wurde auch die Chain sauber aufgebaut.
      Gruß, Frank

      Antworten
  6. Hallo,

    mich würde interessieren, warum du eine Sub-CA wählst? Könntest du theoretisch auch deine Root CA importieren und welche Vor- oder Nachteile hat das? Ich bin auch noch am überlegen, warum es lt. Sophos nicht funktionieren soll, wenn man ein „gekauftes“ Zertifikat verwendet:

    „Can I purchase a public certificate from a CA to avoid certificate warnings?

    While it may be tempting to purchase a publicly signed signing certificate to avoid a certificate warning, the HTTPS security model will prevent this from succeeding. If the signing certificate itself (NOT the issuer of the certificate) is not a trusted signing authority in the user’s browser, then a certificate error will still be shown to users. A certificate purchased from a signing authority offers no advantages in this instance, over a self-signed certificate.“
    (https://www.sophos.com/de-de/support/knowledgebase/115592.aspx).

    Hat das damit zu tun, dass die zu kaufenden Zertifikate keine geeigneten Zertifikate sind? Die bekannten Zertifizierungsstellen sind doch eigentlich auf allen Clients im Zertifikatsspeicher vorhanden….

    Gruß
    Sebastian

    Antworten
  7. Habe es erst jetzt gesehen du Exchange-Mongo :D sehr gute Anleitung! Cool wäre noch das Thema SubCA und Zertifikate für SSL VPN, zerbeiße mir gerade den Kopf damit wegen Kunden die per Softwareverteilung das hinbekommen wollen :(

    Antworten
  8. Vielen Dank für die ausführliche Anleitung. Warum genau muss das SubCA Zertifikat noch auf die Clients verteilt werden, obwohl das RootCA Zertifikat bereits importiert ist und die gesamte Zertifikatskette bekannt sein müsste?

    Antworten
    • Hallo, es wird zwar der Root-CA vertraut und auch den Zertifikaten die von der Root-CA ausgestellt werden, jedoch nicht Zertifikaten die von der UTM Sub-CA ausgestellt werden.
      Gruß, Frank

      Antworten

Schreibe einen Kommentar