Konfiguration der Zertifizierungsstelle

Dieser Artikel beschreibt die erweiterte Konfiguration des Federated Authentication Service (FAS) zur Integration mit Zertifizierungsstellen-Servern (CA). Die meisten dieser Konfigurationen werden von der FAS-Verwaltungskonsole nicht unterstützt. Die Anweisungen verwenden PowerShell-APIs, die von FAS bereitgestellt werden. Sie müssen über grundlegende PowerShell-Kenntnisse verfügen, bevor Sie die Anweisungen in diesem Artikel ausführen.

Einrichten mehrerer Zertifizierungsstellen-Server zur Verwendung in FAS

Sie können die FAS-Verwaltungskonsole verwenden, um FAS mit mehreren Zertifizierungsstellen zu konfigurieren, während Sie eine Regel erstellen oder bearbeiten:

Regel mit zwei Zertifizierungsstellen bearbeiten.

Alle von Ihnen ausgewählten Zertifizierungsstellen müssen die Zertifikatvorlage Citrix_SmartcardLogon veröffentlichen (oder welche Vorlage Sie auch immer in Ihrer Regel gewählt haben).

Wenn eine der Zertifizierungsstellen, 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 Diesen Dienst autorisieren nicht für jede Zertifizierungsstelle ausführen, da das in diesem Schritt konfigurierte Autorisierungszertifikat bei jeder Ihrer Zertifizierungsstellen verwendet werden kann.

Erwartete Verhaltensänderungen

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

Konfigurieren der Microsoft-Zertifizierungsstelle für den TCP-Zugriff

FAS greift über DCOM auf die Microsoft-Zertifizierungsstelle zu. DCOM verwendet Port 135, um den Port zu ermitteln, an dem der Dienst lauscht. Standardmäßig wird der Lauschende Port dynamisch zugewiesen. Dies kann zu Komplexitäten bei der Implementierung der Firewall-Sicherheit führen. Daher bietet Microsoft die Möglichkeit, einen statischen Port zu konfigurieren. Um einen statischen Port auf der Microsoft-Zertifizierungsstelle zu konfigurieren, wählen Sie Start > Ausführen > dcomcnfg.exe, um das Panel DCOM-Konfiguration zu öffnen. Erweitern Sie Computer > Mein Computer > DCOM-Konfiguration, um den Knoten CertSrv Request anzuzeigen. Bearbeiten Sie dann die Eigenschaften der DCOM-Anwendung CertSrv Request:

lokalisiertes Bild

Ändern Sie die Endpunkte, um einen statischen Endpunkt auszuwählen und eine TCP-Portnummer anzugeben (900 in der vorhergehenden Abbildung).

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

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

Es ist nicht erforderlich, den FAS-Server (oder andere Maschinen, die die Zertifizierungsstelle verwenden) zu konfigurieren, da DCOM eine Verhandlungsphase über den RPC-Port 135 hat. Wenn ein Client DCOM verwenden muss, verbindet er sich mit dem DCOM-RPC-Dienst auf dem Server und fordert Zugriff auf einen bestimmten DCOM-Server an. Dies führt dazu, dass Port 900 (in diesem Beispiel) geöffnet wird, und der DCOM-Server weist den Client an, sich mit diesem Port zu verbinden.

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 für einzelne oder mehrere FAS-Server erfolgen kann.

Eine Liste von Active Directory-Benutzern abrufen

Sie können die Zertifikatgenerierung verbessern, indem Sie das AD abfragen und die Liste der Benutzer 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
}
<!--NeedCopy-->

Get-ADUser ist ein Standard-Cmdlet zum Abfragen einer Benutzerliste. Das vorhergehende 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 etwa so aus:

  • lokalisiertes Bild

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
    }
}
<!--NeedCopy-->

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 vorhergehende Skript ist für eine Regel namens ‘default’ ausgelegt. Wenn Sie einen anderen Regelnamen haben (z. B. ‘hello’), ändern Sie die Variable $rule im Skript.

  • lokalisiertes Bild

FAS-Autorisierungszertifikat erneuern

Sie können ein FAS-Autorisierungszertifikat erneuern, ohne die FAS-Benutzer zu unterbrechen.

