Applies ToWindows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Windows Server 2016 Windows Server 2019, all editions

Rezime

Šume pouzdanost omogućavaju za resurse u Active Directory љumi da verujem identitete iz druge šume. Ukazano povjerenje može biti podešen u oba pravca. Šumi pouzdan je izvor identitet korisnika. Šumi poverenja sadrži resurs na koji potvrdi identitet korisnika. Šumi pouzdanih mogao da potvrdi korisnicima da veruje šumi bez omogućavanja obrnuto da dođe do.

Neusiljeno Kerberos delegiranje je mehanizam u kojem korisnik šalje svoje akreditive uslugama da omogućite uslugu za pristup resursima u ime korisnika. Da biste omogućili neusiljeno Kerberos delegiranje, nalog za servis u Aktivnom direktoriju mora biti označen kao pouzdan za delegaciju. Ovo stvara problem ako korisnik i usluga pripadaju različitim šume. Šumi servisa je odgovoran za dozvoljavanje delegacija. Delegacija uključuje akreditiva korisnika iz korisnikove Foresta.

Omogućavajući onu sumu da donosi odluke za bezbednost koja utiče na druge šume nalozi krše sigurnosne granice između šume. Napadač u čijem je vlasništvu šumi poverenja možete zatražiti delegacije na TGT za identitetom od pouzdanih šumu, je dati pristup resursima u šumi pouzdanih. Ovo se ne primenjuje na ograničena Kerberos delegiranje (KCD).

Windows Server 2012 predstavio UT za šume granica za punu Kerberos delegiranje. Ova opcija dodaje politiku domene kojoj se vjeruje da onemogućite neusiljeno delegacija na osnovu po poverenje. Podrazumevana postavka za ova funkcija omogućava neusiljeno delegacija i je nesigurno.

Ispravke koje obezbeđuju sigurnost PolicyAgent postoje za sledeće verzije sistema Windows Server:

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2012

Ova funkcija zajedno sa promenama u bezbednosti PolicyAgent bili backported na sledeće verzije:

  • Windows Server 2008 R2

  • Windows Server 2008

Ovi bezbednosnih ispravki izvršite sledeće promene:

  • Neusiljeno Kerberos delegiranje je onemogućena po podrazumevanoj vrednosti na nove šume i novi eksterni odnosinakon instalacije14 maja ažuriranja i kasnije dopune.

  • Neusiljeno Kerberos delegiranje je onemogućena na šume (novih i postojećih) i spoljni odnosi nakon instalacije u julu 9, 2019, ažuriranje i kasnije dopune.

  • Administratori mogu da omoguće neusiljeno Kerberos delegiranje pomoću u maju ili novije verzije NETDOM i AD PowerShell modula.

Dopune može izazvati sukobe kompatibilnosti za aplikacije koje trenutno zahtevaju neusiljeno delegacija preko šume ili eksterni fondove. Ovo se posebno odnosi na spoljni pouzdanost za koju je podrazumevano omogućena karantin zastavu (poznat i kao SID filtriranja). Konkretno, zahtevi za potvrdu identiteta za usluge koje koriste neusiljeno delegacija nad tipovima navedenih poverenje otkazaće kada zatražite novi karte.

Datumi objavljivanja, potražite ažurira vremenskoj osi.

Rešenje

Da pruži sigurnost podataka i računa na verziju Windows Server koji ima funkciju za sprovođenje za šume granica za punu Kerberos delegiranje , možete blokirati TGT delegacija nakon što instalirate ispravke marta 2019 preko za dolazne poverenje postavljanjem na zastava netdom EnableTGTDelegation da ne, na sledeći način:

netdom.exe trust fabrikam.com /domain:contoso.com /EnableTGTDelegation:No

TGT delegacija je blokiran na nove i postojeće šume i spoljni odnosi nakon što instalirate u maju i jula 2019 ažurira tim redom.

Da ponovo omogućite delegacija preko fondove i vratiti originalnu konfiguraciju nesigurno dok ne može da se omogući sustavom resursa ili ograničeno delegiranje, postavite zastavu EnableTGTDelegationda.

