Sažetak
Šume trusts pružaju način za resurse u šumi Active Directory pouzdanost identiteti iz neke druge šume. Ovaj pouzdanost mogu se konfigurirati u oba smjera. Pouzdani šume je izvor identitet korisnika. Postavljanju šume sadrži resurs kojem autentičnost korisnika. Bez dopuštajući storniranje pojaviti pouzdanih šume možete provjeru autentičnosti korisnika postavljanju šume.
Ograničenja Kerberos prijenos ovlasti je mehanizam u kojem korisnik šalje njegov vjerodajnice servisa da biste omogućili servis pristup resursima u ime korisnika. Da biste omogućili ograničenja Kerberos prijenos ovlasti, morate označene račun na usluge u Active Directory pouzdan za delegiranje. Ovo stvara problem ako korisnik i servis pripadaju različitim šumama. Šume servisa je odgovorna za dopuštanje delegiranja. U delegiranje uključuje vjerodajnice korisnika iz šume korisnika.
Dopuštanje jedan šume sigurnost odluke utječe na drugu šumu račune krše sigurnost granicu između šuma. Napadaču vlasništvu postavljanju šume možete zatražiti delegiranje poslao TGT za identitet iz pouzdanih šume ga daje pristup resursima pouzdanih šume. To se ne primjenjuje za Kerberos ograničeno delegiranje (KCD).
Windows Server 2012 uvedene provedbu šume granicu za puni Kerberos prijenos ovlasti. Ova značajka dodaje pravila pouzdanih domena onemogućiti ograničenja delegiranje na osnovi po pouzdanost. Zadana postavka za tu značajku omogućuje delegiranje ograničenja i je nesigurna.
Postoje ažuriranja sigurnosti pojačanje za sljedeće verzije sustava Windows Server:
-
Windows Server 2019
-
Windows Server 2016
-
Windows Server 2012 R2
-
Windows Server 2012
Ova značajka s promjenama u sigurnost pojačanje su backported sljedeće verzije:
-
Windows Server 2008 R2
-
Windows Server 2008
Tih sigurnosnih ažuriranja napravite sljedeće promjene:
-
Ograničenja Kerberos prijenos ovlasti onemogućeno je prema zadanim postavkama na novo šume i novi vanjski trustsnakon instalacije14 možda ažuriranje i noviji ažuriranja.
-
Ograničenja Kerberos prijenos ovlasti onemogućen je na šuma (nove i postojeće) i vanjske trusts nakon instalacije u srpanj 9, 2019, ažuriranje i noviji ažuriranja.
-
Administratori mogu omogućiti ograničenja Kerberos prijenos ovlasti pomoću na možda ili novije verzije modula NETDOM i AD PowerShell.
Ažuriranja mogu uzrokovati sukobe kompatibilnosti za aplikacije koje trenutno zahtijevaju ograničenja delegiranje preko šume ili vanjski trusts. Ovo je posebno točno vanjski pouzdanosti karantene zastavicu (poznate i kao SID filtriranja) za koje je omogućen po zadanom. Konkretno, provjera autentičnosti zahtjeva za usluge koje koriste ograničenja delegiranje preko vrste navedene pouzdanost neće uspjeti kada zatražite novi ulaznica.
Datumi izdanja potražite ažuriranja vremenske trake.
Zaobilazno rješenje
Za pružanje podataka i račun sigurnosti na verziju Windows Server koji ima značajku za provedbu šume granicu za puni Kerberos prijenos ovlasti možete blokirati poslao TGT delegiranje nakon instalacije ažuriranja ožujak 2019 preko dolazne pouzdanost postavljanjem na Zastavica Netdom EnableTGTDelegation na ne kako slijedi:
netdom.exe trust fabrikam.com /domain:contoso.com /EnableTGTDelegation:No
Delegiranje poslao TGT je blokirana na nove i postojeće šume i vanjske trusts nakon instalacije, možda i obnavlja srpanj 2019 odnosno.
Za ponovno Omogućivanje delegiranje preko trusts i povratak na izvornu konfiguraciju nesigurnih dok omogućeno delegiranje ograničenog ili resursa, postavljanje zastavice EnableTGTDelegation na da.
Naredbeni redak NETDOM da biste omogućili delegiranje poslao TGT je kako slijedi:
netdom trust <TrustedDomainName > /domain:<TrustingDomainName > /EnableTgtDelegation:Yes
Možete shvatiti pojmovno NETDOM sintaksu za omogućavanje poslao TGT delegiranje kako slijedi:
netdom trust <domain that you are administering> /domain:<domain whose trust NETDOM is modifying> /EnableTgtDelegation:Yes
NETDOM sintaksa omogućiti poslao TGT delegiranje fabrakam.com korisnicima na poslužiteljima contoso.com je kako slijedi:
netdom.exe trust fabrikam.com /domain:contoso.com /EnableTGTDelegation:Yes
Napomene
-
Zastavica EnableTGTDelegation treba postaviti u pouzdana domena (fabrikam.com u ovom slučaju) za svaki postavljanju domene (primjerice contoso.com). Nakon postavljanja zastavica pouzdanih domena više ne dopuštaju TGTs biti delegirana postavljanju domene.
-
Stanja sigurnosti za EnableTGTDelegation je ne.
-
Aplikacija ili servis koji se oslanja na ograničenja delegiranje preko šuma neće uspjeti kada EnableTGTDelegation ručno ili programski postavljena da Da. EnableTGTDelegation zadane vrijednosti na ne na nove i postojeće trusts nakon što instalirati ažuriranja možda 2019 i 2019 srpanj. Dodatne informacije o otkriti ove pogreške potražite u pronalaženju servise koji se oslanjaju na ograničenja delegiranje. Potražite ažuriranja vremenske trake vremenskoj promjene koje utječu na to kako se može primijeniti ovo zaobilazno rješenje.
-
Dodatne informacije o NETDOM potražite u dokumentaciji Netdom.exe.
-
Ako morate omogućiti delegiranje poslao TGT na pouzdanosti, preporučuje se umanjiti taj rizik omogućavanjem Windows Defender vjerodajnica Guard na klijentskim računalima. Onemogućuje sve ograničenja delegiranje iz računala koje je Windows Defender vjerodajnica Guard omogućen i pokrenut.
-
Ako imate šume ili vanjski pouzdanost i bilo konfiguriran kao u karanteni, poslao TGT delegiranje nije moguće omogućiti jer dva zastavice imati suprotan semantiku. Bitnim karantene strengthens sigurnost granicu između sudjelujuće domena. Omogućavanje poslao TGT delegiranje brišu granice sigurnost između domena po daje pristup postavljanju domene vjerodajnice korisnika iz pouzdanih domena. Ne možete ga imati oboje.
Sintaksa naredbenog retka NETDOM dodati zastavicu karantene: bez ako zastavicu karantene je trenutno omogućena.
-
Ako ste promijenili EnableTGTDelegation na da, Izbriši Kerberos ulaznica na izvorišne i posrednih pozivateljima kao obavezan. Odgovarajući ulaznica za brisanje je referentni klijenta poslao TGT preko odgovarajuću pouzdanost. To može obuhvaćati više od jednog uređaja, ovisno o broju delegiranje preskakanja u danu okruženju.
Dodatne informacije o ovim postupkom pogledajte sljedeći članak Windows IT Pro Center:
Zaštiti vjerodajnice izvedenih domene s Guard vjerodajnica za Windows Defender
Ažuriranja vremenske trake
Ožujak 12, 2019
Provođenje za šume granicu je za Kerberos puni delegiranje bit će dostupan kao ažuriranje da biste omogućili značajku na sve podržane verzije sustava Windows Server koje su navedene u odjeljku odnosi se na vrhu ovog članka. Preporučujemo da postavite značajku na dolazne trusts šume.
Ažuriranje će dodati sljedećim sustavima značajka provedbu šume granicu za puni Kerberos prijenos ovlasti :
-
Windows Server 2008 R2
-
Windows Server 2008
Možda 14, 2019
Ažuriranje je izdana dodavanje na novi sigurnom zadanu konfiguraciju šume novo i vanjske trusts. Ako zahtijeva delegiranje preko trusts, zastavica EnableTGTDelegation trebalo biti postavljeno na da prije instalacije ažuriranja srpanj 9, 2019. Ako ne zahtijevaju delegiranje preko trusts ne trebate postaviti zastavice EnableTGTDelegation . Zastavica EnableTGTDelegation će se zanemariti sve dok ažuriranje srpanj 9, 2019 instaliran dati administratori vrijeme da biste ponovo omogućili ograničenja Kerberos prijenos ovlasti kada je potrebna.
Kao dio tog ažuriranja, zastavica EnableTGTDelegation će se postaviti na ne po zadanom za sve novostvorene trusts. Ovo je suprotno prethodne ponašanje. Preporučamo da administratori umjesto toga konfigurirajte zahvaćeni services za korištenje resursa temelji ograničeno delegiranje.
Dodatne informacije o tome kako prepoznati probleme kompatibilnosti pogledajte Pronalaženje servise koji se oslanjaju na ograničenja delegiranja.
Srpanj 9, 2019
Ažuriranje izdavanja koja nameće novo zadano ponašanje ulaznog strane šume i vanjske trusts. Provjera autentičnosti zahtjeva za usluge koje koriste ograničenja delegiranje preko vrste navedene pouzdanost će se autentičnost, ali bez delegiranja. Servis neće uspjeti kada pokuša pokrenuti delegirana postupke.
Ublažiti, u odjeljku "zaobilazno rješenje".
Pronalaženje servise koji se oslanjaju na ograničenja delegiranje
Skeniranje šumama koje ste dolazne trusts dopuštaju delegiranje poslao TGT i pronaći bilo koji sigurnosni upravitelji dopuštaju delegiranje ograničenja, pokrenite sljedeće PowerShell skripte u skripti datoteke (na primjer, Get-RiskyServiceAccountsByTrust.ps1 - Collect):
Napomena
Možete proslijediti zastavice - ScanAll da biste pretražili trusts dopuštaju delegiranje poslao 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
}
Izlazni skripte PowerShell popisa Active Directory sigurnosni upravitelji u domenama koje su konfigurirane za dolazne pouzdanost iz izvršni domene koji ima ograničenja delegiranje konfiguriran. Izlaz izgledat će otprilike sljedeći primjer.
domene |
sAMAccountName |
objectClass |
partner.fabrikam.com |
opasne |
korisnik |
partner.fabrikam.com |
labsrv$ |
računalo |
Otkrivanje ograničenja delegiranje kroz Windows događaji
Prilikom izdavanja ulaznice Kerberos kontrolor domene Active Directory evidentira sljedeće sigurnosne događaje. Događaji sadrže informacije o ciljnu domenu. Koristite događaje za određivanje hoće li se ograničenja delegiranje preko dolazne trusts koristi.
Napomena
Potvrdite za događaje koje sadrže TargetDomainName vrijednost koja odgovara nazivu pouzdanih domena.
Zapisnik događaja |
Izvor događaja |
ID događaja |
Pojedinosti |
Sigurnost |
Microsoft-Windows-sigurnosni-nadzor |
4768 |
Kerberos poslao TGT izdavanja. |
Sigurnost |
Microsoft-Windows-sigurnosni-nadzor |
4769 |
Izdavanja ulaznice usluge Kerberos. |
Sigurnost |
Microsoft-Windows-sigurnosni-nadzor |
4770 |
Ulaznica usluge Kerberos je obnovljena. |
Otklanjanje poteškoća neuspjeha provjere autentičnosti
Kada ograničenja delegiranje onemogućen, aplikacija možda probleme s kompatibilnošću s ove promjene ako aplikacija ne osloniti na delegiranje ograničenja. Te aplikacije treba konfigurirati za korištenje ograničeno delegiranje ili ograničeno delegiranje je resurs temelji. Ee Fili dodatne informacije, sKerberos ograničeno delegiranje pregled.
Aplikacije koje se oslanjaju na round-trip provjeru autentičnosti preko trusts korištenjem ograničeno delegiranje nisu podržane. Na primjer, delegiranje ne uspije ako korisnik u šumi A potvrđuje aplikacije u šumi B i aplikacija u šumi B pokušava delegatu ulaznica za šume A.