Verwenden der FAS-Verwaltungskonsole

  • Klicken Sie auf Reautorisieren, um eine neue Anforderung für ein FAS-Autorisierungszertifikat zu generieren: reautorisieren

Sie müssen die Anforderung manuell bei der Zertifizierungsstelle 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 mit Ihren Regeln zu verknüpfen. ![Konfiguration aktualisieren](/en-us/federated-authentication-service/current-release/media/update-the-config-fas-admin-console.png)

Verwenden von PowerShell

Führen Sie die folgende Sequenz aus:

  1. Erstellen Sie ein Autorisierungszertifikat: New-FasAuthorizationCertificate

  2. Notieren Sie die GUID des neuen Autorisierungszertifikats, wie sie von Get-FasAuthorizationCertificate zurückgegeben wird.

  3. Tauschen Sie das neue Autorisierungszertifikat aus: Set-FasCertificateDefinition –AuthorizationCertificate <GUID>

  4. Löschen Sie das alte Autorisierungszertifikat: Remove-FasAuthorizationCertificate. Stellen Sie sicher, dass Sie die Option DeleteUserCerts $false verwenden, damit die Benutzeraktivität nicht unterbrochen wird.

FAS deautorisieren und FAS-Zertifikate löschen

Verwenden der FAS-Verwaltungskonsole

-  Klicken Sie auf den Link **Deautorisieren** und löschen Sie die Autorisierungszertifikate. Sie können alle Benutzerzertifikate und alle Regeln löschen (obwohl dies zum Löschen von Zertifikaten nicht erforderlich ist).
-  ![Deautorisieren](/en-us/federated-authentication-service/current-release/media/deauthorize-service-and-fas-admin-console.png)

-  Wenn Sie die Regeln nicht löschen, erhalten Sie beim späteren Autorisieren von FAS eine Warnung: ![Warnung](/en-us/federated-authentication-service/current-release/media/update-the-config-fas-admin-console.png)

Die Warnung weist darauf hin, dass das Autorisierungszertifikat noch nicht mit Ihren Regeln verknüpft ist. Klicken Sie auf Konfiguration aktualisieren, um das neue Autorisierungszertifikat mit Ihren Regeln zu verknüpfen.

Verwenden von PowerShell

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
<!--NeedCopy-->
-  > **Hinweis:** > > `Get-FasAuthorizationCertificate` gibt eine Liste von Autorisierungszertifikaten und ausstehenden Autorisierungszertifikatsanfragen zurück, damit Sie den Wert von `$AuthCert` überprüfen können, bevor Sie mit `Remove-FasAuthorizationCertificate` fortfahren.

Sie können das Autorisierungszertifikat entfernen, aber die Benutzerzertifikate beibehalten, indem Sie den Parameter DeleteUserCerts auf false setzen:

Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id -DeleteUserCerts $false

Die verbleibenden Benutzerzertifikate können weiterhin von FAS für die VDA-Anmeldung und In-Session-Zertifikate verwendet werden, was bei der Erneuerung der FAS-Autorisierung nützlich ist. Weitere Informationen finden Sie unter FAS-Autorisierungszertifikat erneuern.

  • Sie können Benutzerzertifikate wie folgt entfernen:

Remove-FasUserCertificate -Address localhost

