Konfiguration der Zertifizierungsstelle

Dieser Abschnitt beschreibt die erweiterte Konfiguration des Verbundauthentifizierungsdiensts (Federated Authentication Service, FAS) für die Integration mit Zertifizierungsstellenservern. Die meisten dieser Konfigurationen werden von der FAS-Verwaltungskonsole nicht unterstützt. In den Anweisungen werden PowerShell-APIs verwendet, die der Verbundauthentifizierungsdienst bietet. Grundlegende Kenntnisse von PowerShell werden für die Ausführung der Anweisungen in diesem Abschnitt vorausgesetzt.

Einrichten mehrerer Zertifizierungsstellenserver für die Verwendung im FAS

Sie können mit der FAS-Verwaltungskonsole den Verbundauthentifizierungsdienst mit mehreren Zertifizierungsstellen (ZS) konfigurieren, während Sie eine Regel erstellen oder bearbeiten:

Bearbeiten einer Regel mit zwei Zertifizierungsstellen.

Alle ausgewählten Zertifizierungsstellen müssen die Zertifikatvorlage Citrix_SmartcardLogon veröffentlichen (bzw. die in Ihrer Regel ausgewählte Vorlage).

Wenn eine Zertifizierungsstelle, die Sie verwenden möchten, die gewünschte Vorlage nicht veröffentlicht, führen Sie den Schritt Einrichten einer Zertifizierungsstelle für die Zertifizierungsstelle aus.

Hinweis:

Sie müssen den Schritt Autorisieren dieses Diensts nicht für jede Zertifizierungsstelle ausführen, da das in diesem Schritt konfigurierte Autorisierungszertifikat von allen Zertifizierungsstellen verwendet werden kann.

Erwartete Verhaltensänderungen

Wenn Sie den FAS-Server mit mehreren Zertifizierungsstellenservern konfiguriert haben, wird die Generierung von Benutzerzertifikaten auf alle konfigurierten Zertifizierungsstellenserver verteilt. Wenn einer der konfigurierten Zertifizierungsstellenserver ausfällt, wechselt der FAS-Server zu einem anderen verfügbaren Zertifizierungsstellenserver.

Konfigurieren der Microsoft-Zertifizierungsstelle für TCP-Zugriff

FAS greift mithilfe von DCOM auf die Microsoft-Zertifizierungsstelle zu. DCOM verwendet Port 135, um den Port zu ermitteln, auf dem der Dienst lauscht. Standardmäßig wird der Listening-Port dynamisch zugewiesen. Dies kann zu einer komplexen Situation bei der Implementierung der Firewallsicherheit führen. Daher hat Microsoft die Möglichkeit eingerichtet, einen statischen Port zu konfigurieren. Um einen statischen Port auf Microsoft ZS zu konfigurieren, wählen Sie Start > Ausführen > dcomcnfg.exe, um das DCOM-Konfigurationsfenster zu öffnen. Erweitern Sie Computer > Mein Computer > DCOM Config, um den Knoten CertSrv Request anzuzeigen. Bearbeiten Sie dann die Eigenschaften der CertSrv Request DCOM-Anwendung:

Lokalisierte Abbildung

Ändern Sie die Endpunkte, indem Sie einen statischen Endpunkt auswählen, und geben Sie eine TCP-Portnummer ein (900 in der Abbildung oben).

In diesem Beispiel muss die Firewall Port 135 und Port 900 zulassen.

Starten Sie die Microsoft-Zertifizierungsstelle neu, um die Änderung zu übernehmen.

Sie brauchen den FAS-Server (bzw. andere Maschinen, die die Zertifizierungsstelle verwenden) nicht zu konfigurieren, da DCOM durch Verwendung des RPC-Ports 135 eine Aushandlungsphase hat. Wenn ein Client DCOM verwenden muss, stellt er eine Verbindung zum DCOM RPC-Dienst auf dem Server her und fordert Zugriff auf einen bestimmten DCOM-Server an. Dadurch wird Port 900 (in diesem Beispiel) geöffnet und der DCOM-Server weist den Client an, eine Verbindung zu diesem Port herzustellen.

