Bedingungen für Unternehmenszertifikate konfigurieren

Ein wichtiges Prinzip 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 gewährt wird, wird dynamisch durch Abfragen mehrerer Datenquellen abgeleitet. Chrome Enterprise Premium verwendet diese Vertrauensebene als Teil des Entscheidungsprozesses.

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

Mit Zugriffsebenen können Sie den Zugriff auf Ressourcen basierend auf Kontextinformationen über die Anfrage ermöglichen. 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 berechtigter Personen zulässt. Sie können auch eine allgemeinere Gruppe angeben, der Sie vertrauen möchten, z. B. einen IP-Bereich, für den Sie Anfragen zulassen möchten. In diesem Fall können Sie eine Zugriffsebene mit dem Namen Medium_Level erstellen, um diese Anfragen zuzulassen.

Eine der wichtigsten Voraussetzungen für den Zero-Trust-Zugriff ist es, 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 dem Unternehmen gehört. Eine davon ist, zu prüfen, ob auf dem Gerät ein gültiges Zertifikat vorhanden ist, das vom Unternehmen ausgestellt wurde. Das Vorhandensein eines Unternehmenszertifikats auf einem Gerät kann darauf hinweisen, dass das Gerät unternehmenseigen ist.

Unternehmenszertifikate für kontextbezogenen Zugriff sind eine Funktion der gesamten zertifikatbasierten Zugriffslösung von Chrome Enterprise Premium. Bei dieser Funktion werden Geräte-Zertifikate als alternatives kontextbezogenes Signal verwendet, um festzustellen, ob es sich bei einem Gerät um ein unternehmenseigenes Asset handelt. Diese Funktion wird im Chrome-Browser 110 und höher unterstützt.

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

device.certificates.exists(cert, predicate)

Im Beispiel ist cert eine Kennung, die in predicator verwendet wird, um eine Bindung an das Gerätezertifikat zu erstellen. Das Makro exist() kombiniert die 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 gemeinsam geprüft werden können. Bei Stringvergleichen wird die Groß-/Kleinschreibung beachtet.

Attribut Beschreibung Beispiel für einen Prädikatsausdruck (wobei cert eine Kennung von Makros ist)
is_valid „true“, wenn das Zertifikat gültig und nicht abgelaufen ist (boolescher Wert). cert.is_valid
cert_fingerprint Fingerabdruck des Zertifikats (base64-codiertes, nicht aufgefülltes SHA256).

Der Fingerabdruck ist der nicht aufgefüllte base64-codierte SHA256-Digest im Binärformat des DER-codierten Zertifikats. Sie können den String mit OpenSSL aus dem Zertifikat im PEM-Format 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 CA-Root-Zertifikats, das zum Signieren des Zertifikats verwendet wird (base64-codiertes, nicht aufgefülltes SHA256).

Der Fingerabdruck ist der nicht aufgefüllte base64-codierte SHA256-Digest im Binärformat des DER-codierten Zertifikats. Sie können den String mit OpenSSL aus dem Zertifikat im PEM-Format 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 ermitteln 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 das Zeichen „/“ 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 Name 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 wurde. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
Das 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 hierzu finden Sie unter Benutzerdefinierte Zugriffsebene erstellen.

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

Vertrauensanker in der Admin-Konsole hochladen

Damit Chrome Enterprise Premium das Unternehmenszertifikat des Geräts erfassen und validieren kann, müssen Sie die Trust-Anker und alle Zwischenzertifikate hochladen, die zum Ausstellen des Gerätezertifikats verwendet werden. Die Vertrauensanker beziehen sich hier auf das selbst signierte Root-CA-Zertifikat (Certification Authority) und die entsprechenden Zwischen- und untergeordneten Zertifikate. Führen Sie die folgenden Schritte aus, um die Trust-Anker hochzuladen:

  1. Rufen Sie die Admin-Konsole auf 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. Aktivieren Sie das Kästchen Endpunktprüfung.
  7. Klicken Sie auf Hinzufügen.
  8. Achten Sie darauf, dass die Nutzer der Organisationseinheit angehören, für die die Trust-Anker hochgeladen wurden.

Richtlinie „AutoSelectCertificateForUrls“ konfigurieren

Damit die Endpunktprüfung das Gerätezertifikat suchen und über Chrome erfassen kann, müssen Sie die Chrome-Richtlinie „AutoSelectCertificateForURLs“ konfigurieren. Gehen Sie dazu so vor:

  1. Der Chrome-Browser muss über die Chrome-Verwaltung über die Cloud verwaltet werden.

  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 > Kundenzertifikate.
    2. Wählen Sie die entsprechende Organisationseinheit aus.
    3. Fügen Sie eine 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.

So überprüfen Sie die Richtlinienkonfiguration:

  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 Aktueller Nutzer* angewendet.
  4. Prüfen Sie, ob der Status der Richtlinie Konflikt lautet.

Fehlerbehebung bei der Konfiguration

Prüfen Sie die Zertifikatsattribute auf der Seite mit den Gerätedetails, um sicherzustellen, dass sie korrekt aufgeführt sind.

Mithilfe der Protokolle der Endpunktprüfung können Sie Probleme beheben. So laden Sie die Logs zur Endpunktüberprüfung herunter:

  1. Klicken Sie mit der rechten Maustaste auf die Erweiterung „Endpunktprüfung“ und wählen Sie Optionen aus.
  2. Wählen Sie Log-Ebene > Alle > Logs herunterladen aus.
  3. Eröffnen Sie eine Supportanfrage bei Cloud Customer Care und geben Sie die Logs für die weitere Fehlerbehebung an.