Compliance des Active Directory y-Verbunddienst-Proxy-Integrationsprotokolls (Technische Vorschau)

Hinweis: Unterstützung für Active Directory Verbunddienst-Proxy-Integrationsprotokoll ist in der technischen Vorschauversion.

Was ist ADFS und warum benötigen wir einen ADFS-Proxy?

Active Directory Verbunddienste (ADFS) sind ein Microsoft-Dienst, der SSO (Single Sign-On) für Active Directory-authentifizierte Clients auf Ressourcen außerhalb des Enterprise-Rechenzentrums ermöglicht. Eine ADFS-Serverfarm ermöglicht internen Benutzern den Zugriff auf externe Cloud-gehostete Dienste. Aber in dem Moment, in dem externe Benutzer in den Mix gebracht werden, müssen sie eine Möglichkeit erhalten, Remote-Verbindung herzustellen und auf cloudbasierte Dienste über Federated Identity zuzugreifen. Die meisten Unternehmen bevorzugen es nicht, den ADFS-Server in der DMZ verfügbar zu halten. Daher spielt der ADFS-Proxy eine wichtige Rolle bei der Remotebenutzerkonnektivität und dem Anwendungszugriff.

Was ist für Citrix ADC drin?

Citrix ADC spielt seit mehr als einem Jahrzehnt ähnliche Rollen — Remote-Benutzerkonnektivität und Anwendungszugriff. Citrix ADC verfügt über die richtige Technologie, um sichere Konnektivität, Authentifizierung und Verarbeitung von Verbundidentitäten zu ermöglichen, und wird somit zur bevorzugten Lösung für den Austausch eines vorhandenen ADFS-Proxy oder die Unterstützung einer neuen ADFS-Implementierung. Die meisten Unternehmen wollen den Footprint in der DMZ reduzieren, und daher schätzen sie die Tatsache, dass Citrix ADC neben den traditionellen Funktionen als ADFS-Proxy dienen kann. Dieser Ansatz vermeidet die Bereitstellung einer zusätzlichen Komponente in der DMZ.

Warum ADFSPIP?

Wenn Drittanbieter-Proxys anstelle des Webanwendungsproxy verwendet werden sollen, müssen sie das MS-ADFSPIP-Protokoll unterstützen, das die ADFS- und WAP-Integrationsregeln festlegt. ADFSPIP integriert Active Directory Verbunddienste mit einem Authentifizierungs- und Anwendungsproxy, um den Zugriff auf Dienste innerhalb der Grenzen des Unternehmensnetzwerks für Clients zu ermöglichen, die sich außerhalb dieser Grenze befinden.

lokalisiertes Bild

Voraussetzungen

Um die Vertrauensstellung zwischen dem Proxyserver und der ADFS-Farm erfolgreich herzustellen, überprüfen Sie die folgende Konfiguration in der Citrix ADC Appliance:

  • Erstellen Sie ein SSL-Profil für das Back-End und aktivieren Sie SNI im SSL-Profil. Deaktivieren Sie SSLv3/TLS1. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

     add ssl profile <new SSL profile> -sniEnable ENABLED -ssl3 DISABLED -tls1 DISABLED -commonName <FQDN of ADFS>
    
  • Deaktivieren Sie SSLv3/TLS1 für den Dienst. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

     set ssl service <adfs service name> -sslProfile ns_default_ssl_profile_backend
    
  • Aktivieren Sie die SNI-Erweiterung für Back-End-Server-Handshakes. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

     set vpn parameter –backendServerSni ENABLED
    
     set ssl parameter -denySSLReneg NONSECURE
    

Authentifizierungsmechanismus