Vorabgenerieren von Benutzerzertifikaten

Die Anmeldung erfolgt für Benutzer erheblich schneller, wenn Benutzerzertifikate im FAS-Server vorab generiert werden. In den folgenden Abschnitten wird die erforderliche Vorgehensweise für einen oder mehrere FAS-Server beschrieben.

Abrufen einer Liste der Active Directory-Benutzer

Sie können die Zertifikatgenerierung verbessern, indem Sie eine Liste der Benutzer von Active Directory abrufen und als Datei (z. B. als CSV-Datei) speichern, wie im folgenden Beispiel dargestellt.

Import-Module ActiveDirectory

$searchbase = "cn=users,dc=bvt,dc=local" # AD User Base to Look for Users, leave it blank to search all
$filename = "user_list.csv" # Filename to save

if ($searchbase -ne ""){
    Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -SearchBase $searchbase -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
} else {
    Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
}
<!--NeedCopy-->

Get-ADUser ist ein Standardcmdlet zum Abrufen einer Liste der Benutzer. Das obige Beispiel enthält ein Filterargument, damit nur Benutzer mit einem UserPrincipalName aufgelistet werden, deren Kontostatus “enabled” ist.

Mit dem Argument SearchBase können Sie den Teil von Active Directory einschränken, der nach Benutzern durchsucht wird. Wenn Sie alle Benutzer in AD durchsuchen möchten, lassen Sie das Argument aus. Hinweis: Die Abfrage gibt u. U. eine große Anzahl Benutzer zurück.

Die CSV-Datei sieht wie folgt aus:

Lokalisierte Abbildung

FAS-Server

Das folgende PowerShell-Skript erstellt mit der generierten Benutzerliste eine Liste mit Benutzerzertifikaten.

Add-PSSnapin Citrix.A*
$csv = "user_list.csv"
$rule = "default" # rule/role in your admin console
$users = Import-Csv -encoding utf8 $csv
foreach ( $user in $users )
{
    $server = Get-FasServerForUser -UserPrincipalNames $user.UserPrincipalName
    if( $server.Server -ne $NULL) {
        New-FasUserCertificate -Address $server.Server -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
    }
    if( $server.Failover -ne $NULL) {
        New-FasUserCertificate -Address $server.Failover -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
    }
}
<!--NeedCopy-->

Wenn Sie mehr als einen FAS-Server haben, wird das Zertifikat für einen bestimmten Benutzer zweimal generiert: eins auf dem Hauptserver und das andere auf dem Failoverserver.

Das obige Skript wird durch die Regel “default” gesteuert. Wenn Ihre Regel einen anderen Namen hat (z. B. “hello”), ändern Sie im Skript die Variable $rule.

Lokalisierte Abbildung

Erneuern von Registrierungsstellenzertifikaten

Wenn mehrere FAS-Server verwendet werden, können Sie ein FAS-Registrierungsstellenzertifikat erneuern, ohne dass es Auswirkungen auf angemeldete Benutzer hat.

Hinweis:

Sie können den FAS auch über die grafische Benutzeroberfläche neu autorisieren:

Lokalisierte Abbildung

Führen Sie die folgenden Schritte aus:

  1. Erstellen Sie ein neues Autorisierungszertifikat: New-FasAuthorizationCertificate

  2. Notieren Sie die GUID des neuen Autorisierungszertifikats, das mit folgendem Befehl zurückgegeben wird: Get-FasAuthorizationCertificate

  3. Versetzen Sie den FAS-Server in den Wartungsmodus: Set-FasServer –Address <FAS server> -MaintenanceMode $true

  4. Wechseln Sie zum neuen Autorisierungszertifikat: Set-FasCertificateDefinition –AuthorizationCertificate <GUID>

  5. Heben Sie den Wartungsmodus für den FAS-Server auf: Set-FasServer –Address <FAS server> -MaintenanceMode $false

  6. Löschen Sie das alte Autorisierungszertifikat: Remove-FasAuthorizationCertificate

Verwandte Informationen

Konfiguration der Zertifizierungsstelle