ADC

Compliance des Active Directory-Verbunddienstproxy-

Wenn Proxys von Drittanbietern anstelle des Webanwendungsproxys verwendet werden sollen, müssen sie das MS-ADFSPIP-Protokoll unterstützen, das die ADFS- und WAP-Integrationsregeln spezifiziert. 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 <new SSL profile> -sniEnable ENABLED -ssl3 DISABLED -tls1 DISABLED -commonName <FQDN of ADFS>
     <!--NeedCopy-->
    
  • Deaktivieren Sie SSLv3/TLS1 für den Dienst. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

     set ssl profile <adfs service name> -sessReuse <ENABLED|DISABLED> -tls1 <ENABLED|DISABLED> -SNIEnable <ENABLED|DISABLED> -commonName <name> -denySSLReneg <YES|NO>
     <!--NeedCopy-->
    

>**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.

1.  **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.

1.  **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 Headerwerten 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

1.  **Verwalten des Datenverkehrs** von Endbenutzern — Der Datenverkehr der Endbenutzer wird sicher an die gewünschten Ressourcen weitergeleitet.

    > **Hinweis:**
    >
    >-  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 cs_adfs_proxy SSL a.b.c.d 443 -cltTimeout 180 -AuthenticationHost adfs.ns.com
    <!--NeedCopy-->
```
add cs action adfs_proxy_cs_act -targetVserver avs_adfs_proxy
<!--NeedCopy--> ```

```
add cs policy adfs_proxy_policy -rule is_vpn_url -action adfs_proxy_cs_act
<!--NeedCopy--> ```

```
bind cs vserver cs_adfs_proxy -policyName adfs_proxy_policy -priority 100
<!--NeedCopy--> ```

```
bind cs vserver cs_adfs_proxy -lbvserver lb_adfs_proxy
<!--NeedCopy--> ```
  • Fügen Sie einen ADFS-Dienst hinzu. Geben Sie in der Befehlszeile Folgendes ein:

     add service adfs_service adfs_server SSL 443
    
     set ssl service adfs_service -sslProfile ns_default_ssl_profile_backend
    
     bind ssl service adfs_service -certkeyName adfs_trust_cert
     <!--NeedCopy-->
    
     set ssl profile ns_default_ssl_profile_backend -sessReuse ENABLED -tls1 DISABLED -SNIEnable ENABLED -commonName www.server.com -denySSLReneg NO
     <!--NeedCopy-->
    
  • Fügen Sie einen virtuellen Lastausgleichsserver hinzu. Geben Sie in der Befehlszeile Folgendes ein:

     add lb vserver lb_adfs_proxy SSL 0.0.0.0 0 -AuthenticationHost adfs.ns.com -Authentication ON -adfsProxyProfile adfs_proxy_profile
     <!--NeedCopy-->
    
  • Binden Sie die ADFS-Verkehrsrichtlinie und den ADFS-Dienst an den virtuellen Lastausgleichsserver. Geben Sie in der Befehlszeile Folgendes ein:

    ``` bind lb vserver lb_adfs_proxy adfs_service

    bind lb vserver lb_adfs_proxy -policyName adfs_traffic_pol -priority 1 -type REQUEST ```

  • Konfigurieren Sie eine SNIP-Adresse:

     add ns ip p.q.r.s 255.255.255.0 -type SNIP
    
  • Konfigurieren Sie Verkehrsaktionen und Richtlinien:

     add tm trafficAction adfs_traffic_action -SSO ON -formSSOAction adfs_form_action
    
     add tm formSSOAction adfs_form_action -actionURL "/adfs/ls" -userField UserName -passwdField Password -ssoSuccessRule "HTTP.RES.SET_COOKIE.EQ("MSISAuth")" -nameValuePair AuthMethod=FormsAuthentication -submitMethod POST
    
     add tm trafficAction adfs_traffic_action -SSO ON -formSSOAction adfs_form_action
    
     add tm trafficPolicy adfs_traffic_pol "HTTP.REQ.URL.EQ("/adfs/ls/")" adfs_traffic_action
    

Um NetScaler für die Verwendung 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 Lastausgleichsserver zu

Erstellen Sie mithilfe der GUI ein SSL-Zertifikat mit privatem Schlüssel zur Verwendung mit dem ADFS-Proxyprofil

  1. Navigieren Sie zu Traffic Management > SSL > Zertifikate > CA-Zertifikate.

  2. Klicken Sie im Detailbereich auf Installieren. Geben Sie im Dialogfeld Zertifikat installieren die Details ein, z. B. das Zertifikat und den Namen der Schlüsseldatei, und wählen Sie dann Zertifikatpaket aus.

  3. Klicken Sie auf Installierenund dann auf Schließen.

ADFSPIP-Installationszertifikat

