Konfiguration der Zertifizierungsstelle
Dieser Artikel beschreibt die erweiterte Konfiguration des Federated Authentication Service (FAS) zur Integration mit Zertifizierungsstellen-Servern (CA-Servern). Die meisten dieser Konfigurationen werden von der FAS-Verwaltungskonsole nicht unterstützt. Die Anweisungen verwenden PowerShell-APIs, die von FAS bereitgestellt werden. Sie sollten über grundlegende PowerShell-Kenntnisse verfügen, bevor Sie die Anweisungen in diesem Artikel ausführen.
Einrichten mehrerer CA-Server zur Verwendung in FAS
Sie können die FAS-Verwaltungskonsole verwenden, um FAS mit mehreren CAs zu konfigurieren, während Sie eine Regel erstellen oder bearbeiten:
Alle von Ihnen ausgewählten CAs müssen die Zertifikatvorlage Citrix_SmartcardLogon (oder die von Ihnen in Ihrer Regel gewählte Vorlage) veröffentlichen.
Wenn eine der CAs, die Sie verwenden möchten, die gewünschte Vorlage nicht veröffentlicht, führen Sie den Schritt Zertifizierungsstelle einrichten für die CA aus.
Hinweis:
Sie müssen den Schritt Diesen Dienst autorisieren nicht für jede CA ausführen, da das in diesem Schritt konfigurierte Autorisierungszertifikat bei jeder Ihrer CAs verwendet werden kann.
Erwartete Verhaltensänderungen
Nachdem Sie den FAS-Server mit mehreren CA-Servern konfiguriert haben, wird die Generierung von Benutzerzertifikaten auf alle konfigurierten CA-Server verteilt. Wenn einer der konfigurierten CA-Server ausfällt, wechselt der FAS-Server außerdem zu einem anderen verfügbaren CA-Server.
Konfigurieren der Microsoft-Zertifizierungsstelle für den TCP-Zugriff
Standardmäßig verwendet die Microsoft CA DCOM für den Zugriff. Dies kann bei der Implementierung der Firewall-Sicherheit zu Komplexitäten führen, daher bietet Microsoft die Möglichkeit, auf einen statischen TCP-Port umzuschalten. Verwenden Sie auf der Microsoft CA Start>Ausführen>dcomcnfg.exe, um das DCOM-Konfigurationsfeld zu öffnen, erweitern Computer>Mein Computer>DCOM-Konfiguration, um den Knoten CertSrv Request anzuzeigen, und bearbeiten Sie dann die Eigenschaften der DCOM-Anwendung CertSrv Request:
Ändern Sie die „Endpunkte“, um einen statischen Endpunkt auszuwählen und eine TCP-Portnummer anzugeben (900 in der obigen Grafik).
Starten Sie die Microsoft-Zertifizierungsstelle neu und senden Sie eine Zertifikatanforderung. Wenn Sie
netstat –a –n –b ausführen, sollten Sie sehen, dass certsvr jetzt auf Port 900 lauscht:
Es ist nicht notwendig, den FAS-Server (oder andere Maschinen, die die Zertifizierungsstelle verwenden) zu konfigurieren, da DCOM eine Verhandlungsphase über den RPC-Port hat. Wenn ein Client DCOM verwenden muss, verbindet er sich mit dem DCOM-RPC-Dienst auf dem Zertifikatserver und fordert Zugriff auf einen bestimmten DCOM-Server an. Dies führt dazu, dass Port 900 geöffnet wird, und der DCOM-Server weist den FAS-Server an, wie er sich verbinden soll.
Benutzerzertifikate vorab generieren
Die Anmeldezeit für Benutzer wird sich erheblich verbessern, wenn Benutzerzertifikate innerhalb des FAS-Servers vorab generiert werden. Die folgenden Abschnitte beschreiben, wie dies entweder für einzelne oder mehrere FAS-Server erfolgen kann.
Liste der Active Directory-Benutzer abrufen
Sie können die Zertifikatgenerierung verbessern, indem Sie das AD abfragen und die Benutzerliste in einer Datei (z. B. einer .csv-Datei) speichern, wie im folgenden Beispiel gezeigt.
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 einem Kontostatus von „enabled“ aufzulisten.
Das Argument SearchBase schränkt ein, welcher Teil des AD nach Benutzern durchsucht werden soll. Sie können dies weglassen, wenn Sie alle Benutzer im AD einschließen möchten. Hinweis: Diese Abfrage kann eine große Anzahl von Benutzern zurückgeben.
Die CSV-Datei sieht ungefähr so aus:
FAS-Server
Das folgende PowerShell-Skript nimmt die zuvor generierte Benutzerliste und erstellt eine Liste von 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 mehr als einen FAS-Server haben, wird das Zertifikat eines bestimmten Benutzers zweimal generiert: einmal auf dem Hauptserver und einmal auf dem Failover-Server.
Das obige Skript ist für eine Regel namens „default“ ausgelegt. Wenn Sie einen anderen Regelnamen haben (z. B. „hello“), ändern Sie einfach die Variable $rule im Skript.
Registrierungsstellenzertifikate erneuern
Wenn mehr als ein FAS-Server verwendet wird, können Sie ein FAS-Autorisierungszertifikat erneuern, ohne die angemeldeten Benutzer zu beeinträchtigen.
Hinweis:
Sie können auch die GUI verwenden, um FAS neu zu autorisieren:
Führen Sie die folgende Abfolge aus:
-
Ein neues Autorisierungszertifikat erstellen:
New-FasAuthorizationCertificate -
Notieren Sie die GUID des neuen Autorisierungszertifikats, wie zurückgegeben von:
Get-FasAuthorizationCertificate -
Den FAS-Server in den Wartungsmodus versetzen:
Set-FasServer –Address <FAS server> -MaintenanceMode $true -
Das neue Autorisierungszertifikat austauschen:
Set-FasCertificateDefinition –AuthorizationCertificate <GUID> -
Den FAS-Server aus dem Wartungsmodus nehmen:
Set-FasServer –Address <FAS server> -MaintenanceMode $false -
Das alte Autorisierungszertifikat löschen:
Remove-FasAuthorizationCertificate
Zugehörige Informationen
-
Der Artikel Installieren und konfigurieren ist die primäre Referenz für die FAS-Installation und -Konfiguration.
-
Die gängigen Bereitstellungen des Federated Authentication Service sind im Artikel Bereitstellungsarchitekturen zusammengefasst.
-
Weitere „Anleitungsartikel“ werden im Artikel Erweiterte Konfiguration vorgestellt.
