Integration mit einem SAML-IdP

SAML-Übersicht 

Security Assertion Markup Language (SAML) ist ein Standard für den Austausch von Authentifizierungsanfragen und -antworten zwischen Dienstanbietern (SPs) und Identitätsanbietern (IdPs). Er ermöglicht es SPs, Benutzern Zugriff auf Anwendungen über mehrere Sicherheitsdomains zu gewähren und zwar über einen Single Sign-on (SSO)-Authentifizierungsdienst, den der IdP bereitstellt. Nach Erhalt einer Authentifizierungsanforderung reagiert der IdP mit einer SAML-Assertion, d. h. mit einer Meldung, die anzeigt, ob ein Benutzer erfolgreich authentifiziert wurde. Im Kontext der Tanium Core Platform bedeutet das Aktivieren von SAML die Konfiguration des Tanium Servers als Dienstanbieter (Service Provider, SP), um Benutzern Zugriff auf die Tanium Console zu gewähren. Sie können die folgenden Arten der SAML-SSO-Authentifizierung für den Zugriff auf die Konsole konfigurieren:

  • Tanium Server 7.2.314.3181 und neuer wird mit Okta als IdP integriert und unterstützt die IdP-initiierte SSO-Anmeldung.
  • Tanium Server 7.2.314.3476 und später wird mit einem beliebigen IdP integriert und unterstützt sowohl IdP-initiierte als auch SP-initiierte SSO.

Nach der Anmeldung beim IdP kann ein Benutzer wiederholt neue Tanium Console-Sitzungen starten, ohne sich erneut authentifizieren zu müssen, bis die IdP-Sitzungszeit abgelaufen ist. Der Zeitablauf für die IdP-Sitzung wird auf dem IdP-Server konfiguriert. Weitere Informationen erhalten Sie von Ihrem IdP-Administrator.

Als bewährtes Verfahren sollten Sie mindestens ein Benutzerkonto auf dem Tanium Server beibehalten, das keine SAML-Authentifizierung erfordert, und diesem Konto die reservierte Administratorrolle zuweisen. Sie können dieses Konto verwenden, um auf die Tanium Console zuzugreifen, falls die SAML-Authentifizierung nicht mehr funktioniert (z. B. wenn die Verbindung zum IdP ausfällt).

Der Tanium Server unterstützt keine Benutzerautorisierung (RBAC) über SAML. Um die Funktionen, Einstellungen und Informationen zu steuern, die Benutzer nach dem Zugriff auf die Tanium Console sehen und verwenden dürfen, konfigurieren Sie die Benutzerrollenberechtigungen. Einzelheiten finden Sie unter RBAC-Übersicht.

Nur Benutzer, die über die reservierte Rolle des Administrators verfügen, können die Seite Configuration (Konfiguration) > Authentication (Authentifizierung) > SAML Configuration (SAML-Konfiguration) sehen und verwenden.

IdP-initiierte SSO

Ein IdP-initiierter Arbeitsablauf besteht aus den folgenden Phasen (entsprechend den Zahlen in Abbildung 1):

A1 Ein Benutzer meldet sich beim IdP SSO-Portal mit einem Unternehmensbenutzernamen und einem Passwort an und klickt auf eine Anwendungskachel (in diesem Beispiel auf die Kachel der Tanium Console).

2 Der IdP generiert eine signierte SAML-Assertion, die anzeigt, dass der Benutzer erfolgreich authentifiziert wurde. Der Browser des Benutzers leitet die Assertion automatisch an den SP (in diesem Beispiel der Tanium Server) weiter.

3 Der SP verwendet das IdP-Zertifikat, um zu verifizieren, dass die SAML-Assertion-Signatur gültig ist.

4 Der SP stellt den Benutzerzugriff auf die Anwendung bereit.
Abbildung 1:  IdP-initiierte SAML-SSO

SP-initiierte SSO

Ein SP-initiierter Arbeitsablauf besteht aus den folgenden Phasen (entsprechend den Zahlen in Abbildung 2):

1 Der Benutzer versucht, auf die Anwendung (die Tanium Console in diesem Beispiel) direkt über den SP (der Tanium Server in diesem Beispiel) zuzugreifen.

2 Der SP leitet den Benutzer zur Authentifizierung über den IdP weiter. Der Browser des Benutzers verarbeitet die Umleitung automatisch.

3 Der Benutzer meldet sich beim IdP an.