Im Folgenden werden die Ereignisse auf hoher Ebene für die Authentifizierung aufgeführt.

  1. Vertrauensstellung mit ADFS-Server einrichten — Citrix ADC-Server richtet Vertrauensstellung mit dem ADFS-Server durch Registrierung eines Clientzertifikats ein. Nach der Einrichtung der Vertrauensstellung stellt die Citrix ADC-Appliance die Vertrauensstellung nach dem Neustart ohne Benutzereingriff wieder her.

    Nach Ablauf des Zertifikats müssen Sie die Vertrauensstellung wiederherstellen, indem Sie das ADFS-Proxyprofil entfernen und erneut hinzufügen.

  2. Header in Clientanforderungen einfügen : Wenn die Citrix ADC-Appliance Clientanforderungen tunneln, werden die HTTP-Header für ADFSPIP im Paket hinzugefügt, während sie an den ADFS-Server gesendet werden. Sie können die Zugriffssteuerung auf dem ADFS-Server basierend auf diesen Header-Werten implementieren. Die folgenden Header werden unterstützt.
    • X-MS-Proxy
    • X-MS-Endpoint-Absolute-Path
    • X-MS-Forwarded-Client-IP
    • X-MS-Proxy
    • X-MS-Target-Role
    • X-MS-ADFS-Proxy-Client-IP
  3. Verwalten des Endbenutzerdatenverkehrs — Der Endbenutzer-Datenverkehr wird sicher an die gewünschten Ressourcen weitergeleitet.

    Hinweis: Die Citrix ADC-Appliance verwendet eine formularbasierte Authentifizierung.

Konfigurieren von Citrix ADC für die Arbeit mit ADFS-Server

Voraussetzungen

  • Konfigurieren Sie Context Switching (CS) -Server als Front-End mit Authentifizierungs-, Autorisierungs- und Überwachungsserver hinter CS. Geben Sie an der Eingabeaufforderung Folgendes ein:

     add cs vserver <cs vserver name> SSL 10.220.xxx.xx 443
     -cltTimeout 180 -AuthenticationHost <adfs server hostname> -Authentication OFF -persistenceType NONE
    
     add cs action <action name1> -targetLBVserver <lb vserver name>
    
    
     add cs action <action name2> -targetLBVserver <lb vserver name>
    
     add cs policy <policy name1> -rule " http.req.url.contains("/adfs/services/trust") || http.req.url.contains("federationmetadata/2007-06/federationmetadata.xml")" -action <action name1>
    
     add cs policy <policy name2> -rule "HTTP.REQ.URL.CONTAINS("/adfs/ls")" -action <action name2>
    
     bind cs vserver <cs vserver name> -policyName <policy name1> -priority 100
    
     bind cs vserver <cs vserver name> -policyName <policy name2> -priority 110
    
     bind cs vserver <cs vserver name> -lbvserver <lb vserver name>
    
  • ADFS-Dienst hinzufügen. Geben Sie an der Eingabeaufforderung Folgendes ein:

     add service <adfs service name> <adfs server ip> SSL 443
    
     set ssl service <adfs service name> -sslProfile ns_default_ssl_profile_backend
    
  • Fügen Sie einen virtuellen Server mit Lastenausgleich hinzu. Geben Sie an der Eingabeaufforderung Folgendes ein:

     add lb vserver <lb vserver name> SSL 0.0.0.0 0
    
     set ssl vserver <lb vserver name> -sslProfile ns_default_ssl_profile_frontend
    
  • Binden Sie den Dienst an den Server mit Lastenausgleich. Geben Sie an der Eingabeaufforderung Folgendes ein:

     bind lb vserver <lb vserver name> <adfs service name>
    

Um Citrix ADC für die Arbeit mit dem ADFS-Server zu konfigurieren, müssen Sie Folgendes tun:

  1. Erstellen eines SSL CertKey-Profilschlüssels für die Verwendung mit dem ADFS-Proxy-Profil
  2. Erstellen eines ADFS-Proxyprofils
  3. Zuordnen des ADFS-Proxyprofils zum virtuellen LB-Server

Erstellen eines SSL-Zertifikats mit privatem Schlüssel zur Verwendung mit ADFS-Proxyprofil

Geben Sie an der Eingabeaufforderung Folgendes ein:

    add ssl certkey <certkeyname> –cert <certificate path> -key <keypath>