Erstellen Sie mithilfe der CLI ein SSL-Zertifikat mit privatem Schlüssel zur Verwendung mit dem ADFS-Proxyprofil

Geben Sie in der Befehlszeile Folgendes ein:

add ssl certKey aaa_local -cert aaa_local.cer -key aaa_local.key

Hinweis: Die Zertifikatsdatei und die Schlüsseldatei müssen in der NetScaler-Appliance vorhanden sein.

Erstellen Sie ein ADFS-Proxyprofil mit der GUI

  1. Navigieren Sie zu Konfiguration > Sicherheit > AAA-Anwendungsverkehr > ADFSProxy-Profil .

  2. Klicken Sie auf der ADFSProxy-Profilseite auf Hinzufügen .**

  3. Konfigurieren Sie auf der Seite ADFSProxy-Profil erstellen die folgenden Parameter:

    • Name: Weisen Sie dem ADFS-Proxyprofil einen Namen zu.
    • Benutzername: Dies ist der Name eines Kontos in dem Verzeichnis, das zur Authentifizierung der Vertrauensanforderung von NetScaler als Proxy verwendet würde.
    • Passwort: Dies ist das Passwort des Accounts.
    • Server-URL: FQDN des ADFS-Servers.
    • Zertifikatsschlüsselname: SSL-Zertifikat des Proxys, der auf dem ADFS-Server registriert ist.
  4. Klicken Sie auf Erstellen.

ADFSPIP und NetScaler

Erstellen Sie ein ADFS-Proxyprofil mit der CLI

Geben Sie in der Befehlszeile 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>

add dns addRec adfs.server.com 10.106.30.151

Beispiel:

add authentication adfsProxyProfile adfs_proxy_profile -userName test -password test -serverURL "https://adfs.server.com" -CertKeyName adfs_trust_cert

Hinweis:

Der ADFS-Proxy und der ADFS-Server können nur dann Vertrauen herstellen, wenn das Zertifikat von der Zertifizierungsstelle des ADFS-Servers signiert ist.

Ordnen Sie das ADFS-Proxyprofil mithilfe der GUI dem virtuellen Lastausgleichsserver zu

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und wählen Sie einen virtuellen SSL-Server aus.

  2. Klicken Sie auf Bearbeiten.

  3. Klicken Sie in den Erweiterten Einstellungenauf Profile.

  4. Wählen Sie das zuvor erstellte ADFS-Profil aus.

  5. Klicken Sie auf OK und dann auf Fertig.

ADFSPIP und NetScaler

Ordnen Sie das ADFS-Proxyprofil mithilfe der CLI dem virtuellen Lastausgleichsserver zu

In der ADFS-Bereitstellung werden zwei virtuelle Server verwendet, einer für den Client-Verkehr 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 ssl vserver lb_adfs_proxy -sslProfile ns_default_ssl_profile_frontend

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 Zertifikatsschlüssel nicht aktualisieren, wenn er bereits an ein ADFS-Proxyprofil gebunden ist.

So konfigurieren Sie die Vertrauenserneuerung von Zertifikaten über die CLI

Geben Sie in der Befehlszeile Folgendes ein:

add ssl certKey <name> -cert <certificate file> -key <key file>
add authentication vserver <name> SSL <ipaddress> <port>
bind ssl vserver <virtual server name> -certkeyName <string>

Beispiel:

add ssl certKey adfs_trust_cert -cert "client/client_rsa_2048.pem" -key "client/client_rsa_2048.ky"

Hinweis:

Das Zertifikat muss von der Zertifizierungsstelle des ADFS-Servers ausgestellt werden.

add authentication vserver avs_adfs_proxy SSL 0.0.0.0
bind ssl vserver avs_adfs_proxy -certkeyName aaa_local

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.

Wenn ADFS mithilfe einer NetScaler-Appliance einen Lastenausgleich durchführt, 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 stellt den Authentifizierungsablauf zwischen Client und Zertifikat dar.

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 an der Eingabeaufforderung;

bind ssl vserver <name> -certkeyName <string>

bind ssl vserver <vServerName> -certkeyName <string>

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

bind authentication vserver <name> -policy <name of the policy> -priority <integer>

Beispiel:

bind ssl vserver lb_adfs_proxy -certkeyName aaa_local

set ssl profile ns_default_ssl_profile_frontend -eRSA ENABLED -sessReuse ENABLED -denySSLReneg NONSECURE

bind ssl vserver cs_adfs_proxy -certkeyName aaa_local

add authentication Policy local_pol -rule true -action LOCAL

bind authentication vserver avs_adfs_proxy -policy local_pol -priority 1

Informationen zum Konfigurieren des Clientzertifikats auf der NetScaler-Appliance finden Sie unter Konfigurieren der Clientzertifikatauthentifizierung mithilfe erweiterter Richtlinien. ```

Compliance des Active Directory-Verbunddienstproxy-