Schutz privater Schlüssel
Einführung
FAS-Zertifikate werden in einer eingebetteten Datenbank auf dem FAS-Server gespeichert. Die privaten Schlüssel, die mit FAS-Zertifikaten verknüpft sind, werden unter dem Dienstkonto für Netzwerkdienste des FAS-Servers gespeichert. Standardmäßig sind die Schlüssel nicht exportierbar, 2048-Bit RSA, und werden im Microsoft Software Key Storage Provider erstellt und gespeichert.
Mithilfe von FAS PowerShell-Befehlen PowerShell-Cmdlets können die Eigenschaften und der Speicherort der privaten Schlüssel geändert werden.
Hinweis:
Die FAS-Konfiguration und -Zertifikate werden lokal auf dem FAS-Server gespeichert. Die Daten werden nicht zwischen FAS-Servern geteilt.
In FAS-Versionen vor Citrix Virtual Apps and Desktops 2411 wurden die Eigenschaften privater Schlüssel durch Bearbeiten der XML-Datei unter
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.configkonfiguriert. Dies wurde durch PowerShell-Befehle abgelöst, die mehr Flexibilität bieten und ohne Neustart des FAS-Servers angewendet werden können. Im Gegensatz zu den XML-Dateieinstellungen bleibt die Konfiguration, die mit PowerShell vorgenommen wurde, auch bei einem Upgrade des FAS-Servers erhalten. Daher wird die Konfiguration der folgenden Einstellungen über die XML-Datei nicht mehr unterstützt:
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtectionCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCspCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderNameCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderTypeCitrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength
Siehe den Abschnitt Upgrade von FAS-Versionen vor Citrix Virtual Apps and Desktops™ 2411.
Informationen zu FAS-Zertifikaten und -Vorlagen
Es gibt zwei Arten von Zertifikaten, die von FAS verwaltet werden: das Autorisierungszertifikat, von dem es normalerweise eine Instanz gibt, und die Benutzerzertifikate.
-
Hinweis:
-
Das FAS-Autorisierungszertifikat wird manchmal auch als Registrierungsstelle- oder Anforderungsagent- (RA) Zertifikat bezeichnet.
-
FAS verwendet Zertifikatvorlagen beim Anfordern von Zertifikaten, wie im folgenden Abschnitt beschrieben. Obwohl FAS den Namen einer Vorlage in Zertifikatanforderungen angibt, liest es den Inhalt der Vorlage nicht. Daher beeinflusst das Ändern der Vorlageneinstellungen die von FAS gestellten Zertifikatanforderungen nicht. Das Ändern bestimmter Eigenschaften der Vorlage wirkt sich auf das von der CA generierte Zertifikat aus. Sie können beispielsweise die Gültigkeitsdauer mithilfe der Vorlage ändern.
FAS-Autorisierungszertifikat
Dieses Zertifikat wird erstellt, wenn Sie FAS konfigurieren. Sie können die Schaltfläche Autorisieren oder Reautorisieren der FAS-Verwaltungskonsole verwenden, um ein neues Autorisierungszertifikat anzufordern.
Es ist auch möglich, PowerShell-Befehle zu verwenden, die mehr Flexibilität bieten:
-
New-FasAuthorizationCertificate: Dieser Befehl verhält sich ähnlich wie die FAS-Verwaltungskonsole, mit der Ausnahme, dass es möglich ist, die im Autorisierungsprozess zu verwendenden Zertifikatvorlagen anzugeben. -
New-FasAuthorizationCertificateRequest: Dieser Befehl erstellt eine Offline-Anforderung für ein Autorisierungszertifikat; Offline-Autorisierung.
Das Autorisierungszertifikat wird manchmal auch als RA-Zertifikat bezeichnet, da FAS als Registrierungsstelle fungiert, die Zertifikate im Namen eines Benutzers anfordert. Das Zertifikat verfügt über die erweiterte Schlüsselverwendung Zertifikatanforderungsagent, die es ermöglicht, es als Autorisierungsnachweis beim Anfordern von FAS-Benutzerzertifikaten zu verwenden.
-
Standardmäßig verwendet der Autorisierungsprozess die folgenden Vorlagen:
-
Citrix_RegistrationAuthority_ManualAuthorization: Das mit dieser Vorlage erstellte Zertifikat ist temporär und kurzlebig und wird zum Bootstrapping des Autorisierungsprozesses verwendet; -
Citrix_RegistrationAuthority: Das mit dieser Vorlage erstellte Zertifikat hat eine lange Gültigkeit und wird vom FAS-Server gespeichert.
Die Autorisierung von FAS führt zu den folgenden Schritten:
-
FAS erstellt ein Schlüsselpaar und sendet eine Zertifikatsignieranforderung (CSR) an die CA, wobei der öffentliche Schlüssel des Schlüsselpaars und die Vorlage
Citrix_RegistrationAuthority_ManualAuthorizationangegeben werden. -
Die Ausstellungsanforderungen der Vorlage legen fest, dass die CSR manuell vom CA-Administrator genehmigt werden muss.
-
- Sobald der CA-Administrator die CSR genehmigt hat, erstellt die CA ein Zertifikat, das FAS abruft. Dieses Zertifikat hat eine kurze Gültigkeit von einem Tag und wird nur für den folgenden Schritt verwendet. Nach Gebrauch zerstört FAS das Zertifikat und sein Schlüsselpaar.
-
FAS erstellt ein weiteres Schlüsselpaar und sendet eine zweite CSR an die CA, wobei der öffentliche Schlüssel dieses Schlüsselpaars und die Vorlage
Citrix_RegistrationAuthorityangegeben werden. Die Anforderung wird durch das Zertifikat aus dem vorherigen Schritt autorisiert und signiert. -
Die CA stellt das Zertifikat automatisch aus, FAS ruft das Zertifikat ab, und FAS ist nun Autorisiert. Standardmäßig hat dieses Autorisierungszertifikat eine Gültigkeit von zwei Jahren.
Die Einstellungen, die zum Erstellen der zuvor erwähnten Schlüsselpaare verwendet wurden, können mit diesem PowerShell-Befehl angezeigt werden:
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
FAS-Benutzerzertifikate
FAS erstellt Benutzerzertifikate, um Benutzer bei VDAs anzumelden.
Wenn FAS ein Benutzerzertifikat erstellt, erfolgen die folgenden Schritte:
- FAS erstellt ein Schlüsselpaar und sendet eine CSR an die CA, wobei der öffentliche Schlüssel des Schlüsselpaars, die Identität des Benutzers und standardmäßig die Vorlage
Citrix_SmartcardLogonangegeben werden (die verwendete Vorlage ist konfigurierbar). - Die CSR wird mit dem FAS-Autorisierungszertifikat signiert.
- Die Vorlage
Citrix_SmartcardLogonhat die AusstellungsanforderungApplication Policy: Certificate Request Agent. Da dieses Attribut im FAS-Autorisierungszertifikat vorhanden ist, stellt die CA das Benutzerzertifikat automatisch aus. - FAS ruft das Zertifikat ab und speichert es in einer eingebetteten Datenbank auf dem FAS-Server.
- Standardmäßig hat das Zertifikat eine Gültigkeit von einer Woche.
Später wird das Benutzerzertifikat dem VDA zur Verfügung gestellt, um den Benutzer anzumelden.
Die Einstellungen, die zum Erstellen des zuvor erwähnten Schlüsselpaars verwendet wurden, können mit dem folgenden PowerShell-Befehl angezeigt werden:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Optionen für die Speicherung privater Schlüssel
FAS kann so konfiguriert werden, dass Schlüsselpaare in drei Speicherkategorien erstellt und gespeichert werden:
- Software: Normalerweise unter Verwendung des Microsoft Software Key Storage Provider, der nur durch Software gesichert ist; die Daten werden auf der Festplatte gespeichert.
- Trusted Platform Module (TPM): Das TPM kann physische Hardware auf dem Computer oder ein virtuelles TPM sein, das von einem Hypervisor bereitgestellt wird.
- Hardware Security Module (HSM): Dies ist ein Hardware-Peripheriegerät oder Netzwerkgerät, das zum sicheren Speichern kryptografischer Schlüssel entwickelt wurde.
Hinweis:
Es ist ein Kompromiss zu berücksichtigen. Hardware-Speicher ist möglicherweise sicherer, aber oft weniger leistungsfähig, insbesondere beim Erstellen und Speichern einer großen Anzahl von Schlüsselpaaren für Benutzerzertifikate.
Der private Schlüssel, der dem FAS-Autorisierungszertifikat zugeordnet ist, ist besonders sensibel, da die Richtlinie des Zertifikats es jedem, der den privaten Schlüssel besitzt, erlaubt, Zertifikatsanfragen für jeden Benutzer zu autorisieren. Folglich kann jeder, der diesen Schlüssel kontrolliert, sich als beliebiger Benutzer mit der Umgebung verbinden.
Hinweis:
Microsoft CAs können so konfiguriert werden, dass die Berechtigungen des FAS-Autorisierungszertifikats eingeschränkt werden, einschließlich der Gruppe von Benutzern, für die Zertifikate ausgestellt werden können. Siehe Delegierte Registrierungsagenten.
Aus diesem Grund ermöglicht FAS die unabhängige Konfiguration der Eigenschaften privater Schlüssel für Autorisierungs- und Benutzerzertifikate.
Einige typische Konfigurationen sind wie folgt:
| Schlüssel für Autorisierungszertifikat | Schlüssel für Benutzerzertifikate | Kommentar |
|---|---|---|
| Software | Software | Standardkonfiguration |
| TPM | Software | Autorisierungszertifikat verfügt über Hardwareschutz |
| HSM | HSM | Alle Zertifikate verfügen über Hardwareschutz |
Hinweis:
Ein Hardware-TPM wird für Benutzerschlüssel nicht empfohlen. Verwenden Sie TPM nur für den Schlüssel des Autorisierungszertifikats. Wenn Sie planen, Ihren FAS-Server in einer virtualisierten Umgebung zu betreiben, erkundigen Sie sich bei Ihrem Hypervisor-Anbieter, ob die TPM-Virtualisierung unterstützt wird.
PowerShell-Befehle zur Schlüsselkonfiguration
Die Befehle zur Konfiguration privater Schlüssel sind wie folgt:
Get-FasKeyConfigSet-FasKeyConfigReset-FasKeyConfigTest-FasKeyConfig
Weitere Informationen finden Sie unter PowerShell-Cmdlets.
Die Schlüsselkonfiguration für Autorisierungs- und Benutzerzertifikate ist unabhängig und wird durch das Argument CertificateType angegeben. Um beispielsweise die Konfiguration des privaten Schlüssels abzurufen, die beim Anfordern eines Autorisierungszertifikats (RA-Zertifikat) verwendet wird:
Get-FasKeyConfig -Address localhost -CertificateType ra
Um die Konfiguration des privaten Schlüssels abzurufen, die beim Anfordern eines Benutzerzertifikats verwendet wird:
Get-FasKeyConfig -Address localhost -CertificateType user
Sie können Set-FasKeyConfig und Get-FasKeyConfig verwenden, um die folgenden Eigenschaften privater Schlüssel festzulegen und zu überprüfen:
| Eigenschaft | Standard | Kommentar |
|---|---|---|
| Länge
|
2048
|
Schlüssellänge in Bit. Beachten Sie, dass in der Microsoft-Vorlagen-GUI die Registerkarte Kryptografie die minimale Schlüsselgröße angibt. Die CSR wird von der CA abgelehnt, wenn die in FAS konfigurierte Schlüssellänge kleiner ist als die in der Vorlage angegebene minimale Schlüsselgröße.
Für RSA-Schlüssel können die Längen 1024 Bit, 2048 Bit oder 4096 Bit betragen. Für ECC-Schlüssel können die Längen 256 Bit, 384 Bit oder 521 Bit betragen. |
| Exportierbar | false | Gibt an, ob der private Schlüssel von seinem Anbieter exportiert werden kann. |
| Präfix | keine | Gibt ein Präfix an, das dem Bezeichner privater Schlüssel hinzugefügt werden soll, die von FAS generiert werden. Die generierten Bezeichner bestehen aus dem Präfix und einer GUID. Zum Beispiel MyPrefix70277985-6908-4C6F-BE59-B08691456804. |
| EllipticCurve | false | Wenn true, wird ein ECC-Schlüsselpaar generiert, andernfalls ein RSA-Schlüsselpaar. |
| Key Storage Provider (KSP)
|
true
|
Wenn true, verwendet FAS die moderne Windows CNG API, und ein KSP muss in der Eigenschaft Provider angegeben werden.
Wenn false, verwendet FAS die ältere CAPI API, und ein Cryptographic Service Provider (CSP) muss in der Eigenschaft Provider angegeben werden. Citrix empfiehlt die Verwendung eines KSP. |
| Provider | Microsoft Software Key Storage Provider | Der Name des Anbieters, bei dem Schlüsselpaare erstellt und gespeichert werden. Sie können diese Eigenschaft ändern, um ein TPM oder HSM anzugeben. Der KSP (oder CSP) eines HSM wird vom HSM-Anbieter bereitgestellt. Dieser stellt Anweisungen zur Installation seiner Software und den Namen des Anbieters bereit. |
| CSPType
|
24
|
Nur relevant, wenn die Eigenschaft KSP auf false gesetzt ist.
Bezieht sich auf Microsoft KeyContainerPermissionAccessEntry.ProviderType Property PROV_RSA_AES 24. Muss immer 24 sein, es sei denn, Sie verwenden ein HSM mit einem CSP und der HSM-Anbieter gibt etwas anderes an. |
Zusätzlich kann Set-FasKeyConfig mit den folgenden Schaltern verwendet werden, die der Einfachheit halber bereitgestellt werden:
| Flag | Beschreibung |
|---|---|
| -UseDefaultSoftwareProvider | Setzt die Eigenschaft Provider auf Microsoft Software Key Storage Provider und das Feld KSP auf true. |
-
-UseDefaultTpmProvider Setzt die Eigenschaft Provider auf Microsoft Platform Crypto Provider und das Feld KSP auf true.
Microsoft Software Key Storage Provider ist der Anbieter, der normalerweise zum Erstellen und Speichern von Schlüsseln auf der Festplatte verwendet wird.
Microsoft Platform Crypto Provider ist der Anbieter, der normalerweise zum Erstellen und Speichern von Schlüsseln in einem TPM verwendet wird.
Get-FasKeyConfig bietet auch Felder, die helfen zu bestätigen, welcher Anbieter und Algorithmus verwendet werden:
| Feld | Bedeutung |
|---|---|
| IsDefaultSoftwareProvider | Wenn true, gibt dies an, dass der Anbieter auf Microsoft Software Key Storage Provider und das Feld KSP auf true gesetzt ist. |
| IsDefaultTpmProvider | Wenn true, gibt dies an, dass der Anbieter auf Microsoft Platform Crypto Provider und das Feld KSP auf true gesetzt ist. |
| Algorithmus
|
RSA gibt an, dass RSA-Schlüssel erstellt werden (die Eigenschaft EllipticCurve ist false).
ECC gibt an, dass ECC-Schlüssel erstellt werden (die Eigenschaft EllipticCurve ist true). |
Sie können die Einstellungen mit Reset-FasKeyConfig auf die Standardwerte zurücksetzen.
Reset-FasKeyConfig -Address localhost -CertificateType ra
Reset-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
Hinweis:
Änderungen an der Konfiguration des privaten Schlüssels (mittels
Set-FasKeyConfigoderReset-FasKeyConfig) werden sofort auf neu erstellte Zertifikate angewendet. Bestehende Autorisierungs- und Benutzerzertifikate mit einer anderen Konfiguration sind jedoch nicht betroffen.Sie können vorhandene Zertifikate entfernen, indem Sie Ihren FAS-Dienst über die Verwaltungskonsole deautorisieren oder PowerShell-Befehle unter Deautorisieren von FAS und Löschen von FAS-Zertifikaten verwenden.
Alle im Schlüsselpool vorgenerierten Schlüssel, die nicht der aktuellen Benutzer-Schlüsselkonfiguration entsprechen, werden verworfen.
Beispiele für Konfigurationsszenarien
Stellen Sie in jedem Beispiel die Schlüsselkonfiguration mit dem bereitgestellten PowerShell ein, bevor Sie Ihren FAS-Dienst autorisieren, da die vorhandenen Zertifikate von keiner Konfigurationsänderung betroffen sind.
Wenn Sie bereits Autorisierungs- oder Benutzerzertifikate mit der falschen Schlüsselkonfiguration haben, können Sie diese entfernen, indem Sie FAS-Zertifikate überprüfen und FAS deautorisieren und FAS-Zertifikate löschen.
Wenn sich Ihr FAS-Server in einer Live-Bereitstellung befindet, sollten Sie ihn in den Wartungsmodus versetzen, während Sie Konfigurationsänderungen vornehmen Wartungsmodus.
Beispiel 1 – Alle Schlüssel im Microsoft Software Key Storage Provider speichern
Da dies standardmäßig der Fall ist, ist keine zusätzliche Konfiguration erforderlich.
Wenn Sie Ihre Schlüsselkonfiguration zuvor geändert haben, können Sie mit den folgenden Befehlen zur Verwendung des Microsoft Software Key Storage Provider zurückkehren:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultSoftwareProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Sie können Reset-FasKeyConfig verwenden, um zum Microsoft Software Key Storage Provider zurückzukehren und zusätzlich alle anderen Schlüsselkonfigurationseinstellungen auf die Standardwerte zurückzusetzen.
Beispiel 2 – Den Autorisierungszertifikatsschlüssel in einem TPM speichern
Dieses Beispiel veranschaulicht das Speichern des FAS-Autorisierungszertifikatsschlüssels in einem TPM (real oder virtu), während die Benutzerzertifikatsschlüssel im Microsoft Software Key Storage Provider gespeichert werden.
Obwohl FAS Benutzerzertifikate mit TPM-geschützten Schlüsseln generieren kann, kann die TPM-Hardware für große Bereitstellungen zu langsam oder größenbeschränkt sein.
Verwenden Sie die folgenden PowerShell-Befehle:
Set-FasKeyConfig -Address localhost -CertificateType ra -UseDefaultTpmProvider
Set-FasKeyConfig -Address localhost -CertificateType user -UseDefaultSoftwareProvider
<!--NeedCopy-->
Beispiel 3 – Alle Schlüssel in einem HSM speichern
-
Dieses Beispiel veranschaulicht die Verwendung eines HSMs zum Speichern sowohl privater Autorisierungs- als auch Benutzerzertifikatsschlüssel. Dieses Beispiel setzt ein konfiguriertes HSM voraus. Ihr HSM wird einen Providernamen haben. Zum Beispiel: HSM Vendor Key Storage Provider.
-
Verwenden Sie die folgenden PowerShell-Befehle (ersetzen Sie den Beispieltext durch den tatsächlichen Namen des Providers Ihres HSMs):
Set-FasKeyConfig -Address localhost -CertificateType ra -Provider "HSM Vendor Key Storage Provider"
Set-FasKeyConfig -Address localhost -CertificateType user -Provider "HSM Vendor Key Storage Provider"
<!--NeedCopy-->
Standardmäßig generiert FAS RSA-Schlüssel. In diesem Beispiel werden Elliptische Kurven (ECC)-Schlüssel sowohl für das Autorisierungszertifikat als auch für Benutzerzertifikate konfiguriert.
- Das Beispiel verwendet unterschiedliche Schlüssellängen. Das Autorisierungszertifikat wird mit einem 384-Bit-Schlüssel konfiguriert, und Benutzerzertifikate werden mit einem 256-Bit-Schlüssel konfiguriert.
- Set-FasKeyConfig -Address localhost -CertificateType ra -EllipticCurve $true -Length 384
Set-FasKeyConfig -Address localhost -CertificateType user -EllipticCurve $true -Length 256
<!--NeedCopy-->
An diesem Punkt können Autorisierungs- und Benutzerzertifikatsanfragen von der CA abgelehnt werden, da die minimale Schlüssellänge in den FAS-Zertifikatvorlagen standardmäßig auf 1024 Bit eingestellt ist.
Daher ist es für dieses Beispiel notwendig, die minimale Schlüssellänge in den Vorlagen wie folgt zu ändern:
-
Citrix_RegistrationAuthority_ManualAuthorization and Citrix_RegistrationAuthority: Ändern Sie die minimale Schlüssellänge auf 384 (oder kleiner) -
Citrix_SmartcardLogon: Ändern Sie die minimale Schlüssellänge auf 256 (oder kleiner) - Um die Vorlagen zu bearbeiten, führen Sie
mmc.exeaus und fügen Sie das Snap-In Zertifikatvorlagen hinzu. Suchen Sie die Vorlage und öffnen Sie deren Eigenschaften. Die Einstellung für die minimale Schlüssellänge befindet sich auf der Registerkarte Kryptografie der Vorlageneigenschaften.
Hinweis:
Benutzerzertifikate mit ECC-Schlüsseln werden nur auf Windows-VDAs unterstützt, die Citrix Virtual Apps and Desktops 2411 oder höher ausführen. ECC-Schlüssel werden auf Linux-VDAs nicht unterstützt.
Testen der privaten Schlüsselkonfiguration
Obwohl der Befehl Set-FasKeyConfig eine gewisse Validierung durchführt, ist es dennoch möglich, eine ungültige Schlüsselkonfiguration festzulegen. Zum Beispiel können Sie einen Fehler im Providernamen Ihres HSMs machen, oder die von Ihnen angegebene Schlüssellänge wird möglicherweise von Ihrer Hardware nicht unterstützt.
- Der Befehl
Test-FasKeyConfigkann helfen. Er versucht, ein Schlüsselpaar unter Verwendung der aktuellen Schlüsselkonfiguration zu erstellen, und meldet Erfolg oder Fehler. Tritt ein Fehler auf, wird ein Hinweis auf den Fehlergrund gegeben. Bei Erfolg wird das Schlüsselpaar sofort zerstört.
Die folgenden PowerShell-Befehle testen die Autorisierungs- bzw. Benutzer-Schlüsselkonfiguration:
Test-FasKeyConfig -Address localhost -CertificateType ra
Test-FasKeyConfig -Address localhost -CertificateType user
<!--NeedCopy-->
Sobald Sie Ihren FAS-Server autorisiert und eine Regel erstellt haben, können Sie zusätzlich eine Test-CSR für ein Benutzerzertifikat wie folgt erstellen:
Test-FasCertificateSigningRequest -Address localhost -UserPrincipalName user@example.com -Rule default
Ersetzen Sie «user@example.com>/> durch einen echten UPN aus Ihrer Active Directory-Bereitstellung. Die FAS-Regel heißt normalerweise default. Wenn Sie jedoch eine andere von Ihnen konfigurierte Regel testen möchten, geben Sie stattdessen diesen Namen an.
Wenn die CSR erfolgreich ist, verwirft FAS das resultierende Zertifikat.
Überprüfen von FAS-Zertifikaten
Sie können PowerShell verwenden, um die Eigenschaften eines Zertifikats zu überprüfen und festzustellen, wo der zugehörige private Schlüssel gespeichert ist.
Überprüfen des Autorisierungszertifikats
Sie können das Autorisierungszertifikat anzeigen, indem Sie in der FAS-Verwaltungskonsole auf den Link Autorisierungszertifikat klicken:

Für detailliertere Informationen verwenden Sie jedoch PowerShell:
Get-FasAuthorizationCertificate -Address localhost -FullCertInfo
Es werden mehrere Felder zurückgegeben, darunter PrivateKeyProvider, das einen Hinweis auf den Anbieter enthält, bei dem das Zertifikat erstellt und gespeichert wurde.
| PrivateKeyProvider | Wo der Schlüssel gespeichert ist |
|---|---|
| Microsoft Software Key Storage Provider | Der Schlüssel wird auf der Festplatte gespeichert und durch den Softwareanbieter von Microsoft geschützt. |
| Microsoft Platform Crypto Provider | Der Schlüssel wird in einem TPM (real oder virtuell) gespeichert. |
| HSM Vendor Key Storage Provider (nur Beispiel) | Der Schlüssel wird in einem HSM gespeichert (in diesem Beispiel heißt der Anbieter des Herstellers HSM Vendor Key Storage Provider) |
Überprüfen von Benutzerzertifikaten
Sie können eine Liste aller auf dem FAS-Server zwischengespeicherten Benutzerzertifikate wie folgt abrufen:
Get-FasUserCertificate -Address localhost -KeyInfo $true
Der Parameter KeyInfo bewirkt, dass die Ausgabe weitere Informationen über den privaten Schlüssel enthält, der dem Zertifikat zugeordnet ist. Insbesondere gibt das Feld PrivateKeyProvider an, wo das dem Zertifikat zugeordnete Schlüsselpaar gespeichert ist (siehe vorheriger Abschnitt zur Interpretation dieses Werts).
Sie können die Menge der zurückgegebenen Zertifikate mithilfe verschiedener optionaler Parameter filtern, z. B. -UserPrincipalName.
Das Zertifikatsfeld der Befehlsausgabe ist ein PEM-kodiertes Benutzerzertifikat. Kopieren Sie den Text in eine .crt-Datei, um das Zertifikat mit der Windows-Zertifikats-GUI wie folgt anzuzeigen:
| Befehl | Beschreibung |
|---|---|
$CertInfos = Get-FasUserCertificate -Address localhost |
Es können mehrere Benutzerzertifikate in dieser Liste vorhanden sein |
$CertInfo = $CertInfos[0] |
In diesem Beispiel wählen wir das allererste Benutzerzertifikat aus |
$CertInfo.Certificate > c:\temp\user.crt |
Leiten Sie die PEM-Daten in eine .crt-Datei um |
c:\temp\user.crt |
Öffnen Sie die .crt-Datei in der Windows GUI
|
Upgrade von FAS-Versionen vor Citrix Virtual Apps and Desktops 2411
In FAS-Versionen vor Citrix Virtual Apps and Desktops 2411 wurden die Eigenschaften des privaten Schlüssels durch Bearbeiten der XML-Datei unter folgender Adresse konfiguriert:
%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config
<!--NeedCopy-->
Dies wurde durch die in diesem Dokument beschriebenen PowerShell-Befehle ersetzt, die mehr Flexibilität bieten und ohne Neustart des FAS-Servers angewendet werden können.
Im Gegensatz zu den XML-Dateieinstellungen bleibt die Konfiguration, die mit PowerShell vorgenommen wurde, beim Upgrade des FAS-Servers erhalten.
Die für die Konfiguration des privaten Schlüssels relevanten XML-Dateieinstellungen sind im Folgenden mit ihren entsprechenden PowerShell-Parametern (wie in Get-FasKeyConfig und Set-FasKeyConfig verwendet) aufgeführt:
| XML-Dateieinstellung | Standardwert in XML-Datei | PowerShell-Äquivalent | Kommentar |
|---|---|---|---|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyLength |
2048 | -Length | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.KeyProtection
|
GenerateNonExportableKey
|
-Exportable
-UseDefaultTpmProvider |
|
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp
|
false
|
-Ksp
|
- ProviderLegacyCsp false wird durch Setzen von -Ksp auf $true erreicht
-ProviderLegacyCsp true wird durch Setzen von -Ksp auf $false erreicht |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderName |
- | -Provider | - |
Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderType |
- | -CspType | - |
Die Standardwerte der XML-Konfiguration und die PowerShell-Standardwerte sind funktional äquivalent. Das heißt, standardmäßig sind die Eigenschaften von Schlüsselpaaren, die von FAS in dieser Version und in Versionen vor Citrix Virtual Apps and Desktops 2411 generiert werden, identisch.
Wenn Sie daher keine der vorstehenden Einstellungen in der XML-Konfigurationsdatei geändert haben, müssen Sie beim Upgrade von FAS keine Maßnahmen ergreifen.
Wenn Sie jedoch eine der vorstehenden Einstellungen geändert haben, führen Sie das Upgrade von FAS wie folgt durch:
- Versetzen Sie FAS in den Wartungsmodus; Wartungsmodus.
- Führen Sie ein direktes Upgrade von FAS durch, indem Sie einfach das FAS-Installationsprogramm ausführen; nach dem Upgrade sind alle vorherigen Einstellungen nicht mehr in der XML-Datei vorhanden und können nicht in der XML-Datei konfiguriert werden.
- Verwenden Sie den PowerShell-Befehl
Set-FasKeyConfig, wie unter PowerShell-Befehle zur Schlüsselkonfiguration beschrieben, um die FAS-Konfiguration des privaten Schlüssels nach Wunsch einzustellen; berücksichtigen Sie die Einstellungen, die Sie für Ihre Autorisierungs- und Benutzerzertifikate benötigen. - Testen Sie Ihre Konfiguration, wie unter Testen der Konfiguration des privaten Schlüssels beschrieben
- Nehmen Sie den FAS-Server aus dem Wartungsmodus
Beim nächsten Upgrade bleiben die Konfigurationseinstellungen des privaten FAS-Schlüssels erhalten, und es sind keine besonderen Maßnahmen erforderlich.
Kryptografisches Remoting
Private Schlüssel, die FAS-Benutzerzertifikaten zugeordnet sind, werden niemals auf den VDA übertragen. Stattdessen wird, wenn der VDA ein FAS-Zertifikat eines Benutzers verwenden muss, sei es für die Anmeldung am VDA oder für die Nutzung während der Sitzung, die kryptografische Anforderung an den FAS-Server zurückgeleitet. Dies verbessert die Sicherheit, da die privaten Schlüssel den FAS-Schlüsselspeicher (unabhängig davon, ob es sich um Softwarespeicher, TPM oder HSM handelt) niemals verlassen.
Auf Windows-VDAs wird dies durch die Verwendung eines Anbieterpaares auf dem VDA erreicht. Der Anwendung oder dem Betriebssystemcode, der die kryptografische Anforderung stellt, ist nicht bewusst, dass der Vorgang an den FAS-Server zurückgeleitet wird.
Vor Citrix Virtual Apps and Desktops 2411 waren die Anbieter Cryptographic Service Providers (CSPs), wobei der Zugriff für Anwendungen und Betriebssystemcode über die ältere Windows CAPI API erfolgte. Die Anbieter waren:
-
CitrixLogonCsp.dll: für die Einmalanmeldung am VDA -
CitrixVirtualSmartcardCsp.dll: für Zertifikate während der Sitzung
Ab Citrix Virtual Apps and Desktops 2411 werden zusätzliche Key Storage Providers (KSPs) auf dem VDA bereitgestellt. Anwendungen und Betriebssystemcode greifen über die neuere Windows CNG API darauf zu. Die neuen Anbieter sind:
-
CitrixLogonKsp.dll: für die Einmalanmeldung am VDA -
CitrixVirtualSmartcardKsp.dll: für Zertifikate während der Sitzung
KSP ist eine modernere Methode, kryptografische Operationen Windows-Anwendungen bereitzustellen, die mehr Funktionen bietet. Zum Beispiel:
- Zertifikate mit ECC-Schlüsseln werden unterstützt
- Probabilistic Signature Scheme (PSS)-Auffüllung wird unterstützt
KSP-Remoting wird verwendet (d. h. Remoting über die neuen KSPs), wenn sowohl FAS als auch der VDA Citrix Virtual Apps and Desktops 2411 oder höher ausführen. Andernfalls greift das System auf die Verwendung der älteren CSPs für das Remoting zurück.
KSP-Remoting deaktivieren
Im Falle von Kompatibilitätsproblemen ist es möglich, das KSP-Remoting zu deaktivieren, sodass immer das ältere CSP-Remoting verwendet werden kann.
Verwenden Sie das folgende PowerShell-Cmdlet:
Set-FasServer -Address localhost -KspRemoting $false
<!--NeedCopy-->
Wartungsmodus
Wenn Sie Änderungen an der Konfiguration eines aktiven FAS-Servers vornehmen, sollten Sie erwägen, ihn in den Wartungsmodus zu versetzen.
Wenn sich FAS im Wartungsmodus befindet, gilt Folgendes:
- Wenn Workspace oder StoreFront™ FAS als Teil der Startsequenz einer veröffentlichten Anwendung oder eines Desktops aufrufen, zeigt FAS an, dass es sich im Wartungsmodus befindet; der Aufrufer muss darauf reagieren, indem er einen anderen FAS-Server wählt.
- Als zusätzliche Vorsichtsmaßnahme erlaubt FAS die automatische Erstellung von Benutzerzertifikaten im Wartungsmodus nicht. So wird die unbeabsichtigte Erstellung von Benutzerzertifikaten mit unbeabsichtigten Einstellungen vermieden.
- Aktivitäten, die bestehende Benutzerzertifikate betreffen, wie z. B. die VDA-Anmeldung oder die Nutzung während der Sitzung, sind jedoch weiterhin erlaubt.
Obwohl die automatische Erstellung von Benutzerzertifikaten nicht erlaubt ist, können Administratoren Benutzerzertifikate weiterhin mithilfe von PowerShell-Befehlen wie New-FasUserCertificate oder Test-FasCertificateSigningRequest erstellen.
Verwenden der Administrationskonsole

Verwenden von PowerShell
Versetzen Sie einen FAS-Server wie folgt in den Wartungsmodus:
Set-FasServer -Address localhost -MaintenanceMode $true
<!--NeedCopy-->
Nehmen Sie einen FAS-Server aus dem Wartungsmodus (und zurück in den normalen Betrieb) wie folgt:
Set-FasServer -Address localhost -MaintenanceMode $false
<!--NeedCopy-->
Verwandte Informationen
- Installieren und Konfigurieren ist die primäre Referenz für die FAS-Installation und -Konfiguration.
- Die häufigsten FAS-Bereitstellungen sind im Artikel Übersicht über die Architekturen der Federated Authentication Services zusammengefasst.
- Weitere Anleitungsartikel werden im Artikel Erweiterte Konfiguration vorgestellt.
In diesem Artikel
- Einführung
- Informationen zu FAS-Zertifikaten und -Vorlagen
- Optionen für die Speicherung privater Schlüssel
- Beispiele für Konfigurationsszenarien
- Testen der privaten Schlüsselkonfiguration
- Überprüfen von FAS-Zertifikaten
- Upgrade von FAS-Versionen vor Citrix Virtual Apps and Desktops 2411
- Kryptografisches Remoting
- Wartungsmodus