Hinweis: Die Zertifikatdatei und die Schlüsseldatei müssen in der Citrix ADC-Appliance vorhanden sein. Erstellen eines ADFS-Proxy-Profils mit CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

add authentication adfsProxyProfile  <profile name> -serverUrl <https://<server FQDN or IP address>/> -username <adfs admin user name> -password <password for admin user> -certKeyName <name of the CertKey profile created above>

Wo;

Profile name — Name des zu erstellenden AFDS-Proxyprofils

ServerUrl — Vollqualifizierter Domänenname des ADFS-Dienstes einschließlich Protokoll und Port. Beispiel: https://adfs.citrix.com

Benutzername — Benutzername eines Administratorkontos, das auf dem ADFS-Server vorhanden ist

Kennwort — Kennwort des Administratorkontos, das als Benutzername verwendet wird

certKeyName — Name des zuvor erstellten SSL CertKey-Profils

Ordnen Sie das ADFS-Proxyprofil dem virtuellen Lastenausgleichsserver mit der CLI zu

In der ADFS-Bereitstellung gibt es zwei virtuelle Lastenausgleichsserver, einer für den Clientverkehr und der andere für den Metadatenaustausch. Das ADFS-Proxyprofil muss dem virtuellen Lastenausgleichsserver zugeordnet sein, der Front-End-ADFS-Server ist.

Geben Sie an der Eingabeaufforderung Folgendes ein:

set lb vserver <adfs-proxy-lb> -adfsProxyProfile <name of the ADFS proxy profile>

Clientzertifikatbasierte Authentifizierung auf dem ADFS-Server

Ab Windows Server 2016 hat Microsoft eine neue Methode zur Authentifizierung von Benutzern eingeführt, wenn auf ADFS über Proxyserver zugegriffen wird. Endbenutzer können sich nun mit ihren Zertifikaten anmelden, wodurch die Verwendung von Kennwort vermieden wird.

Endbenutzer greifen häufig über einen Proxy auf ADFS zu, insbesondere wenn sie sich nicht in den Räumlichkeiten befinden. Daher sind ADFS-Proxyserver erforderlich, um die Clientzertifikatsauthentifizierung über das ADFSPIP-Protokoll zu unterstützen.

Wenn ADFS mit einer Citrix ADC Appliance Lastausgleich ausgeführt wird, müssen sich Benutzer zur Unterstützung der zertifikatbasierten Authentifizierung auf dem ADFS-Server auch mit dem Zertifikat bei der Citrix ADC-Appliance anmelden. Dadurch kann Citrix ADC Benutzerzertifikate an ADFS übergeben, um SSO für den ADFS-Server bereitzustellen.

Das folgende Diagramm zeigt den Clientzertifikatauthentifizierungsfluss.

lokalisiertes Bild

Konfigurieren von SSO für ADFS-Server mithilfe des Clientzertifikats

Um SSO für ADFS-Server mithilfe des Clientzertifikats zu konfigurieren, müssen Sie zunächst die Clientzertifikatauthentifizierung auf der Citrix ADC Appliance konfigurieren. Anschließend müssen Sie die Zertifikatauthentifizierungsrichtlinie an den virtuellen Authentifizierungs-, Autorisierungs- und Überwachungsserver binden.

Geben Sie an der Eingabeaufforderung;

add authentication certAction <action name>

add authentication Policy <policy name> -rule <expression> -action <action name>

add authentication policylable <label Name>

bind authentication policylabel <label Name> -policyName <name of the policy> -priority<integer>

Beispiel:

add authentication certAction adfsproxy-cert

add authentication Policy cert1 -rule TRUE -action adfsproxy-cert

add authentication policylable certfactor

bind authentication policylabel certfactor –policyName cert1 –priority 100

Informationen zum Konfigurieren des Clientzertifikats auf der Citrix ADC Appliance finden Sie unter [Konfigurieren der Clientzertifikatauthentifizierung mithilfe erweiterter Richtlinien.