Dieser Befehl entfernt alle Benutzerzertifikate vom FAS-Server. Der Befehl verfügt über Optionen zum Filtern der zu entfernenden 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 über PowerShell angefordert werden. Dies ist für Organisationen geeignet, die nicht möchten, dass ihre Zertifizierungsstelle ein Autorisierungszertifikat über eine Online-Zertifikatsanfrage ausstellt.
  1. Führen Sie während der anfänglichen FAS-Konfiguration über die Verwaltungskonsole nur die ersten beiden Schritte aus: Zertifikatvorlagen bereitstellen und Zertifizierungsstelle einrichten. Deploy templates and Set up certificate authority

  2. Laden Sie die folgenden PowerShell-Cmdlets auf dem FAS-Server:

    Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1`
    <!--NeedCopy-->
    
  3. Generieren Sie das Schlüsselpaar und erstellen Sie die Zertifikatsanfrage, indem Sie das folgende PowerShell-Cmdlet auf dem FAS-Server eingeben:

    
    $AuthCertRequest = New-FasAuthorizationCertificateRequest -Address localhost $AuthCertRequest
    
    <!--NeedCopy-->
    

    Dies führt zu:

    Result

    Hinweis:

    Die Eigenschaften des generierten Schlüsselpaares werden durch die FAS-Autorisierungsschlüsselkonfiguration bestimmt. Weitere Informationen finden Sie unter Schutz des privaten Schlüssels.

  4. Kopieren Sie die Zertifikatsanfrage auf die Festplatte:

    `$AuthCertRequest.CertificateRequest > c:\temp\authcert.csr
    <!--NeedCopy-->
    
  5. Übergeben Sie die Zertifikatsanforderungsdatei (in diesem Beispiel authcert.csr) an Ihre Zertifizierungsstelle, genehmigen Sie die Anforderung und erhalten Sie eine Zertifikatsantwort.

    Die folgenden fünf Schritte sind spezifisch für die Verwendung einer Microsoft Enterprise-Zertifizierungsstelle; für andere Zertifizierungsstellen wenden Sie sich an Ihren CA-Anbieter.

    • Fügen Sie auf Ihrem Zertifizierungsstellenserver das MMC-Snap-In für Zertifikatvorlagen hinzu. Klicken Sie mit der rechten Maustaste auf die Vorlage Citrix_RegistrationAuthority_ManualAuthorization und wählen Sie Vorlage duplizieren. 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:

      Private keys template properties

    • Fügen Sie auf Ihrem Zertifizierungsstellenserver das MMC-Snap-In für Zertifizierungsstellen hinzu. Klicken Sie mit der rechten Maustaste auf Zertifikatvorlagen. Wählen Sie Neu und klicken Sie dann auf Ausstellende Zertifikatvorlage. Wählen Sie die von Ihnen erstellte Vorlage aus.

    • Übermitteln Sie die Zertifikatsanfrage 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>
      <!--NeedCopy-->
      

      Zum Beispiel:

      certreq -submit -attrib "certificatetemplate:Offline_RA" C:\temp\authcert.csr
      <!--NeedCopy-->
      

      Die Ausführung des vorhergehenden Befehls führt zu:

      Certificate template result

      An diesem Punkt kann ein Fenster Liste der Zertifizierungsstellen erscheinen. Die Zertifizierungsstelle in diesem Beispiel hat sowohl DCOM- (oben) als auch HTTP- (unten) Registrierung aktiviert. Wählen Sie DCOM, falls verfügbar, und klicken Sie dann auf OK:

      Certification Authority List

      Nachdem die Zertifizierungsstelle angegeben wurde, wird der Befehl abgeschlossen und die RequestID angezeigt:

      Certificate request pending status

    • Klicken Sie auf dem Zertifizierungsstellenserver im MMC-Snap-In der Zertifizierungsstelle auf Ausstehende Anforderungen. Suchen Sie die Anforderungs-ID. Klicken Sie dann mit der rechten Maustaste auf die Anforderung und wählen Sie Ausstellen.

    • Wählen Sie den Knoten Ausgestellte Zertifikate. Suchen Sie das ausgestellte Zertifikat (die Anforderungs-ID muss übereinstimmen). Doppelklicken Sie, um das Zertifikat 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:

      Private keys certificate export wizard

    Das Format muss Cryptographic Message Syntax Standard – PKCS #7 Certificates (.P7B) sein, und Alle Zertifikate im Zertifizierungspfad einschließen, falls möglich muss ausgewählt sein.

  6. Kopieren Sie die exportierte Zertifikatsdatei auf den FAS-Server.

  7. 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>
    <!--NeedCopy-->
    

    Zum Beispiel:

    Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile C:\temp\response.p7b
    <!--NeedCopy-->
    

    Die Ausführung dieses Befehls führt zu:

    Import FAS authorization certificate response

  8. Überprüfen Sie die FAS-Administrationskonsole. Es sollte angezeigt werden, dass FAS jetzt autorisiert ist.

    Authorize service

    Hinweis:

    Der Schritt Diesen Dienst autorisieren hat ein grünes Häkchen daneben.

  9. Fahren Sie mit der Konfiguration fort, indem Sie eine Regel erstellen. Weitere Informationen finden Sie unter Regeln konfigurieren.

Verwandte Informationen