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. Sie müssen über grundlegende Kenntnisse von PowerShell verfügen, bevor Sie die Anweisungen in diesem Artikel ausführen.
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:
Alle ausgewählten Zertifizierungsstellen müssen die Zertifikatvorlage Citrix_SmartcardLogon veröffentlichen (bzw. die in Ihrer Regel ausgewählte Vorlage).
Wenn eine der von Ihnen zu verwendenden Zertifizierungsstellen die gewünschte Vorlage nicht veröffentlicht, führen Sie den Schritt Eine Zertifizierungsstelle einrichten 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 CA-Server ausfällt, wechselt der FAS-Server zu einem anderen verfügbaren CA-Server.
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 CA zu konfigurieren, wählen Sie Start > Ausführen > dcomcnfg.exe
, um das DCOM-Konfigurationsfenster zu öffnen. Erweitern Sie Computer > Mein Computer > DCOM-Konfiguration, um den CertSrv-Anforderungsknoten anzuzeigen. Bearbeiten Sie dann die Eigenschaften der CertSrv Request DCOM-Anwendung:
Ä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
}
Get-ADUser
ist ein Standard-Cmdlet zum Abfragen einer Benutzerliste. Das obige Beispiel enthält ein Filterargument, um nur Benutzer mit einem UserPrincipalName und dem Kontostatus “aktiviert” aufzulisten.
Mit dem Argument SearchBase können Sie den Teil von Active Directory einschränken, der nach Benutzern durchsucht wird. Sie können dies belassen, wenn Sie alle Benutzer in AD einschließen möchten.
Hinweis:
Diese Abfrage kann eine große Anzahl von Benutzern zurückgeben.
Die CSV-Datei sieht wie folgt aus:
FAS-Server
Das folgende PowerShell-Skript verwendet die zuvor generierte Benutzerliste und erstellt 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
}
}
Wenn Sie über mehr als einen FAS-Server verfügen, wird das Zertifikat eines bestimmten Benutzers zweimal generiert: einmal auf dem Hauptserver und das andere auf dem Failoverserver.
Das vorherige Skript ist für eine Regel mit dem Namen “Standard” vorgesehen. Wenn Sie einen anderen Regelnamen haben (z. B. “Hallo”), ändern Sie die Variable $rule
im Skript.
FAS-Autorisierungszertifikat erneuern
Sie können ein FAS-Autorisierungszertifikat erneuern, ohne dass dies zu Störungen für FAS-Benutzer führt.
Verwenden der FAS-Verwaltungskonsole
- Klicken Sie auf Erneut autorisieren, um eine neue FAS-Autorisierungszertifikatsanforderung zu generieren:
Sie müssen die Anfrage bei der Zertifizierungsstelle manuell genehmigen. Weitere Informationen finden Sie unter Federated Authentication Service autorisieren.
- Sobald ein neues Autorisierungszertifikat generiert wurde, zeigt FAS an, dass es noch nicht mit Ihren Regeln verknüpft ist. Klicken Sie auf Konfiguration aktualisieren, um das neue Autorisierungszertifikat Ihren Regeln zuzuordnen.
PowerShell verwenden
Führen Sie die folgenden Schritte aus:
-
Erstellen Sie ein Autorisierungszertifikat:
New-FasAuthorizationCertificate
-
Notieren Sie die GUID des neuen Autorisierungszertifikats, wie sie zurückgegeben wird von:
Get-FasAuthorizationCertificate
-
Tauschen Sie das neue Autorisierungszertifikat aus:
Set-FasCertificateDefinition –AuthorizationCertificate <GUID>
-
Löschen Sie das alte Autorisierungszertifikat:
Remove-FasAuthorizationCertificate
. Achten Sie darauf, dass Sie die OptionDeleteUserCerts $false
verwenden, damit die Benutzeraktivität nicht unterbrochen wird.
FAS-Autorisierung aufheben und FAS-Zertifikate löschen
Verwenden der FAS-Verwaltungskonsole
-
Klicken Sie auf den Link Autorisierung aufheben und löschen Sie die Autorisierungszertifikate. Sie können alle Benutzerzertifikate und alle Regeln löschen (zum Löschen von Zertifikaten ist dies jedoch nicht erforderlich).
-
Wenn Sie die Regeln nicht löschen, erhalten Sie bei der späteren Autorisierung von FAS eine Warnung:
Die Warnung zeigt an, dass das Autorisierungszertifikat noch nicht mit Ihren Regeln verknüpft ist. Klicken Sie auf Konfiguration aktualisieren, um das neue Autorisierungszertifikat Ihren Regeln zuzuordnen.
PowerShell verwenden
Verwenden Sie den folgenden PowerShell-Befehl, um das Autorisierungszertifikat und die Benutzerzertifikate zu löschen:
$AuthCert = Get-FasAuthorizationCertificate -Address localhost
Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id
Hinweis:
Get-FasAuthorizationCertificate
gibt eine Liste von Autorisierungszertifikaten und ausstehenden Autorisierungszertifikatsanforderungen zurück, damit Sie den Wert von$AuthCert
überprüfen können, bevor Sie mitRemove-FasAuthorizationCertificate
fortfahren.
Sie können das Autorisierungszertifikat entfernen, aber die Benutzerzertifikate behalten, indem Sie den Parameter DeleteUserCerts
auf “false” setzen:
Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id -DeleteUserCerts $false
Die verbleibenden Benutzerzertifikate können von FAS weiterhin für VDA-Anmelde- und Sitzungszertifikate verwendet werden, was bei der Erneuerung der FAS-Autorisierung nützlich ist. Weitere Einzelheiten finden Sie unter FAS-Autorisierungszertifikat erneuern.
- Sie können Benutzerzertifikate folgendermaßen entfernen:
Remove-FasUserCertificate -Address localhost
Dieser Befehl entfernt alle Benutzerzertifikate vom FAS-Server. Der Befehl verfügt über Optionen zum Filtern der entfernten Zertifikate.
Hinweis:
Wenn FAS ein Autorisierungs- oder Benutzerzertifikat aus seinem internen Speicher entfernt, löscht es auch das zugehörige Schlüsselpaar.
Offline-Autorisierung
Das FAS-Autorisierungszertifikat kann offline mit PowerShell angefordert werden. Dies eignet sich für Organisationen, die nicht möchten, dass ihre Zertifizierungsstelle ein Autorisierungszertifikat über eine Online-Zertifikatsignieranforderung ausstellt.
-
Führen Sie während der ersten FAS-Konfiguration mit der Verwaltungskonsole nur die ersten beiden Schritte aus: Zertifikatvorlagen bereitstellen und Zertifizierungsstelle einrichten.
-
Laden Sie die folgenden PowerShell-Cmdlets auf den FAS-Server:
Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1`
-
Generieren Sie das Schlüsselpaar und erstellen Sie die Zertifikatsignieranforderung, indem Sie das folgende PowerShell-Cmdlet auf dem FAS-Server eingeben:
$AuthCertRequest = New-FasAuthorizationCertificateRequest -Address localhost $AuthCertRequest
Dies führt zu:
Hinweis:
Die Eigenschaften des generierten Schlüsselpaares werden durch die FAS-Autorisierungsschlüsselkonfiguration bestimmt. Weitere Einzelheiten finden Sie unter Schutz privater Schlüssel.
-
Kopieren Sie die Zertifikatsanforderung auf den Datenträger:
`$AuthCertRequest.CertificateRequest > c:\temp\authcert.csr
-
Legen Sie Ihrer Zertifizierungsstelle die Zertifikatsanforderungsdatei (in diesem Beispiel authcert.csr) vor, genehmigen Sie die Anforderung und erhalten Sie eine Zertifikatsantwort.
Die folgenden fünf Schritte beziehen sich speziell auf die Verwendung einer Microsoft Enterprise-Zertifizierungsstelle. Wenden Sie sich bei anderen Zertifizierungsstellen an den Anbieter Ihrer Zertifizierungsstelle, um Hilfe zu erhalten.
-
Fügen Sie auf Ihrem Zertifizierungsstellenserver das MMC-Snap-In “Zertifikatvorlagen” hinzu. Klicken Sie mit der rechten Maustaste auf die Vorlage Citrix_RegistrationAuthority_ManualAuthorization und wählen Sie Vorlage duplizieren aus. Wählen Sie die Registerkarte Allgemein. Ändern Sie den Namen und die Gültigkeitsdauer. In diesem Beispiel lautet der Name Offline_RA und die Gültigkeitsdauer beträgt zwei Jahre:
-
Fügen Sie auf Ihrem Zertifizierungsstellenserver das MMC-Snap-In der Zertifizierungsstelle hinzu. Klicken Sie mit der rechten Maustaste auf Zertifikatvorlagen. Wählen Sie Neu und klicken Sie dann auf Auszustellende Zertifikatvorlage. Wählen Sie die Vorlage aus, die Sie erstellt haben.
-
Senden Sie die Zertifikatsignieranforderung an Ihre Zertifizierungsstelle, indem Sie Folgendes in eine PowerShell-Eingabeaufforderung auf dem FAS-Server eingeben:
certreq -submit -attrib "certificatetemplate:<certificate template from step 5a>" <certificate request file from step 4>
Zum Beispiel:
certreq -submit -attrib "certificatetemplate:Offline_RA" C:\temp\authcert.csr
Das Ausführen des vorhergehenden Befehls führt zu:
An diesem Punkt wird möglicherweise ein Fenster mit der Bezeichnung Zertifizierungsstellenliste angezeigt. Die Zertifizierungsstelle in diesem Beispiel hat sowohl die DCOM- (oben) als auch die HTTP-Registrierung (unten) aktiviert. Wählen Sie DCOM, falls verfügbar, und klicken Sie dann auf OK:
Nachdem die Zertifizierungsstelle angegeben wurde, wird der Befehl abgeschlossen und die RequestID angezeigt:
-
Klicken Sie auf dem Zertifizierungsstellenserver im MMC-Snap-In der Zertifizierungsstelle auf Ausstehende Anforderungen. Suchen Sie die Anforderungs-ID. Klicken Sie mit der rechten Maustaste auf die Anforderung und wählen Sie Ausstellen.
-
Wählen Sie den Knoten Ausgestellte Zertifikate aus. Suchen Sie das ausgestellte Zertifikat (die Anforderungs-ID muss übereinstimmen). Doppelklicken Sie auf das Zertifikat, um es zu öffnen. Wählen Sie die Registerkarte Details. Klicken Sie auf In Datei kopieren. Der Zertifikatexport-Assistent wird gestartet. Klicken Sie auf Weiter. Wählen Sie die folgenden Optionen für das Dateiformat:
Das Format muss Cryptographic Message Syntax Standard – PKCS #7 Certificates (.P7B) sein und Schließen Sie nach Möglichkeit alle Zertifikate in den Zertifizierungspfad ein muss ausgewählt sein.
-
-
Kopieren Sie die exportierte Zertifikatsdatei auf den FAS-Server.
-
Importieren Sie das Registrierungsstellenzertifikat in den FAS-Server, indem Sie das folgende PowerShell-Cmdlet auf dem FAS-Server eingeben:
Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile <Certificate file from step 6>
Zum Beispiel:
Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile C:\temp\response.p7b
Das Ausführen dieses Befehls führt zu:
-
Überprüfen Sie die FAS-Administratorkonsole. Daraus muss hervorgehen, dass FAS nun autorisiert ist.
Hinweis:
Neben dem Schritt Diesen Dienst autorisieren ist ein grünes Häkchen angeordnet.
-
Fahren Sie mit der Konfiguration fort, indem Sie eine Regel erstellen. Weitere Einzelheiten finden Sie unter Regeln konfigurieren.
Verwandte Informationen
- Der Artikel Installation und Konfiguration ist die primäre Referenz für die Installation und Konfiguration des FAS.
- Der Artikel Bereitstellungsarchitekturen enthält eine Übersicht über die gebräuchlichen FAS-Architekturen.
- Weitere Anleitungen werden im Artikel Erweiterte Konfiguration vorgestellt.