ADC

Compliance des Active Directory-Verbunddienstproxy-

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

ADFSPIP und NetScaler

Voraussetzungen

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

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

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

    set ssl service  -sslProfile ns_default_ssl_profile_backend 
  • SNI-Erweiterung für Back-End-Server-Handshakes aktivieren. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

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

Wichtig

Für Home Realm Discovery (HRD) -Szenarien, in denen die Authentifizierung auf den ADFS-Server verlagert werden muss, empfiehlt Citrix, sowohl die Authentifizierung als auch SSO auf der NetScaler-Appliance zu deaktivieren.

Mechanismus der Authentifizierung

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

  1. Vertrauen mit dem ADFS-Server herstellen— Der NetScaler-Server richtet Vertrauen zum ADFS-Server ein, indem er ein Clientzertifikat registriert. Sobald der Trust eingerichtet ist, stellt die NetScaler-Appliance das Vertrauen nach dem Neustart ohne Benutzereingriff wieder her.

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

  2. Veröffentlichte Endpoints— Die NetScaler-Appliance ruft nach der Vertrauensstellung automatisch die Liste der veröffentlichten Endpunkte auf dem ADFS-Server ab. Diese veröffentlichten Endpunkte filtern die Anforderungen, die an den ADFS-Server weitergeleitet wurden.

  3. Einfügen von Headern in Clientanforderungen- Wenn die NetScaler-Appliance Clientanforderungen tunnelt, werden die mit ADFSPIP verbundenen HTTP-Header dem 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-Pfad
    • X-MS-weitergeleitete Client-IP
    • X-MS-Proxy
    • X-MS-Target-Rolle
    • X-MS-ADFS-Proxy-Client-IP
  4. Verwalten des Datenverkehrsvon Endbenutzern — Der Datenverkehr der Endbenutzer wird sicher an die gewünschten Ressourcen weitergeleitet.

    Hinweise:

    • NetScaler verwendet eine formularbasierte Authentifizierung.

    • NetScaler unterstützt nicht die Veröffentlichung einer Anwendung, die die Einhaltung des Active Directory Federation Service Proxy Integration Protocol verwendet.

Konfigurieren Sie NetScaler für die Unterstützung des ADFS-Servers

Voraussetzungen

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

    add cs vserver  SSL 10.220.xxx.xx 443 -cltTimeout 180 -AuthenticationHost  -Authentication OFF -persistenceType NONE 
    add cs action  -targetLBVserver  
    add cs action  -targetLBVserver  
    add cs policy  -rule " http.req.url.contains("/adfs/services/trust") || http.req.url.contains("federationmetadata/2007-06/federationmetadata.xml")" -action  
    add cs policy  -rule "HTTP.REQ.URL.CONTAINS("/adfs/ls")" -action  
    bind cs vserver  -policyName  -priority 100 
    bind cs vserver  -policyName  -priority 110 
    bind cs vserver  -lbvserver  
  • Fügen Sie einen ADFS-Dienst hinzu. Geben Sie in der Befehlszeile Folgendes ein:

    add service   SSL 443 
    set ssl service  -sslProfile ns_default_ssl_profile_backend 
  • Fügen Sie einen virtuellen Server mit Lastausgleich hinzu. Geben Sie in der Befehlszeile Folgendes ein:

    add lb vserver  SSL 0.0.0.0 0 
    set ssl vserver  -sslProfile ns_default_ssl_profile_frontend 
  • Binden Sie den Dienst an den Server mit Lastausgleich. Geben Sie in der Befehlszeile Folgendes ein:

    bind lb vserver   

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

  1. Erstellen eines SSL-CertKey-Profilschlüssels zur Verwendung mit dem ADFS-Proxy-Profil
  2. Erstellen eines ADFS-Proxyprofils
  3. Ordnen Sie das ADFS-Proxyprofil dem virtuellen LB-Server zu

Erstellen您静脉SSL-Zertifikat麻省理工学院privatem Schlüssel zur Verwendung mit dem ADFS-Proxy-Profil

Geben Sie in der Befehlszeile Folgendes ein:

add ssl certkey  –cert  -key  

Hinweis:Die Zertifikatsdatei und die Schlüsseldatei müssen in der NetScaler-Appliance vorhanden sein. Erstellen eines ADFS-Proxyprofils mit CLI

Geben Sie in der Befehlszeile Folgendes ein:

add authentication adfsProxyProfile  -serverUrl /> -username  -password  -certKeyName  

Wo;

Profilname — Name des zu erstellenden AFDS-Proxy-Profils

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

Username— Benutzername eines Admin-Kontos, das auf dem ADFS-Server existiert

Kennwort — Kennwort des Admin-Kontos, das als Benutzername verwendet wird

certKeyName——名字des zuvor erstellten SSL certKey-Profils

Ordnen Sie das ADFS-Proxyprofil über die CLI dem virtuellen Lastausgleichsserver zu

In der ADFS-Bereitstellung werden zwei virtuelle Lastausgleichsserver verwendet, einer für den Clientdatenverkehr und der andere für den Metadatenaustausch. Das ADFS-Proxyprofil muss mit dem virtuellen Lastausgleichsserver verknüpft sein, der den ADFS-Server mit Front-End beendet.

Geben Sie in der Befehlszeile Folgendes ein:

