Bedingungen für Unternehmenszertifikate konfigurieren

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Ein wichtiges Prinzip von BeyondCorp Enterprise ist der Zugriff auf Dienste basierend darauf, 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 das Abfragen mehrerer Datenquellen abgeleitet. BeyondCorp Enterprise nutzt dieses Maß an Vertrauen bei der Entscheidungsfindung.

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

Mit Zugriffsebenen können Sie basierend auf Kontextinformationen zur Anfrage Zugriff auf Ressourcen gewähren. Mithilfe von Zugriffsebenen können Sie Vertrauensstufen organisieren. Sie können beispielsweise eine Zugriffsebene mit dem Namen High_Level erstellen, die Anfragen von einer kleinen Gruppe stark privilegierter Personen zulässt. Sie können auch eine allgemeinere Gruppe angeben, der Sie vertrauen, z. B. einen IP-Bereich, von dem 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 Anforderungen für den Zero-Trust-Zugriff besteht darin, den Zugriff nur dann zuzulassen, wenn das Gerät vom Unternehmen verwaltet wird oder ihm gehört. Es gibt viele Möglichkeiten festzustellen, ob ein Gerät einem Unternehmen gehört, und z. B. herauszufinden, 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 anzugeben, dass es sich um ein unternehmenseigenes Gerät handelt.

Unternehmenszertifikate für den kontextsensitiven Zugriff sind eine Funktion der gesamten zertifikatbasierten BeyondCorp Enterprise-Lösung für den Zugriff. Bei dieser Funktion werden Gerätezertifikate als alternatives kontextsensitives Signal verwendet, um zu ermitteln, ob ein Gerät ein unternehmenseigenes Asset ist.

Da ein Gerät mehr als ein Zertifikat haben kann, kann über die benutzerdefinierte Zugriffsebene über Makros .exist(e,p) zugegriffen werden:

device.certificates.exists(cert, predicate)

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

Das Zertifikat hat die folgenden Attribute, die gemeinsam überprüft werden können. Bei Stringvergleichen wird die Groß- und Kleinschreibung berücksichtigt.

Attribut Beschreibung Beispiel für einen Prädikatsausdruck (wobei cert eine Kennung von Makros ist)
is_valid Dieser Wert ist „True“, wenn das Zertifikat gültig und nicht abgelaufen (boolesch) ist. 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-verschlüsselten Zertifikats. Mit dem folgenden Verfahren mit OpenSSL können Sie den String 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 Root-CA-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-verschlüsselten Zertifikats. Mit dem folgenden Verfahren mit OpenSSL können Sie den String 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 finden Sie den Namen des Ausstellers:

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 der Schrägstrich (/) 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 Betreffname 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 Stammzertifikat des Unternehmens signiert wurde. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
Gerät hat ein gültiges Zertifikat vom Aussteller CA_ABC. 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 (Benutzerdefinierte Zugriffsebene erstellen).

Mit einer benutzerdefinierten Access Context Manager-Definition können Sie die entsprechenden Richtlinien festlegen. In benutzerdefinierten Zugriffsebenen werden boolesche Ausdrücke verwendet, die in einer Teilmenge der Common Expression Language (CEL) geschrieben wurden, um die Attribute eines Clients, der eine Anfrage stellt, zu testen.

Vertrauensanker in der Admin-Konsole hochladen

Damit das BeyondCorp Enterprise-Zertifikat für Gerätegeräte erfasst und validiert werden kann, müssen Sie die Trust Anchors hochladen, mit denen das Gerätezertifikat ausgestellt wird. Die Trust Anchors beziehen sich hier auf das selbstsignierte Root-CA-Zertifikat (Zertifizierungsstelle) und die entsprechenden Zwischen- und untergeordneten Zertifikate. So laden Sie die Trust Anchors hoch:

  1. Gehen Sie zur 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 Add (Hinzufügen).
  8. Nutzer müssen 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. Gehen Sie dazu so vor:

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

    OR

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

    1. Gehen Sie zur Admin-Konsole und gehen Sie zu Geräte > Chrome > Einstellungen > Browser-Einstellungen > Clientzertifikate.
    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":{<issuerDNs>}}}
    

    HINWEIS: Der Filter muss auf ein Ausstellerzertifikat verweisen, das in den vorherigen Schritten hochgeladen wurde.

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 die 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 es für den Status der Richtlinie keinen Konflikt gibt.

Konfigurationsfehler beheben

Prüfen Sie, ob die Zertifikatsattribute auf der Seite mit den Gerätedetails richtig aufgeführt sind.

Sie können die Protokolle der Endpunktprüfung verwenden, um Probleme zu beheben. So laden Sie die Protokolle der Endpunktprüfung herunter:

  1. Klicken Sie mit der rechten Maustaste auf die Erweiterung „Endpunktprüfung“ und wählen Sie Optionen aus.
  2. Wählen Sie Protokollebene > Alle > Protokolle herunterladen aus.
  3. Erstellen Sie eine Supportanfrage für Cloud Customer Care und geben Sie die Protokolle für die weitere Fehlerbehebung frei.