NETDOM komandne linije da biste omogućili TGT delegacija je na sledeći način:

netdom trust <TrustedDomainName > /domain:<TrustingDomainName > /EnableTgtDelegation:Yes

Konceptualno možete da NETDOM sintaksu za omogućavanje TGT delegacija na sledeći način:

netdom trust <domain that you are administering> /domain:<domain whose trust NETDOM is modifying> /EnableTgtDelegation:Yes

Sintaksa "NETDOM" da biste omogućili TGT delegacija fabrakam.com korisnika na serverima contoso.com je na sledeći način:

netdom.exe trust fabrikam.com /domain:contoso.com /EnableTGTDelegation:Yes

Napomene

  • EnableTGTDelegation zastava treba da bude postavljeno na pouzdanom domenu (fabrikam.com u ovom slučaju) za svakog poverenja domena (kao što je contoso.com). Nakon što je postavljena zastavica, pouzdanog domena će omogućiti više ne TGTs da se delegira poverenja domena.

  • Sigurnosno stanje za EnableTGTDelegation je ne.

  • Bilo koji aplikacija ili usluga koja se oslanja na neusiljeno delegacija preko šume će propasti kada EnableTGTDelegation ručno ili programski podešen na da. EnableTGTDelegation podrazumevane vrednosti na ne na nove i postojeće fondove za tobom instalirajte 2019 maja i jula 2019 ispravke. Više informacija o tome kako da otkrije greški, potražite u odeljku Pronalaženje usluge koje se oslanjaju na neusiljeno delegacija. Pogledajte ažurira vremenskoj osi za sva vremena promene koje utiču na to kako se ovo zaobilazno rješenje može primeniti.

  • Za više informacija o NETDOM, pogledajte dokumentaciju za Netdom.exe.

  • Ako morate da omogućite TGT delegacija na fond, preporučuje se da da ublaže taj rizik tako što ćete omogućiti Windows Defender akreditiv garde na klijentskim računarima. Ovo sprečava sve neusiljeno delegacija iz računara koji je Windows Defender akreditiv garde omogućena i pokrenuta.

  • Ako imate šume ili eksterni poverenje, a ni su konfigurisani kao u karantin, TGT delegacija ne može se omogućiti jer dve zastave su suprotni semantika. Karantin malo jača sigurnosne granice između učesnica domeni. Omogućavanje TGT delegacija briše bezbednosti granice između domena davanjem poverenja pristup domenu akreditiva korisnika iz pouzdanih domena. Te ne mogu imati obe stvari.

    U karantinu: ne na zastavicu Sintaksa komandne linije NETDOM ako karantin zastava je trenutno omogućena.

  • Ako si se EnableTGTDelegation na da, Izbriši Kerberos ulaznice na izvorne i srednji pozivaoci po potrebi. Odgovarajuću kartu da biste izbrisali je klijentovu preporuku TGT preko relevantnih trust. Ovo mogu da uključuju više od jednog uređaja, u zavisnosti od broja delegacija hmelj u datom okruženju.

Za više informacija o ovom postupku, pogledajte sledeći članak Windows Pro centar:

Zaštiti akreditive izvedenog domena sa Windows Defender akreditiv garde

Ažuriranje vremenske ose

12. marta 2019.

Primena za ivicu šume za Kerberos punu delegacija će biti dostupan kao ažuriranje da biste omogućili ovu funkciju na svim podržanim verzijama operativnog sistema Windows Server koji su navedeni u odeljku " odnosi se na " na vrhu ovog članka. Preporučujemo da podesite opciju na dolazne šume fondove.

Ažuriranje će dodati funkcije za UT za šume granica za punu Kerberos delegiranje sledećih sistema:

  • Windows Server 2008 R2

  • Windows Server 2008

14. maja 2019.

Ispravka je pušten dodajući da je novi sigurnom podrazumevane konfiguracije za nove šume i spoljni odnosi. Ako je potrebno da delegacija preko fondove, EnableTGTDelegation zastavu treba da bude postavljeno na da pre nego što je 9 jula, 2019 ispravka instalirana. Ako vam nije potrebno da delegacija preko fondova, ne treba da podesite EnableTGTDelegation zastavu. EnableTGTDelegation zastava će biti zanemarene dok je 9 jula, 2019 ispravka instalirana da administratori vremena da biste ponovo omogućili neusiljeno Kerberos delegiranje kada ona nije potrebna.