4 Der IdP gibt eine signierte SAML-Assertion zurück, die anzeigt, dass der Benutzer erfolgreich authentifiziert wurde. Der Browser des Benutzers leitet die Assertion automatisch an den SP weiter.

5 Der SP verwendet das IdP-Zertifikat, um zu verifizieren, dass die SAML-Assertion-Signatur gültig ist.

6 Der SP stellt den Benutzerzugriff auf die Anwendung bereit.
Abbildung 2:  SP-initiierte SAML-SSO

Bevor Sie beginnen

  • Arbeiten Sie mit dem IdP-Administrator zusammen, um zu ermitteln, welche Benutzer auf die Tanium Console über den IdP zugreifen müssen. Der IdP-Administrator ist für die Konfiguration der Authentifizierung über einen AD- oder LDAP -Server und für die Verwaltung des Benutzerzugriffs über den IdP verantwortlich. Informationen zur Einrichtung einer Anwendung über einen IdP finden Sie in der IdP-Dokumentation.

    Ein Administrator muss die Tanium Console-Benutzer erstellen, wenn sie lokal auf dem Tanium Server vorhanden sind (siehe Einen Benutzer erstellen), oder muss die Benutzer von einem LDAP-Server importieren (siehe Integration mit LDAP-Servern).

  • Arbeiten Sie mit dem IdP-Administrator zusammen, wenn Sie Änderungen an den URLs (Uniform Resource Locators) vornehmen, in denen Benutzer von Tanium Console auf das IdP SSO-Portal zugreifen (nur IdP-initiierte SSO).

SAML-Authentifizierung konfigurieren

Führen Sie die folgenden Schritte aus, um die SP-initiierte oder IdP-initiierte SAML-SSO-Anmeldung zu aktivieren.

