Bedingungen für Unternehmenszertifikate konfigurieren

Ein Grundprinzip von Chrome Enterprise Premium ist: „Der Zugriff auf Dienste wird basierend darauf gewährt, was wir über Sie und Ihr Gerät wissen.“ Die Zugriffsebene, die einem einzelnen Nutzer oder einem einzelnen Gerät zugewiesen wird, wird dynamisch durch das Abfragen mehrerer Datenquellen ermittelt. Dieses Maß an Vertrauen zieht Chrome Enterprise Premium bei der Entscheidungsfindung heran.

Access Context Manager ist die Zero-Trust-Richtlinien-Engine von Chrome Enterprise Premium. Mit Access Context Manager können Administratoren eine detaillierte, auf Attributen basierende Zugriffssteuerung für Anwendungen und Google Cloud-Ressourcen definieren.

Verwenden Sie Zugriffsebenen, um den Zugriff auf Ressourcen basierend auf Kontextinformationen zur Anfrage zuzulassen. Mithilfe von Zugriffsebenen können Sie Vertrauensebenen organisieren. Sie können beispielsweise eine Zugriffsebene mit dem Namen High_Level erstellen, die Anfragen von einer kleinen Gruppe von Nutzern mit umfangreichen Berechtigungen zulässt. Sie können auch eine allgemeinere Gruppe angeben, der Sie vertrauen möchten, z. B. einen IP-Bereich, von dem Sie Anfragen zulassen möchten. In diesem Fall können Sie eine Zugriffsebene namens Medium_Level erstellen, um diese Anfragen zuzulassen.

Eine der wichtigsten Voraussetzungen für den Zero-Trust-Zugriff besteht darin, den Zugriff nur dann zuzulassen, wenn das Gerät vom Unternehmen verwaltet wird oder dem Unternehmen gehört. Es gibt viele Möglichkeiten festzustellen, ob ein Gerät unternehmenseigenes Gerät ist. Eine Möglichkeit besteht darin, festzustellen, ob auf dem Gerät ein gültiges vom Unternehmen ausgestelltes Zertifikat vorhanden ist. Das Vorhandensein eines Unternehmenszertifikats auf einem Gerät kann verwendet werden, um darauf hinzuweisen, dass es sich um ein unternehmenseigenes Gerät handelt.

Unternehmenszertifikate für den kontextsensitiven Zugriff sind ein Feature der gesamten zertifikatsbasierten Zugriffslösung von Chrome Enterprise Premium. Diese Funktion nutzt Gerätezertifikate als alternatives kontextsensitives Signal, um festzustellen, ob ein Gerät ein unternehmenseigenes Asset ist. Diese Funktion wird im Chrome-Browser ab Version 110 unterstützt.

Da ein Gerät mehrere Zertifikate haben kann, kann auf Unternehmenszertifikate auf der benutzerdefinierten Zugriffsebene über die Makros .exist(e,p) zugegriffen werden:

device.certificates.exists(cert, predicate)

Im Beispiel ist cert eine einfache Kennung, die in predicator verwendet wird und an das Gerätezertifikat gebunden ist. Das exist()-Makro kombiniert Prädikatsergebnisse pro Element mit dem Operator „or“ (||). Das bedeutet, dass Makros „true“ zurückgeben, wenn mindestens ein Zertifikat den Ausdruck predicate erfüllt.

Das Zertifikat hat die folgenden Attribute, die zusammen geprüft werden können. Bei Stringvergleichen wird zwischen Groß- und Kleinschreibung unterschieden.

Attribut Beschreibung Beispiel für einen Prädikatausdruck (wobei cert eine Kennung von Makros ist)
is_valid „True“, wenn das Zertifikat gültig und nicht abgelaufen ist (boolesch). cert.is_valid
cert_fingerprint Fingerabdruck des Zertifikats (SHA256 ohne Auffüllung mit base64).

Der Fingerabdruck ist der nicht aufgefüllte base64-codierte SHA256-Digest im Binärformat des DER-verschlüsselten Zertifikats. Sie können den String aus dem Zertifikat im PEM-Format mit OpenSSL wie folgt generieren:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint Fingerabdruck des Root-CA-Zertifikats, das zum Signieren des Zertifikats verwendet wird (SHA256 ohne Padding).

Der Fingerabdruck ist der nicht aufgefüllte base64-codierte SHA256-Digest im Binärformat des DER-verschlüsselten Zertifikats. Sie können den String aus dem Zertifikat im PEM-Format mit OpenSSL wie folgt generieren:

$ openssl x509 -in cert.pem -out cert.der -outform DER
$ openssl dgst -sha256 -binary cert.der > digest.sha
$ openssl base64 -in digest.sha

cert.root_ca_fingerprint == "the_fingerprint"
issuer Ausstellername (vollständig erweiterte Namen).

So finden Sie den Ausstellernamen:

Führen Sie den folgenden Befehl für das Zertifikat aus:

$ openssl x509 -in ca_1.crt -issuer issuer= /C=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

Der in der Zugriffsebene verwendete Ausstellerstring ist die Umkehrung der Ausgabe und wird durch ein Komma ersetzt. Beispiel:

EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN

cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN"
subject Antragstellername des Zertifikats (vollständig erweiterte Namen). cert.subject == "CA_SUB"
serial_number Seriennummer des Zertifikats (String). cert.serial_number = "123456789"
template_id Vorlagen-ID der Zertifikatsvorlage der X.509-Erweiterung für das Zertifikat (String). cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

Die folgende Tabelle enthält Beispiele für Richtlinien, die Sie festlegen können:

Beispielrichtlinie Ausdruck
Das Gerät hat ein gültiges Zertifikat, das vom Root-Zertifikat des Unternehmens signiert ist. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
Gerät hat ein gültiges Zertifikat, das vom Aussteller CA_ABC. ausgestellt wurde device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

Unternehmenszertifikate konfigurieren

Bevor Sie Unternehmenszertifikate konfigurieren, müssen Sie benutzerdefinierte Zugriffsebenen konfiguriert haben. Eine Anleitung dazu finden Sie unter Benutzerdefinierte Zugriffsebene erstellen.

Sie können in Access Context Manager eine benutzerdefinierte Zugriffsebenendefinition verwenden, um die entsprechenden Richtlinien festzulegen. Bei benutzerdefinierten Zugriffsebenen werden boolesche Ausdrücke verwendet, die in einer Teilmenge von Common Expression Language (CEL) geschrieben sind, um die Attribute eines Clients zu testen, der eine Anfrage stellt.

Trust-Anchors in der Admin-Konsole hochladen

Damit Chrome Enterprise Premium das Unternehmenszertifikat für das Gerät erfassen und validieren kann, müssen Sie die Trust-Anchors hochladen, die zum Ausstellen des Gerätezertifikats verwendet werden. Die Trust-Anchors hier beziehen sich auf das Zertifikat der selbst signierten Stammzertifizierungsstelle und die relevanten Zwischen- und untergeordneten Zertifikate. Führen Sie die folgenden Schritte aus, um die Trust-Anchors hochzuladen:

  1. Öffnen Sie die Admin-Konsole und gehen Sie zu Geräte > Netzwerke > Zertifikate.
  2. Wählen Sie die entsprechende Organisationseinheit aus.
  3. Wählen Sie Zertifikat hinzufügen aus.
  4. Geben Sie den Namen des Zertifikats ein.
  5. Laden Sie das Zertifikat hoch.
  6. Klicken Sie das Kästchen Endpunktprüfung an.
  7. Klicken Sie auf Hinzufügen.
  8. Achten Sie darauf, dass Nutzer zu der Organisationseinheit gehören, für die die Trust-Anchors hochgeladen werden.

Richtlinie „AutoSelectCertificateForUrls“ konfigurieren

Damit die Endpunktprüfung das Gerätezertifikat durchsuchen und über Chrome erfassen kann, müssen Sie die Chrome-Richtlinie „AutoSelectCertificateForURLs“ konfigurieren. Führen Sie dazu die folgenden Schritte aus:

  1. Achten Sie darauf, dass der Chrome-Browser über die Chrome-Verwaltung über die Cloud verwaltet wird.

  2. Fügen Sie in der Admin-Konsole die Richtlinie „AutoSelectCertificateForUrls“ hinzu:

    1. Rufen Sie die Admin-Konsole auf und gehen Sie zu Geräte > Chrome > Einstellungen > Nutzer- und Browsereinstellungen > Clientzertifikate.
    2. Wählen Sie die entsprechende Organisationseinheit aus.
    3. Fügen Sie die Richtlinie AutoSelectCertificateForUrls hinzu, wie im folgenden Beispiel gezeigt:

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"CERTIFICATE_ISSUER_NAME"}}}
      

      Ersetzen Sie CERTIFICATE_ISSUER_NAME durch den allgemeinen Namen der Stammzertifizierungsstelle. Ändern Sie den Wert von pattern nicht.

Führen Sie die folgenden Schritte aus, um die Richtlinienkonfiguration zu prüfen:

  1. Rufen Sie im Browser chrome://policy auf.
  2. Prüfen Sie den konfigurierten Wert für AutoSelectCertificateForUrls.
  3. Achten Sie darauf, dass der Wert der Richtlinie Gilt für auf Computer festgelegt ist. Im Chrome-Betriebssystem wird der Wert auf Current User* (Aktueller Nutzer) angewendet.
  4. Achten Sie darauf, dass der Status der Richtlinie nicht den Wert Konflikt hat.

Fehlerbehebung bei der Konfiguration

Prüfen Sie, ob die Zertifikatsattribute auf der Seite mit den Gerätedetails korrekt aufgelistet sind.

Die Protokolle der Endpunktprüfung können Ihnen bei der Fehlerbehebung helfen. Führen Sie die folgenden Schritte aus, um die Logs der Endpunktprüfung herunterzuladen:

  1. Klicken Sie mit der rechten Maustaste auf die Erweiterung „Endpunktprüfung“ und gehen Sie zu Optionen.
  2. Wählen Sie Logebene > Alle > Protokolle herunterladen aus.
  3. Stellen Sie eine Supportanfrage bei Cloud Customer Care und geben Sie die Logs zur weiteren Fehlerbehebung frei.