Σύνοψη
Σχέσεις αξιοπιστίας συμπλέγματος δομών παρέχουν έναν τρόπο για τους πόρους σε ένα σύμπλεγμα δομών της υπηρεσίας καταλόγου Active Directory να θεωρούνται αξιόπιστες ταυτότητες από ένα άλλο σύμπλεγμα δομών. Μπορεί να ρυθμιστεί το ζήτημα της αξιοπιστίας και στις δύο κατευθύνσεις. Το αξιόπιστο σύμπλεγμα δομών είναι η πηγή της ταυτότητας χρήστη. Το σύμπλεγμα δομών αξιοπιστία περιέχει τον πόρο, στον οποίο οι χρήστες πιστοποιούνται. Το αξιόπιστο σύμπλεγμα δομών να κάνει έλεγχο ταυτότητας χρηστών στο σύμπλεγμα δομών αξιοπιστία χωρίς επιτρέποντας την αντίστροφη προκύψει.
Η μη περιορισμένη αντιπροσώπευση Kerberos είναι ένας μηχανισμός όπου ένας χρήστης αποστέλλει τα διαπιστευτήριά του σε μια υπηρεσία για να ενεργοποιήσετε την υπηρεσία για να αποκτήσουν πρόσβαση σε πόρους για λογαριασμό του χρήστη. Για να ενεργοποιήσετε μη περιορισμένη αντιπροσώπευση Kerberos, πρέπει να αναγράφεται το λογαριασμό της υπηρεσίας καταλόγου Active Directory ως αξιόπιστο για αντιπροσώπευση. Αυτό δημιουργεί ένα πρόβλημα, αν ο χρήστης και η υπηρεσία που ανήκουν σε διαφορετικά συμπλέγματα δομών. Του συμπλέγματος δομών της υπηρεσίας είναι υπεύθυνος για αντιπροσώπευση. Η ανάθεση περιλαμβάνει τα διαπιστευτήρια των χρηστών από το σύμπλεγμα δομών του χρήστη.
Επιτρέποντας σε ένα σύμπλεγμα δομών για τη λήψη αποφάσεων ασφαλείας που επηρεάζει ένα άλλο σύμπλεγμα δομών λογαριασμούς παραβιάζει το όριο ασφάλειας μεταξύ συμπλεγμάτων δομών. Ένας εισβολέας που ανήκει στο σύμπλεγμα δομών αξιοπιστία μπορεί να ζητήσει αντιπροσώπευση του ένα δελτίο TGT για μια ταυτότητα από αξιόπιστο σύμπλεγμα δομών, δίνει πρόσβαση σε πόρους σε αξιόπιστο σύμπλεγμα δομών. Αυτό δεν ισχύει για αντιπροσώπευση Kerberos περιορισμό (KCD).
Windows Server 2012 εισήγαγε την επιβολή για σύμπλεγμα δομών όριο για πλήρη ανάθεση Kerberos. Προσθήκη μιας πολιτικής στον αξιόπιστο τομέα για να απενεργοποιήσετε την μη περιορισμένη αντιπροσώπευση σε βάση ανά αξιοπιστίας αυτής της δυνατότητας. Η προεπιλεγμένη ρύθμιση για τη δυνατότητα αυτή επιτρέπει μη περιορισμένη αντιπροσώπευση και είναι ασφαλής.
Οι ενημερώσεις που παρέχουν τη θωράκιση ασφαλείας υπάρχει για τις ακόλουθες εκδόσεις του Windows Server:
-
Windows Server 2019
-
Windows Server 2016
-
Windows Server 2012 R2
-
Windows Server 2012
Αυτή η δυνατότητα σε συνδυασμό με τις αλλαγές στην ασφάλεια θωράκισης ήταν backported για τις ακόλουθες εκδόσεις:
-
Windows Server 2008 R2
-
Windows Server 2008
Αυτές οι ενημερωμένες εκδόσεις ασφαλείας, κάντε τις ακόλουθες αλλαγές:
-
Ανάθεση χωρίς περιορισμούς Kerberos είναι απενεργοποιημένος από προεπιλογή στο νέο σύμπλεγμα δομών και νέες εξωτερικές σχέσεις αξιοπιστίαςμετά την εγκατάστασηη ενημερωμένη έκδοση 14 Μαΐου και νεότερες ενημερωμένες εκδόσεις.
-
Η μη περιορισμένη αντιπροσώπευση Kerberos είναι απενεργοποιημένη για τα δάση (νέα και υπάρχοντα) και εξωτερικές σχέσεις αξιοπιστίας, μετά την εγκατάσταση του Ιουλίου 9, 2019, ενημέρωση και νεότερες ενημερωμένες εκδόσεις.
-
Οι διαχειριστές μπορούν να ενεργοποιήσετε μη περιορισμένη αντιπροσώπευση Kerberos με τη χρήση του Μαΐου ή νεότερες εκδόσεις του NETDOM και AD PowerShell λειτουργική μονάδα.
Οι ενημερωμένες εκδόσεις ενδέχεται να προκαλέσουν διενέξεις συμβατότητας για εφαρμογές που απαιτούν αυτήν τη στιγμή η μη περιορισμένη αντιπροσώπευση στο σύμπλεγμα δομών ή σε εξωτερικές σχέσεις αξιοπιστίας. Αυτό ισχύει ιδιαίτερα από εξωτερική σχέση αξιοπιστίας, για τα οποία η σημαία απομόνωσης (γνωστό και ως SID φιλτραρίσματος) είναι ενεργοποιημένη από προεπιλογή. Συγκεκριμένα, οι αιτήσεις ελέγχου ταυτότητας για τις υπηρεσίες που χρησιμοποιούν μη περιορισμένη αντιπροσώπευση μέσω των τύπων που παρατίθενται στη λίστα αξιοπιστίας θα αποτύχει όταν κάνετε αίτηση για νέα δελτία.
Για τις ημερομηνίες έκδοσης, ανατρέξτε στην ενότητα ενημερώνει τη λωρίδα χρόνου.
Λύση
Για να παρέχετε δεδομένα και λογαριασμού ασφαλείας σε μια έκδοση του Windows Server που έχει ενεργοποιημένη τη δυνατότητα επιβολής για σύμπλεγμα δομών όριο για πλήρη ανάθεση Kerberos , μπορείτε να αποκλείσετε TGT αντιπροσώπευση, μετά την εγκατάσταση των ενημερωμένων εκδόσεων 2019 Μαρτίου σε μια εισερχόμενη αξιοπιστία, ορίζοντας το σημαία netdom EnableTGTDelegation στην τιμή No ως εξής:
netdom.exe trust fabrikam.com /domain:contoso.com /EnableTGTDelegation:No
Αντιπροσώπευση TGT έχει αποκλειστεί για νέους και υπάρχοντες συμπλέγματος δομών και εξωτερικές σχέσεις αξιοπιστίας μετά την εγκατάσταση του Μαΐου και ενημερώνει αντίστοιχα Ιουλίου 2019.
Για να ενεργοποιήσετε εκ νέου την αντιπροσώπευση σε σχέσεις αξιοπιστίας και να επιστρέψετε στις αρχικές παραμέτρους μη ασφαλή μέχρι περιορισμό ή πόρου με ανάθεση μπορεί να ενεργοποιηθεί, ορίστε τη σημαία EnableTGTDelegation στην τιμή Ναι.
Γραμμή εντολών NETDOM , για να ενεργοποιήσετε την αντιπροσώπευση TGT έχει ως εξής:
netdom trust <TrustedDomainName > /domain:<TrustingDomainName > /EnableTgtDelegation:Yes
Μπορείτε να θεωρήσετε εννοιολογικά τη σύνταξη NETDOM για την ενεργοποίηση TGT ανάθεσης ως εξής:
netdom trust <domain that you are administering> /domain:<domain whose trust NETDOM is modifying> /EnableTgtDelegation:Yes
Η σύνταξη του NETDOM για να ενεργοποιήσετε την αντιπροσώπευση TGT fabrakam.com χρηστών σε διακομιστές contoso.com είναι ως εξής:
netdom.exe trust fabrikam.com /domain:contoso.com /EnableTGTDelegation:Yes
Σημειώσεις
-
Η σημαία EnableTGTDelegation πρέπει να οριστεί στον αξιόπιστο τομέα (fabrikam.com σε αυτήν την περίπτωση) για κάθε τομέα που δείχνει αξιοπιστία (όπως contoso.com). Αφού έχει οριστεί η σημαία, ο αξιόπιστος τομέας θα επιτρέψει πλέον TGT να ανατεθεί σε αξιόπιστο τομέα.
-
Κατάστασης ασφαλείας για EnableTGTDelegation είναι " όχι".
-
Οποιαδήποτε εφαρμογή ή υπηρεσία, η οποία βασίζεται σε μη περιορισμένη αντιπροσώπευση σε συμπλέγματα δομών θα αποτύχει όταν EnableTGTDelegation ορίζεται με μη αυτόματο τρόπο ή μέσω προγραμματισμού σε Ναι. Προεπιλογές EnableTGTDelegation όχι σε νέες και υπάρχουσες σχέσεις αξιοπιστίας αφού εγκαταστήσετε τις ενημερωμένες εκδόσεις Μαΐου 2019 και 2019 Ιουλίου. Για περισσότερες πληροφορίες σχετικά με τον τρόπο για να εντοπίσετε αυτήν την αποτυχία, ανατρέξτε στο θέμα Εύρεση υπηρεσιών που βασίζονται σε μη περιορισμένη αντιπροσώπευση. Για μια λωρίδα χρόνου αλλαγές που επηρεάζουν τον τρόπο που μπορεί να εφαρμοστεί αυτή η λύση, ανατρέξτε στο θέμα ενημερώνει τη λωρίδα χρόνου .
-
Για περισσότερες πληροφορίες σχετικά με το NETDOM, ανατρέξτε στην τεκμηρίωση του Netdom.exe.
-
Εάν πρέπει να ενεργοποιήσετε την αντιπροσώπευση TGT σε μια σχέση αξιοπιστίας, συνιστάται να τον περιορισμό αυτόν τον κίνδυνο, ενεργοποιώντας την προστασία διαπιστευτηρίων του Windows Defender σε υπολογιστές-πελάτες. Αυτό αποτρέπει όλες μη περιορισμένη αντιπροσώπευση από έναν υπολογιστή που διαθέτει Windows Defender Guard διαπιστευτηρίων ενεργοποιημένη και λειτουργεί.
-
Εάν έχετε ένα σύμπλεγμα δομών ή εξωτερική σχέση αξιοπιστίας και είτε έχουν ρυθμιστεί όπως σε καραντίνα, TGT ανάθεσης δεν μπορεί να ενεργοποιηθεί, επειδή οι δύο σημαίες έχουν αντίθετη σημασιολογία. Το bit απομόνωσης ενισχύει το όριο ασφαλείας μεταξύ τομέων συμμετέχοντα. Ενεργοποίηση της αντιπροσωπείας TGT διαγράφει τα όρια ασφαλείας μεταξύ τομέων, δίνοντας την πρόσβαση του αξιόπιστου τομέα για τα διαπιστευτήρια των χρηστών από τον αξιόπιστο τομέα. Δεν είναι δυνατό να έχετε δύο τρόπους.
Προσθέστε τη σημαία απομόνωσης: όχι με τη σύνταξη γραμμής εντολών NETDOM, εάν αυτήν τη στιγμή είναι ενεργοποιημένη η σημαία απομόνωσης .
-
Εάν αλλάξατε το EnableTGTDelegation στην τιμή Ναι, διαγράψετε δελτίων του Kerberos σε καλούντες καταγόμενα και ενδιάμεσα όπως απαιτείται. Το σχετικό δελτίο να διαγράψετε είναι ο υπολογιστής-πελάτης αναφοράς TGT μέσω της σχετικής αξιοπιστίας. Αυτό θα μπορούσε να περιλαμβάνει περισσότερες από μία συσκευές, ανάλογα με το πλήθος των αναπηδήσεων ανάθεσης σε ένα δεδομένο περιβάλλον.
Για περισσότερες πληροφορίες σχετικά με αυτήν τη διαδικασία, ανατρέξτε στο ακόλουθο άρθρο Windows IT Pro Center:
Προστασία πιστοποιήσεις τομέα παραγόμενο με προστασία διαπιστευτηρίων του Windows Defender
Ενημερώσεις στη λωρίδα χρόνου
12 Μαρτίου 2019
Την επιβολή ορίων σύμπλεγμα δομών για το Kerberos, πλήρης ανάθεση θα είναι διαθέσιμο ως ενημερωμένη έκδοση για να ενεργοποιήσετε αυτήν τη δυνατότητα σε όλες τις υποστηριζόμενες εκδόσεις του Windows Server που παρατίθενται στην ενότητα " ισχύει για " στην αρχή αυτού του άρθρου. Συνιστάται να ρυθμίσετε τη δυνατότητα σε εισερχόμενες σχέσεις αξιοπιστίας συμπλέγματος δομών.
Η ενημερωμένη έκδοση θα προσθέσει τη δυνατότητα επιβολής για σύμπλεγμα δομών όριο για πλήρη ανάθεση Kerberos για τα ακόλουθα συστήματα:
-
Windows Server 2008 R2
-
Windows Server 2008
Στις 14 Μαΐου 2019
Μια ενημερωμένη έκδοση που κυκλοφόρησε, προσθέτοντας μια νέα προεπιλεγμένη ασφαλή ρύθμιση παραμέτρων στο νέο σύμπλεγμα δομών και εξωτερικές σχέσεις αξιοπιστίας. Εάν απαιτείται αντιπροσώπευση σε σχέσεις αξιοπιστίας, τη σημαία EnableTGTDelegation πρέπει να οριστεί στην τιμή Ναι , πριν από την εγκατάσταση της ενημερωμένης έκδοσης 9 Ιουλίου 2019. Εάν δεν απαιτούν σε σχέσεις αξιοπιστίας αντιπροσώπευσης, δεν πρέπει να ορίζετε τη σημαία EnableTGTDelegation . Η σημαία EnableTGTDelegation παραβλέπονται μέχρι να εγκατασταθεί η ενημερωμένη έκδοση 9 Ιουλίου 2019 δίνουν στους διαχειριστές χρόνο για να ενεργοποιήσετε ξανά μη περιορισμένη αντιπροσώπευση Kerberos όταν απαιτείται.
Ως μέρος αυτής της ενημερωμένης έκδοσης, η σημαία EnableTGTDelegation θα οριστεί στην τιμή όχι από προεπιλογή για τις σχέσεις αξιοπιστίας που δημιουργήθηκε πρόσφατα. Αυτή είναι η αντίθετη από την προηγούμενη συμπεριφορά. Συνιστούμε ότι οι διαχειριστές Αντίθετα Ρυθμίστε ξανά τις παραμέτρους στις επηρεαζόμενες υπηρεσίες χρήσης πόρων με καθορισμένη αντιπροσώπευση.
Για περισσότερες πληροφορίες σχετικά με τον τρόπο για να εντοπίσετε ζητήματα συμβατότητας, ανατρέξτε στο θέμα Εύρεση υπηρεσιών που βασίζονται σε μη περιορισμένη αντιπροσώπευση.
9 Ιουλίου 2019
Κυκλοφόρησε μια ενημερωμένη έκδοση που επιβάλλει η νέα προεπιλεγμένη συμπεριφορά στην εισερχόμενη πλευρά του συμπλέγματος δομών και εξωτερικές σχέσεις αξιοπιστίας. Για υπηρεσίες που χρησιμοποιούν μη περιορισμένη αντιπροσώπευση μέσω των τύπων που παρατίθενται στη λίστα αξιοπιστίας θα γίνει έλεγχος ταυτότητας, αλλά χωρίς αντιπροσώπευση, αιτήσεις ελέγχου ταυτότητας. Η υπηρεσία θα αποτύχει όταν προσπαθήσει να εκτελέσετε τις εργασίες που έχουν ανατεθεί.
Για τον μετριασμό, ανατρέξτε στην ενότητα "εναλλακτικός τρόπος αντιμετώπισης".
Υπηρεσίες αναζήτησης που βασίζονται σε μη περιορισμένη αντιπροσώπευση
Σάρωση για συμπλέγματα δομών που έχουν εισερχόμενες σχέσεις αξιοπιστίας που επιτρέπει ανάθεση TGT, και για να βρείτε οποιαδήποτε ασφάλεια αρχές, οι οποίες επιτρέπουν μη περιορισμένη αντιπροσώπευση, εκτελέστε την ακόλουθη PowerShell δέσμες ενεργειών σε μια δέσμη ενεργειών αρχείου (για παράδειγμα, Get-RiskyServiceAccountsByTrust.ps1- Συλλογή):
Σημείωση
Μπορείτε επίσης να περάσετε τη σημαία - ScanAll για να πραγματοποιήσετε αναζήτηση σε σχέσεις αξιοπιστίας που δεν επιτρέπουν την αντιπροσώπευση TGT.
[CmdletBinding()]
Param
(
[switch]$Collect,
[switch]$ScanAll
)
if ($Debug) {
$DebugPreference = 'Continue'
}
else {
$DebugPreference = 'SilentlyContinue'
}
function Get-AdTrustsAtRisk
{
[CmdletBinding()]
Param
(
[string]$Direction = "Inbound",
[switch]$ScanAll
)
if ($ScanAll) {
return get-adtrust -filter {Direction -eq $Direction}
}
else {
return get-adtrust -filter {Direction -eq $Direction -and TGTDelegation -eq $false}
}
}
function Get-ServiceAccountsAtRisk
{
[CmdletBinding()]
Param
(
[string]$DN = (Get-ADDomain).DistinguishedName,
[string]$Server = (Get-ADDomain).Name
)
Write-Debug "Searching $DN via $Server"
$SERVER_TRUST_ACCOUNT = 0x2000
$TRUSTED_FOR_DELEGATION = 0x80000
$TRUSTED_TO_AUTH_FOR_DELEGATION= 0x1000000
$PARTIAL_SECRETS_ACCOUNT = 0x4000000
$bitmask = $TRUSTED_FOR_DELEGATION -bor $TRUSTED_TO_AUTH_FOR_DELEGATION -bor $PARTIAL_SECRETS_ACCOUNT
$filter = @"
(&
(servicePrincipalname=*)
(|
(msDS-AllowedToActOnBehalfOfOtherIdentity=*)
(msDS-AllowedToDelegateTo=*)
(UserAccountControl:1.2.840.113556.1.4.804:=$bitmask)
)
(|
(objectcategory=computer)
(objectcategory=person)
(objectcategory=msDS-GroupManagedServiceAccount)
(objectcategory=msDS-ManagedServiceAccount)
)
)
"@ -replace "[\s\n]", ''
$propertylist = @(
"servicePrincipalname",
"useraccountcontrol",
"samaccountname",
"msDS-AllowedToDelegateTo",
"msDS-AllowedToActOnBehalfOfOtherIdentity"
)
$riskyAccounts = @()
try {
$accounts = Get-ADObject -LDAPFilter $filter -SearchBase $DN -SearchScope Subtree -Properties $propertylist -Server $Server
}
catch {
Write-Warning "Failed to query $Server. Consider investigating seperately. $($_.Exception.Message)"
}
foreach ($account in $accounts) {
$isDC = ($account.useraccountcontrol -band $SERVER_TRUST_ACCOUNT) -ne 0
$fullDelegation = ($account.useraccountcontrol -band $TRUSTED_FOR_DELEGATION) -ne 0
$constrainedDelegation = ($account.'msDS-AllowedToDelegateTo').count -gt 0
$isRODC = ($account.useraccountcontrol -band $PARTIAL_SECRETS_ACCOUNT) -ne 0
$resourceDelegation = $account.'msDS-AllowedToActOnBehalfOfOtherIdentity' -ne $null
$acct = [PSCustomobject] @{
domain = $Server
sAMAccountName = $account.samaccountname
objectClass = $account.objectclass
isDC = $isDC
isRODC = $isRODC
fullDelegation = $fullDelegation
constrainedDelegation = $constrainedDelegation
resourceDelegation = $resourceDelegation
}
if ($fullDelegation) {
$riskyAccounts += $acct
}
}
return $riskyAccounts
}
function Get-RiskyServiceAccountsByTrust
{
[CmdletBinding()]
Param
(
[switch]$ScanAll
)
$riskyAccounts = @()
$trustTypes = $("Inbound", "Bidirectional")
foreach ($type in $trustTypes) {
$riskyTrusts = Get-AdTrustsAtRisk -Direction $type -ScanAll:$ScanAll
foreach ($trust in $riskyTrusts) {
$domain = $null
try {
$domain = Get-AdDomain $trust.Name -ErrorVariable eatError -ErrorAction Ignore
} catch {
write-debug $_.Exception.Message
}
if($eatError -ne $null) {
Write-Warning "Couldn't find domain: $($trust.Name)"
}
if ($domain -ne $null) {
$accts = Get-ServiceAccountsAtRisk -DN $domain.DistinguishedName -Server $domain.DNSRoot
foreach ($acct in $accts) {
Write-Debug "Risky: $($acct.sAMAccountName) in $($acct.domain)"
}
$risky = [PSCustomobject] @{
Domain = $trust.Name
Accounts = $accts
}
$riskyAccounts += $risky
}
}
}
return $riskyAccounts
}
if ($Collect) {
Get-RiskyServiceAccountsByTrust -ScanAll:$ScanAll | Select-Object -expandProperty Accounts | format-table
}
Το αποτέλεσμα της δέσμης ενεργειών PowerShell λίστα αρχών ασφαλείας της υπηρεσίας καταλόγου Active Directory σε τομείς που έχουν ρυθμιστεί για μια εισερχόμενη σχέση αξιοπιστίας από τον τομέα εκτέλεσης που έχει απεριόριστη ανάθεσης που έχουν ρυθμιστεί. Το αποτέλεσμα θα μοιάζει με το ακόλουθο παράδειγμα.
τομέα |
sAMAccountName |
objectClass |
partner.fabrikam.com |
επικίνδυνο |
χρήστης |
partner.fabrikam.com |
labsrv$ |
υπολογιστή |
Εντοπισμός μη περιορισμένη αντιπροσώπευση με συμβάντα των Windows
Όταν εκδίδεται ένα δελτίο Kerberos, έναν ελεγκτή τομέα της υπηρεσίας καταλόγου Active Directory καταγράφει τα ακόλουθα συμβάντα ασφαλείας. Τα συμβάντα περιέχουν πληροφορίες σχετικά με τον τομέα προορισμού. Μπορείτε να χρησιμοποιήσετε τα συμβάντα για να προσδιορίσετε αν η μη περιορισμένη αντιπροσώπευση χρησιμοποιείται σε εισερχόμενες σχέσεις αξιοπιστίας.
Σημείωση
Ελέγξτε για συμβάντα που περιέχουν μια τιμή TargetDomainName που να ταιριάζει με το όνομα του αξιόπιστου τομέα.
Αρχείο καταγραφής συμβάντων |
Προέλευση συμβάντος |
Το Αναγνωριστικό συμβάντος |
Λεπτομέρειες |
Ασφάλεια |
Microsoft-Windows-ασφάλεια-έλεγχος |
4768 |
Εκδόθηκε ένα δελτίο TGT Kerberos. |
Ασφάλεια |
Microsoft-Windows-ασφάλεια-έλεγχος |
4769 |
Εκδόθηκε ένα δελτίο υπηρεσίας του Kerberos. |
Ασφάλεια |
Microsoft-Windows-ασφάλεια-έλεγχος |
4770 |
Ένα δελτίο υπηρεσίας του Kerberos ανανεώθηκε. |
Αντιμετώπιση προβλημάτων αποτυχίες ελέγχου ταυτότητας
Όταν είναι απενεργοποιημένη η μη περιορισμένη αντιπροσώπευση, εφαρμογές μπορεί να ζητήματα συμβατότητας με αυτές τις αλλαγές, εάν οι εφαρμογές βασίζονται σε μη περιορισμένη αντιπροσώπευση. Αυτές οι εφαρμογές θα πρέπει να ρυθμιστούν για τη χρήση περιορισμένη αντιπροσώπευση ή την καθορισμένη αντιπροσώπευση που βασίζεται σε πόρο. Eeή περισσότερες πληροφορίες, sF Kerberos περιορισμένη αντιπροσώπευση Επισκόπηση.
Δεν υποστηρίζονται εφαρμογές που βασίζονται σε έλεγχο ταυτότητας μετάβασης και επιστροφής μέσω σχέσεων αξιοπιστίας χρησιμοποιώντας την καθορισμένη αντιπροσώπευση. Για παράδειγμα, μια ανάθεση αποτυγχάνει εάν ένας χρήστης στο σύμπλεγμα δομών Α εκτελεί έλεγχο ταυτότητας σε μια εφαρμογή στο σύμπλεγμα δομών Β και η εφαρμογή στο σύμπλεγμα δομών Β προσπαθεί να αναθέσετε ενός δελτίου σύμπλεγμα δομών α.