Wenn Sie zuvor eine Passwort-Eingabeaufforderung für Konfigurationsänderungen aktiviert haben, ändert der Tanium Server diese automatisch in eine Yes/Cancel (Ja/Abbrechen)-Aufforderung, nachdem Sie die SAML-Authentifizierung aktiviert haben.

  1. Gehen Sie zu Configuration (Konfiguration) >Authentication (Authentifizierung) >SAML (SAML) und dann auf Choose an IdP (IdP auswählen).
  2. Im Abschnitt Tanium URIs for (Tanium-URIs (Uniform Resource Identifiers) zur <IdP>Configuration (Konfiguration) kopieren Sie die Werte Single sign on URL (Single Sign-on-URL) und Audience URI (SP entity ID) (Zielgruppen-URI (SP-Entitäts-ID)) und teilen sie mit dem IdP-Administrator. Der Administrator benötigt diese Informationen, um den IdP für die Unterstützung der Tanium Console-Anwendung zu konfigurieren.

    Bevor Sie die übrigen Schritte ausführen, muss der IdP-Administrator Ihnen das IdP-Zertifikat senden, das der Tanium Server verwendet, um die vom IdP-Dienst empfangenen SAML-Nachrichten zu validieren.

  3. Im Abschnitt <IdP>Configuration Information (Konfigurationsinformationen) verwenden Sie die Steuerelemente, um die IdP-Zertifikatsdatei hochzuladen. Später in diesem Verfahren, nachdem Sie alle Ihre Änderungen an der Konfiguration gespeichert haben, zeigt dieser Abschnitt den Zertifikatsnamen als Link an, auf den Sie klicken können, um ein Popup-Fenster mit dem Inhalt des Zertifikats zu öffnen.
  4. (Nur benutzerdefinierte IdP) Konfigurieren Sie die folgenden Einstellungen im Abschnitt Custom IdP Settings (Benutzerdefinierte IdP-Einstellungen). Alle Einstellungen sind erforderlich, sofern anderweitig angegeben. Diese Einstellungen beziehen sich auf Elemente, Attribute und Werte in den XML-basierten SAML-Antwortnachrichten, die der IdP an den Tanium Server sendet, nachdem Benutzer versucht haben, authentifiziert zu werden.
  5. Tabelle 1:   Benutzerdefinierte IdP-Einstellungen
    Settings Richtlinien
    "name": Name, der den IdP identifiziert.
    xp_response_destination Xpath-Selektor für das Antwortziel innerhalb des Antwortelements. Zum Beispiel: @Destination. Das Ziel ist die URL, an die der IdP die SAML-Antwort sendet. Der Tanium Server verwendet die Einstellung sec_response_allowed_destination, um das Ziel zu validieren.
    xp_response_issuer Xpath-Selektor für die Antwort-Emittentenkennung innerhalb des Antwortelements. Zum Beispiel: Issuer/text(). Der Tanium Server verwendet die Einstellung sec_response_allowed_issuer, um die Emittentenkennung zu validieren.
    xp_response_status Xpath-Selektor für den Antwortstatuscode innerhalb des Antwortelements. Zum Beispiel: Status/StatusCode/@Value. Der Statuscode zeigt an, ob die Authentifizierung beim IdP erfolgreich war.
    xp_response_id Xpath-Selektor für die Antwortkennung innerhalb des Antwortelements. Zum Beispiel: @ID. Der Tanium Server verwendet die Kennung, um sicherzustellen, dass die Antwortsignatur auf das richtige Element verweist.
    xp_response_issue_instant Xpath-Selektor für die Antwortausgabezeit innerhalb des Antwortelements. Zum Beispiel: @IssueInstant. Der Tanium Server verwendet den Ausgabezeitpunkt, um sicherzustellen, dass die Antwort nicht abgelaufen ist.
    xp_assertion_issuer Xpath-Selektor für den Ausgeber der Assertion im Element Assertion. Zum Beispiel: Issuer/text(). Der Tanium Server verwendet die Einstellung sec_assertion_allowed_issuer, um die Emittentenkennung zu validieren.
    xp_assertion_audience Xpath-Selektor für die erwartete Assertion-Zielgruppe innerhalb des Assertion-Elements. Zum Beispiel: Conditions/AudienceRestriction/Audience/text(). Der Tanium Server verwendet die Einstellung sec_assertion_allowed_audience, um die erwartete Zielgruppe zu validieren.
    xp_assertion_username Xpath-Selektor für den Benutzernamen innerhalb des Assertion-Elements. Zum Beispiel: Subject/NameID/text(). Der Tanium Server verwendet die Einstellung, um den Benutzernamen des Benutzers abzurufen, der eine Authentifizierung versucht hat.
    xp_assertion_recipient Xpath-Selektor für den Empfängerwert innerhalb des Assertion-Elements. Zum Beispiel: Subject/SubjectConfirmation/SubjectConfirmationData/@Recipient. Der Empfänger ist der Ort, an den der IdP die SAML-Assertion sendet. Der Tanium Server verwendet die Einstellung sec_assertion_allowed_recipient, um den Empfänger zu validieren.
    xp_assertion_auth_class Xpath-Selektor für die Authentifizierungsklasse innerhalb des Assertion-Elements. Zum Beispiel: AuthnStatement/AuthnContext/AuthnContextClassRef/text(). Die Authentifizierungsklasse stellt die Methode dar, die der IdP zur Authentifizierung des Benutzers verwendet hat. Der Tanium Server verwendet die Einstellung sec_assertion_allowed_auth_context_classes, um die Authentifizierungsklasse zu validieren.
    xp_assertion_cond_before Xpath-Selektor für die Not-Before (Nicht vor)-Bedingung innerhalb des Assertion-Elements. Zum Beispiel: Conditions/@NotBefore. Die Nicht-vor-Bedingung zeigt das Datum und die Uhrzeit an, vor der die Assertion nicht gültig ist. Wenn Sie sec_check_assertion_time_constraints auf wahr setzen, erfordert xp_assertion_cond_before einen Wert.
    xp_assertion_cond_after Xpath-Selektor für die Not-On-Or-After (Nicht am oder nach)-Bedingung innerhalb des Assertion-Elements. Zum Beispiel: Conditions/@NotOnOrAfter. Die Not-On-Or-After (Nicht am oder nach)-Bedingung zeigt das Datum und die Uhrzeit an, wann die Assertion ungültig wird. Wenn Sie sec_check_assertion_time_constraints auf wahr setzen, erfordert xp_assertion_cond_after einen Wert.
    sec_check_assertion_time_constraints Optionale Einstellung zum Aktivieren (aktivieren Sie das Kontrollkästchen) oder Deaktivieren (deaktivieren Sie das Kontrollkästchen) der Validierung der Not-Before (Nicht vor)-(xp_assertion_cond_before) und Not-On-Or-After (Nicht am oder nach)-Bedingungen (xp_assertion_cond_after) für Datum und Uhrzeit der Assertion.
    sec_assertion_allowed_auth_context_classes Optionale durch Komma getrennte Liste möglicher Werte für die Authentifizierungsklasse, die die Methode darstellt, die der IdP zur Authentifizierung des Benutzers verwendet hat. Zum Beispiel: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport.
    sec_assertion_allowed_issuer Optionaler Validierungswert für die Assertion-Emittentenkennung. Zum Beispiel: http://www.saml-provider.com/YWJjZGVmMTIzNA.
    sec_assertion_allowed_recipient Optionaler Validierungswert für die URL des Assertion-Empfängers. Zum Beispiel: https://myhost.company.com/saml2/auth/custom.
    sec_assertion_allowed_audience Optionaler erwarteter Wert für die Assertion-Zielgruppe. Zum Beispiel: Tanium-saml2.
    sec_elt_assertion_signed Wählen Sie diese Option aus, wenn der Tanium Server die Signatur der Assertion vom IdP verifizieren soll.
    sec_response_allowed_issuer Optionaler Validierungswert für die Antwort-Emittentenkennung. Zum Beispiel: http://www.saml-provider.com/YWJjZGVmMTIzNA.
    sec_response_allowed_destination Optionaler Validierungswert für die Antwortziel-URL. Zum Beispiel: https://myhost.company.com/saml2/auth/custom.
    sec_response_expiration Optionaler Zeitraum in Sekunden, in der eine Antwort gültig und wiederverwendbar ist. Wenn Sie keinen Wert angeben, beträgt der Standardzeitraum 300 Sekunden (fünf Minuten).
  6. (Nur SP-initiierte SSO) Wählen Sie im Abschnitt Vom Dienstanbieter initiierte SSO die Option Enable SP-initiated SSO (SP-initiierte SSO aktivieren) und konfigurieren Sie die folgenden erforderlichen Felder.
  7. Tabelle 2:   SP-initiierte SSO-Einstellungen
    Settings Richtlinien
    idp_sso_service_url SSO-URL, bei der Benutzer den Dienst über den IdP aufrufen. Zum Beispiel: https://company.saml-provider.com/app/companyinc_tanium/dGFuaXVtc2FtbA/sso/saml.
    idp_sso_issuer Erwartete Emittentenkennung für die SAML-Antwort. Zum Beispiel: http://www.saml-provider.com/YWJjZGVmMTIzNA. Der Wert muss mit den Werten sec_assertion_allowed_issuer und sec_response_allowed_issuer übereinstimmen.
    idp_sso_force_reauth Wählen Sie enabled (aktiviert), wenn Sie Benutzer beim Starten einer neuen Tanium Console-Sitzung dazu bringen möchten, Zugangsdaten für die Anmeldung einzugeben, selbst wenn sie bereits für eine vorherige Sitzung authentifiziert wurden, die aufgrund einer Inaktivität oder einer manuellen Abmeldung beendet wurde. Standardmäßig ist diese Option deaktiviert und Benutzer können nur auf Login with SSO (Anmeldung mit SSO) klicken, um eine andere Tanium Console-Sitzung zu starten, ohne Zugangsdaten einzugeben.
    Passwortanmeldung für Tanium Console deaktivieren Wählen Sie diese Option aus, wenn Sie alle Benutzer zwingen möchten, sich per SAML-SSO-Anmeldung zu authentifizieren, wenn sie sich bei der Tanium Console anmelden. Die Option gilt nur für den Zugriff auf die Tanium Console und verhindert nicht den Zugriff auf die Tanium Server-CLI oder -API über eine andere Authentifizierungsmethode. Sie müssen bis zu drei Minuten warten, bis Ihre Auswahl übernommen wird. Starten Sie alternativ den Tanium Server-Dienst neu, um die Änderung sofort anzuwenden: siehe Den Tanium Server-Dienst verwalten. Nach der Übernahme der Änderung zeigt die Anmeldeseite die Option Login with password (Mit Passwort anmelden) nicht mehr an.

    Wenn Sie die Anmeldung per Passwort deaktivieren und die SAML-Authentifizierung später nicht mehr funktioniert (falls z. B. die Verbindung zum IdP ausfällt), kann kein Benutzer mehr auf die Tanium Console zugreifen. In diesen Fällen müssen Sie die SP-initiierte SSO über die CLI deaktivieren, um die lokale Authentifizierung oder die LDAP-Authentifizierung per Passwort zu reaktivieren: siehe SP-initiierte SSO über die CLI deaktivieren.

    Um die LDAP-Authentifizierung per Passwort auf API-Ebene zu deaktivieren, deaktivieren Sie die Option Authentication (Authentifizierung) in der LDAP-Serverkonfiguration: siehe Einen LDAP-Server konfigurieren.

  8. Speichern Sie Ihre Änderungen. Der Tanium Server-SAML-SP-Dienst wird dann gestartet.

    Für die Schritte zur Anmeldung bei der Tanium Console über SAML -SSO siehe Mit SAML-SSO-Authentifizierung anmelden.

Sichere SAML-Kommunikation

Optional können Sie die Sicherheit der SAML-Kommunikation verbessern, indem Sie Authentifizierungsanfragen digital vom Tanium Server signieren und Antworten (Assertions) vom IdP verschlüsseln. Die Installation von Tanium Server enthält ein Dienstprogramm zum Generieren eines privaten RSA-Schlüssels zum Signieren der Anfragen und ein selbstsigniertes Zertifikat zum Verschlüsseln der Antworten. Das Zertifikat verwendet das AES-256-CBC-Chiffre zur Verschlüsselung.

  1. Greifen Sie auf das Tanium Server CLI zu und ändern Sie das Verzeichnis (cd Befehl) in das Installationsverzeichnis des Tanium Servers (wie z. B. D:\Program Files\Tanium\Tanium Server).
  2. Führen Sie den folgenden Befehl aus, um das Zertifikat und den privaten Schlüssel zu erstellen. Geben Sie für <hostname>den FQDN des Tanium Servers an. Bei einer Hochverfügbarkeits-(HA)-Bereitstellung trennen Sie die Hostnamen durch ein Komma (z. B. ts1.example.com,ts2.example.com). Geben Sie bei der Ausgabe (<out>) das Zertifikat und den Schlüsselnamen an (wie SAMLencryption). Das Dienstprogramm fügt automatisch die .crt- und .key-Suffixe an die Dateinamen der Zertifikats- und Schlüsseldatei an.

    KeyUtility selfsign <hostname> <out>

    Das Dienstprogramm erstellt das Zertifikat und den Schlüssel (wie SAMLEncryption.cert und SAMLEncryption.key) auf der obersten Ebene des Tanium Server-Installationsverzeichnisses. Solange Sie das Zertifikat und den Schlüssel dort belassen, wird der Tanium Server automatisch das Zertifikat verwenden, um SAML-Authentifizierungsanfragen zu signieren und den privaten Schlüssel zum Entschlüsseln von IdP-Antworten verwenden.

    Alternativ können Sie die Einstellungen SAMLEncryptionCertPath und SAMLEencryptionKeyPath auf den Tanium Server hinzufügen, um einen anderen Speicherort für die Speicherung des Zertifikats und des Schlüssels zu konfigurieren. Weitere Informationen erhalten Sie von Ihrem technischen Account Manager (TAM).

  3. Stellen Sie das Zertifikat dem IdP zur Verfügung. Arbeiten Sie mit Ihrem IdP-Administrator zusammen, um den IdP so zu konfigurieren, dass er das Zertifikat für die Verschlüsselung von SAML-Antworten verwendet, wobei RSA-OAEP-MGF1P (empfohlen) oder RSA-Version 1.5 für den sicheren Schlüsseltransport verwendet wird.

SP-initiierte SSO über die CLI deaktivieren

Wenn Sie die von SP initiierte SSO deaktivieren müssen, ohne auf die Tanium Console zuzugreifen, können Sie die globale Einstellung console_saml_sp_enabled über die CLI festlegen.

  1. Öffnen Sie die Tanium Server-CLI (Einzelheiten finden Sie unter Referenzhandbuch zur Bereitstellung der Tanium Core Platform: Befehlszeile CLI).
  2. Gehen Sie zum Installationsverzeichnis von Tanium Server.
  3. Führen Sie den folgenden Befehl aus:

    TaniumReceiver global-settings set console_saml_sp_enabled 0

    Warten Sie bis zu einer Minute, damit die Änderung wirksam wird, oder starten Sie den Tanium Server neu, um die Änderung sofort anzuwenden.

Den Tanium Server-SAML-SP-Dienst deaktivieren

Wenn Sie die Funktion des Tanium Servers als SAML-SP beenden müssen, können Sie den SP-Service stoppen, indem Sie die IdP-Einstellungen entfernen.

  1. Gehen Sie zu Configuration (Konfiguration) > Authentication (Authentifizierung) > SAML (SAML).
  2. Stellen Sie Choose an IdP (IdP auswählen) auf No Provider (Kein Anbieter) und speichern Sie Ihre Änderungen.