U sklopu ovog ažuriranja, zastava EnableTGTDelegation će biti postavljen na ne po podrazumevanoj vrednosti za svaki novokreirani fondove. Ovo je suprotno od prethodne ponašanje. Preporučujemo da administratori umesto toga ponovo konfigurišete pogođene usluge koristiti zasnovane na resursa ograničeno delegiranje.

Više informacija o tome kako da otkrije probleme sa kompatibilnošću potražite u odeljku Pronalaženje usluge koje se oslanjaju na neusiljeno delegacija.

9. jula 2019.

Ažuriranje koje primenjuje novi podrazumevano ponašanje na ulaznim strani šume i spoljni odnosi pušten. Potvrda identiteta zahteva za usluge koje koriste neusiljeno delegacija nad tipovima navedenih pouzdanost će biti ovlašćeni, ali bez delegacija. Servis će propasti kada pokuša da pokrene delegiranih operacije.

Za ublažavanje, potražite u odeljkuzaobilaženje”.

Pronalaženje usluge koje se oslanjaju na neusiljeno delegacije

Skeniranje za šume koje imate dolazni fondove koji omogućavaju TGT delegacija i pronaci ikakve sigurnosti principi koji omogućavaju neusiljeno delegacija, pokrenite sledeću PowerShell skripte u skriptu datoteka (na primer, se-RiskyServiceAccountsByTrust.ps1- Prikupite):

Napomena

Takođe možete da prolaze zastava " -ScanAll " da biste pretražili fondove koji ne dozvoljavaju TGT delegacija.


[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 
}

Izlaz skripte PowerShell listu Active Directory nosioci sigurnosti u domeni koji su konfigurisani za jedan dolazni poverenje od izvršavanju domena koji je neusiljeno delegacija konfigurisan. Izlazna biće slična sledećem primeru.

domena

sAMAccountName

klase objekata

partner.fabrikam.com

opasno

korisnik

partner.fabrikam.com

labsrv$

kompjuter

Otkrivanje neusiljeno delegacija kroz Windows događaji

Nakon izdavanja kartu Kerberos, kontrolera domena aktivnog direktorijuma evidentira sledeće događaje vezane za bezbednost. Događaja sadrže informacije o ciljni domen. Događaja možete da koristite da biste utvrdili da li neusiljeno delegaciju koja se koristi preko dolazne fondove.

Napomena

Potvrdu za događaje koje sadrže TargetDomainName vrednost koja se podudara sa imenom pouzdanog domena.

Evidencije događaja

Izvor događaja

ID događaja

Detalji

Sigurnost

Microsoft-Windows--nadzor bezbednosti

4768

TGT je Kerberos je izdat.

Sigurnost

Microsoft-Windows--nadzor bezbednosti

4769

Objavljen je kartu za usluge Kerberos.

Sigurnost

Microsoft-Windows--nadzor bezbednosti

4770

Kartu za usluge Kerberos je obnovljen.

Rešavanje problema identiteta otkazivanja

Kada je neusiljeno delegacija onemogućen, aplikacija možda problema sa kompatibilnošću sa ovih promena ako aplikacije koje se oslanjaju na neusiljeno delegacija. Ove aplikacije je trebao biti konfigurisan da koristi ograničena delegacija ili ograničena delegacije koja je zasnovan na resurs. Fili više informacija, see Pregled delegacija ograničena Kerberos.

Aplikacije koje se oslanjaju na povratnu potvrdu identiteta preko fondove podržani su samo pomoću ograničeno delegiranje. Na primer, delegacija propadne ako korisnik u šumi-U potvrđuje identitet u aplikaciju u šumi B i aplikacija u šumi B pokušava da delegirate kartu za šume A.

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na pitanja, dajete povratne informacije i čujete mišljenje od stručnjaka sa bogatim znanjem.