set lb vserver  -adfsProxyProfile  

Unterstützung der Erneuerung des Vertrauens für ADFSPIP

Sie können das Vertrauen der vorhandenen Zertifikate erneuern, die kurz vor dem Ablauf stehen oder wenn das vorhandene Zertifikat nicht gültig ist. Die Vertrauenserneuerung von Zertifikaten erfolgt nur, wenn die Vertrauensstellung zwischen der NetScaler-Appliance und dem ADFS-Server hergestellt wird. Um die Vertrauensstellung des Zertifikats zu erneuern, müssen Sie das neue Zertifikat bereitstellen.

Wichtig

Für die Erneuerung neuer Zertifikate ist ein manuelles Eingreifen erforderlich.

Im folgenden Beispiel werden die Schritte zur Erneuerung des Zertifikatsvertrauens aufgeführt:

  1. Die NetScaler-Appliance sendet sowohl alte (SerializedTrustCertificate) als auch neue (SerializedReplacementCertificate) Zertifikate in POST-Anforderung an den ADFS-Server zur Erneuerung des Vertrauens.
  2. Der ADFS-Server reagiert mit 200 OK erfolgreich, wenn das Vertrauen erfolgreich erneuert wurde.
  3. Die NetScaler-Appliance aktualisiert den Status “ESTABLISHED_RENEW_SUCCESS”, wenn die Erneuerung des Vertrauens erfolgreich ist. Wenn die Erneuerung des Vertrauens fehlschlägt, wird der Status als “ESTABLISHED_RENEW_FAILED” aktualisiert und die NetScaler-Appliance verwendet weiterhin das alte Zertifikat.

Hinweis

Sie können den Cert-Schlüssel nicht aktualisieren, wenn er bereits an ein ADFS-Proxy-Profil gebunden ist.

So konfigurieren Sie die Vertrauenserneuerung von Zertifikaten über die CLI

Geben Sie in der Befehlszeile Folgendes ein:

set authentication adfsProxyProfile  [-CertKeyName ] 

Beispiel:

set authentication adfsProxyProfile adfs_2 –CertKeyName ca_cert1 

Clientzertifikatbasierte Authentifizierung auf dem ADFS-Server

Ab Windows Server 2016 führte Microsoft eine neue Methode zur Authentifizierung von Benutzern ein, wenn über Proxyserver auf ADFS zugegriffen wird. Endbenutzer können sich jetzt mit ihren Zertifikaten anmelden und vermeiden so die Verwendung eines Kennworts.

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

ADFS麻省理工学院要是静脉NetScaler-Appliance Lastenausgleich durchgeführt wird, müssen sich Benutzer zur Unterstützung der zertifikatbasierten Authentifizierung auf dem ADFS-Server ebenfalls mit dem Zertifikat bei der NetScaler-Appliance anmelden. Auf diese Weise kann NetScaler das Benutzerzertifikat an ADFS übergeben, um SSO für den ADFS-Server bereitzustellen.

Das folgende Diagramm zeigt den Ablauf der Clientzertifikatauthentifizierung.

Workflow zur Clientzertifikat-Authentifizierung

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

Um SSO für den ADFS-Server mithilfe des Clientzertifikats zu konfigurieren, müssen Sie zuerst die Clientzertifikatauthentifizierung auf der NetScaler-Appliance konfigurieren. Anschließend müssen Sie die Richtlinie zur Zertifikatsauthentifizierung an den virtuellen Authentifizierungs-, Autorisierungs- und Überwachungsserver binden.

Darüber hinaus müssen Sie die folgenden Schritte ausführen.

  • Ein zusätzlicher virtueller Kontextswitching-Server mit Port 49443 muss konfiguriert werden, und dieser virtuelle Kontextswitching-Server muss auf denselben virtuellen Lastausgleichsserver zeigen, der für alle Ports geöffnet ist, die Sie zuvor erstellt haben.

  • Der Port 49443 muss zur Authentifizierung auf der NetScaler-Appliance geöffnet werden.

  • Die Kontextswitching-Richtlinie muss an denselben virtuellen Lastausgleichsserver mit geöffnetem Port 443 gebunden sein, den Sie zuvor erstellt haben.

  • Sie müssen denselben SSL-Dienst, den Sie zuvor erstellt haben, an den virtuellen Lastausgleichsserver binden.

  • Wenn Sie bereits ein SSL-Profil für das Backend erstellt haben, müssen Sie dieses Profil verwenden.

Geben Sie in der Befehlszeile ein;

add cs vserver    bind cs vserver  (-lbvserver  | -vServer  | [-targetLBVserver ] set ssl vserver ] bind ssl vserver  add authentication certAction  add authentication Policy  -rule  -action  add authentication policylable 

Beispiel:

add cs vserver srv123_adfsproxy_csvs_tls SSL $VIP_1 49443 bind cs vserver srv123_adfsproxy_csvs_tls -lbvserver srv123_adfs_lbvserver set ssl vserver srv123_adfsproxy_csvs_tls -sslProfile ns_default_ssl_profile_frontend bind ssl vserver srv123_adfsproxy_csvs_tls -certkeyName srv123_wildcardcert 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 NetScaler-Appliance findenSie unter Konfigurieren der Clientzertifikatauthentifizierung mithilfe erweiterter Richtlinien.