Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktivieren Sie Public Key Cryptography for Initial Authentication (PKINIT) für Ihre AWS verwalteten Microsoft AD-Benutzer
AWS Verwaltete Microsoft AD-Verzeichnisse verwenden standardmäßig eine starke Zertifikatsbindung, was eine explizite Zuordnung zwischen Zertifikaten und AD-Objekten erfordert. Die folgenden Zuordnungen werden für AWS Managed Microsoft AD als stark angesehen:
-
altSecurityIdentitiesEmittent und Seriennummer -
altSecurityIdentitiesSchlüssel-ID für den Betreff -
altSecurityIdentitiesSHA1 Hash des öffentlichen Schlüssels
Diese Attribute ermöglichen eine sichere Zertifikatszuweisung, die mehr Sicherheit für die zertifikatsbasierte Authentifizierung bietet, da explizite certificate-to-user Beziehungen erforderlich sind, die in Active Directory definiert werden müssen. Dies trägt dazu bei, zertifikatsbasierte Angriffe mit Rechteeskalation zu verhindern
Sie können dieses Verfahren verwenden, um starke Zertifikatsbindungen zu konfigurieren, um Angriffe mit Rechteeskalation zu verhindern und gleichzeitig die Funktionalität der Zertifikatsauthentifizierung aufrechtzuerhalten.
Weitere Informationen finden Sie unter Microsoft KB5014754: Änderungen der zertifikatsbasierten Authentifizierung auf Windows-Domänencontrollern
Voraussetzungen
-
Ein AWS verwaltetes Microsoft AD-Verzeichnis mit konfigurierter Zertifizierungsstelle
-
Administratorzugriff auf Ihre Active Directory-Umgebung
-
PowerShell mit installiertem Active Directory-Modul
-
Das Zertifikat, das Sie dem AD-Objekt zuordnen möchten
AltSecurityIdentity Attribut zuordnen
-
Wählen Sie basierend auf Ihren Zertifikatsinformationen eine der folgenden
AltSecurityIdentityZuordnungsmethoden:-
SHA1 Hash — Verwendet den SHA1 Hash des öffentlichen Schlüssels des Zertifikats
Extrahieren Sie für die SHA1 Hash-Zuordnung den Zertifikat-Hash und wenden Sie ihn auf das Benutzerobjekt an:
$Username = 'YourUsername' $cert = certutil -dump "YourCertificate.cer" $certHash = ($cert | Select-String -Pattern "(sha1):*" | Select-String -Pattern "Cert").ToString().TrimStart('Cert Hash(sha1): ').Replace(' ','') Set-ADUser -Identity $Username -Add @{'altSecurityIdentities'="X509:<SHA1-PUKEY>$CertHash"} -
Aussteller und Seriennummer — Verwendet den Namen und die Seriennummer des Zertifikats
Verwenden Sie für die Zuordnung von Aussteller und Seriennummer den Aussteller und die Seriennummer des Zertifikats:
$Username = 'YourUsername' $IssuerName = 'YourCertificateIssuer' $SerialNumber = 'YourCertificateSerialNumber' Set-ADUser -Identity $Username -Add @{'altSecurityIdentities'="X509:<I>$IssuerName<SR>$SerialNumber"} -
Schlüssel-ID für den Betreff — Verwendet die Erweiterung der Schlüssel-ID für den Betreff des Zertifikats
Verwenden Sie für die Zuordnung der Schlüssel-ID für den Betreff die Schlüssel-ID für den Betreff des Zertifikats:
$Username = 'YourUsername' $SubjectKeyIdentifier = 'YourSubjectKeyIdentifier' Set-ADUser -Identity $Username -Add @{'altSecurityIdentities'="X509:<SKI>$SubjectKeyIdentifier"}
-
-
Stellen Sie sicher, dass die Zuordnung erfolgreich angewendet wurde:
Get-ADUser -Identity $Username -Properties altSecurityIdentities | Select-Object -ExpandProperty altSecurityIdentities -
Warten Sie, bis die Active Directory-Replikation abgeschlossen ist (normalerweise 15-30 Sekunden), bevor Sie die Zertifikatsauthentifizierung testen.
Beispiel: Massenzertifikat, das das Attribut zuordnet AltSecurityIdentity
Das folgende Beispiel zeigt, wie AltSecurityIdentity Attribute für mehrere Benutzerzertifikate von einer Zertifizierungsstelle zugeordnet werden:
$CertificateTemplateName = 'User' $Now = $((Get-Date).ToString($(Get-culture).DateTimeFormat.ShortDatePattern)) $Restrict = "Disposition=20,NotAfter>=$Now,Certificate Template=$CertificateTemplateName" $Out = "SerialNumber,Certificate Hash,User Principal Name,RequesterName,CommonName,CertificateTemplate,NotBefore,NotAfter" $Certs = certutil -view -restrict $Restrict -out $Out csv | ConvertFrom-CSV $UserSha1HashMapping = @{} ForEach ($Cert in $Certs) { $UPN = $Cert.'User Principal Name' $Username, $Domain = $UPN.Split('@') $CertificateThumbprint = ($Cert.'Certificate Hash').Replace(' ','') $AdUserObject = Get-ADUser -Identity $Username If ($AdUserObject -And $AdUserObject.Count -gt 1) { Write-Output "Unable to map user: $Username, multiple user objects found" Continue } If ($AdUserObject) { If ($UserSha1HashMapping.Keys -Contains $Username) { $UserSha1HashMapping[$Username] += $CertificateThumbprint } Else { $UserSha1HashMapping[$Username] = @($CertificateThumbprint) } } } ForEach ($User in $UserSha1HashMapping.Keys) { Write-Output "Mapping altSecurityIdentity for $User" $UserObject = Get-ADUser -Identity $User | Get-ADObject -Properties 'altSecurityIdentities' $altSecurityIdentities = $UserObject.altSecurityIdentities ForEach ($thumbprint in $UserSha1HashMapping[$User]) { $SHA1PUKEY = "X509:<SHA1-PUKEY>$thumbprint" If ($altSecurityIdentities -Contains $SHA1PUKEY) { Write-Output "Skipping $thumbprint, already mapped." Continue } Write-Output "Adding $thumbprint to $User as altSecurityIdentity" Set-ADUser -Identity $User -Add @{'altSecurityIdentities'=$SHA1PUKEY} } }
Nächste Schritte
-
Testen Sie die zertifikatsbasierte Authentifizierung mit Ihren zugewiesenen Zertifikaten
-
Konfigurieren Sie Ihre Anwendungen so, dass sie die zugewiesenen Zertifikate für die Authentifizierung verwenden
-
Überwachen Sie Ihr AWS verwaltetes Microsoft ADfür Authentifizierungsereignisse