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

Povzetek

Gozd skladov zagotoviti način za vire v Active Directory gozd zaupati identitet iz drugega gozda. To zaupanje je mogoče konfigurirati v obe smeri. Zaupanja vrednih gozdov je vir identiteto uporabnika. Zaupanje gozd vsebuje sredstvo, ki preverja pristnost uporabnikov. Zaupanja vrednih gozdov lahko pristnosti uporabnikov zaupanje gozd ne da obratno, da pride.

Neovirano pooblastitve Kerberos je mehanizem, v katerem uporabnik pošlje svoje poverilnice za storitev omogočiti storitev za dostop do sredstev v imenu uporabnika. Da se omogoči neovirano pooblastitve Kerberos, se morajo označiti storitve računa v storitvi Active Directory kot omogočeno zaupanje za pooblaščanje. To ustvarja problem, če uporabnik in storitev pripada različnih gozdov. Storitev gozd je odgovoren za omogočanje prenosa. Delegacije vključuje poverilnice uporabnikov od uporabnikov gozda.

Omogoča en gozdni varnost odločitve, ki vpliva na drugem gozdu računov krši varnost meja med gozdovi. Napadalec, ki je lastnik zaupanje gozd lahko zahteva delegacija TGT za identiteto iz zaupanja vrednih gozda, ki omogočajo dostop do virov v zaupanja vrednih gozdov. To ne velja za Kerberos omejena delegacija (KCD).

Windows Server 2012 predstavil pregona za gozdne meje za polno pooblastitve Kerberos. To zunanja oblika added a politik zaupanja vredni domeni onemogočiti neovirano delegacije na podlagi na zaupanje. Privzeta nastavitev za to funkcijo omogoča neovirano delegacije in je nevarno.

Posodobitve, ki zagotavljajo varnost kaljenje obstajajo za naslednje različice sistema Windows Server:

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2012

Te funkcije, skupaj s spremembami v zaščit so bile backported na teh različic:

  • Windows Server 2008 R2

  • Okno pomočnik 2008

Te varnostne posodobitve narediti te spremembe:

  • Pooblastitev Kerberos neovirano je onemogočil default na novih gozdnih in nove zunanje skladepo namestitvimaja 14 posodobitev in poznejše dopolnitve.

  • Neovirano pooblastitve Kerberos je onemogočen na gozdove (novih in obstoječih) in zunanje sklade po namestitvi na julij 9, 2019, posodobitev in poznejše dopolnitve.

  • Skrbniki lahko omogoči neovirano pooblastitve Kerberos z uporabo v maju ali novejše različice NETDOM in AD PowerShell modula.

Posodobitve lahko povzroči združljivost sporov za aplikacije, ki trenutno zahtevajo neovirano delegacija čez gozd ali zunanje sklade. To še posebej velja za zunanje zaupanja, ki je privzeto omogočeno karanteno zastavo (znan tudi kot SID filtriranja). Posebej, zahteve za preverjanje pristnosti za storitve, ki uporabljajo neovirano delegacija nad vrste seznama zaupanja zaprejo, ko zahtevate novo vstopnice.

Datumi izdaj, glejte posodobitve časovne premice.

Rešitev

Za zagotavljanje varnosti podatkov in račun na različico Windows Server, ki ima funkcijo pregona za gozdne meje za polno pooblastitve Kerberos , lahko blokirate TGT delegacije po namestitvi posodobitve marec 2019 po vsej dohodni zaupanje z nastavitvijo na Netdom zastave EnableTGTDelegationNo, takole:

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

TGT delegacija obtiči na novih in obstoječih gozdnih in zunanje sklade po namestitvi je maja in julija 2019 posodobitve oziroma.

Znova omogočite delegacije v sklade in vrnete izvirno konfiguracijo nevarno dokler omejena ali virov delegacija omogočen, so EnableTGTDelegation zastavo nastavljena na da.

NETDOM ukazni vrstici omogočiti TGT delegacija je, kot sledi:

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

Si lahko zamislite konceptualno NETDOM sintakso za omogočanje TGT delegacije, kot sledi:

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

NETDOM sintakso omogočiti TGT delegacija fabrakam.com uporabnikov v contoso.com strežnikih je, kot sledi:

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

Opombe

  • EnableTGTDelegation zastava je treba določiti v zaupanja vredni domeni (fabrikam.com v tem primeru) za vsako zaupanja vredne domene (na primer contoso.com). Ko je nastavljena je zastavica, zaupanja vredne domene ne bo več omogočila TGT-ji, ki se prenese zaupanja vredne domene.

  • Varne države za EnableTGTDelegation je Št.

  • Vsak program ali storitev, ki se opira na neovirano delegacija čez gozdove hoteti ne zadostovati čas EnableTGTDelegation ročno ali programsko nastavljen na ja. EnableTGTDelegation privzeto Št na novih in obstoječih skladov, ko namestite posodobitve 2019 maja in julija 2019. Če želite več informacij o tem, kako odkriti napako, glejte Iskanje storitve, ki uporabljajo neovirano delegacije. Glej Posodobi časovni za časovni premici sprememb, ki vplivajo na kako lahko uporabljajo to workaround.

  • Če želite več informacij o NETDOM, glejte dokumentacijo Netdom.exe.

  • Če omogočite TGT delegacije na zaupanje, je priporočljivo, da ste zmanjöanje tega tveganja z omogočanjem Windows Defender poverilnic straže v odjemalskih računalnikih. To preprečuje vse neovirano delegacija iz računalnika, ki je Windows Defender poverilnic straže usposobiti ter tekmovanje v teku.

  • Če imate gozd ali zunanjih zaupanje in bodisi konfigurirani kot v karanteni, ni mogoče omogočiti TGT delegacije, ker dva zastavice so nasprotni semantika. Karantena bit krepi varnost meja med sodelujoče. Omogočanje TGT delegacija izbriše varnostne meje med domenami, saj omogoča zaupanje domene dostop do poverilnic za uporabnike iz zaupanja vredne domene. Ne morete imeti obojega.

    Dodajte karantene: št zastavo NETDOM zapoved črta sintaska, če karanteno zastavo je trenutno omogočena.

  • Če ste spremenili EnableTGTDelegation na da, Izbriši Kerberos vstopnice s poreklom in vmesnih kličočih, kot to zahteva. Ustrezne vozovnice za brisanje je stranke napotitev TGT čez ustrezne zaupanje. To lahko vključuje več kot eno napravo, odvisno od števila delegacija hmelja v danem okolju.

Če želite več informacij o tem postopku, najdete v tem članku okno to zagovornik predloga Center:

Zaščito izpeljane domenske poverilnice z Windows Defender poverilnic straže

Posodobitve na časovni premici

12. marca 2019

Uveljavljanje za gozdne meje za Kerberos polno delegacija bo na voljo kot posodobitev, če želite omogočiti to funkcijo za vse podprte različice Windows Server, ki so navedene v razdelku velja za na vrhu tega članka. Priporočamo, da nastavite funkcijo na dohodni gozdne sklade.

Posodobitev bo funkcijo pregona za gozdne meje za polno pooblastitve Kerberos dodati naslednje sisteme:

  • Windows Server 2008 R2

  • Okno pomočnik 2008

Maja 14, 2019

Posodobitev je bila sproščena, seštevanje a nov varno privzeto konfiguracijo novih gozdnih in zunanje sklade. Če potrebujete prenos preko skladov, so EnableTGTDelegation zastavo naj bi ja pred 9 julija 2019 modernizirati je umestiti. Če ne potrebujete delegacija preko skladov, ne nastavite EnableTGTDelegation zastavo. EnableTGTDelegation zastavo bo prezrta, do 9 julija 2019 modernizirati je umestiti podati upraviteljstvo čas, da ponovno omogoči neovirano pooblastitve Kerberos, kadar je treba.

Kot del te posodobitve, bodo EnableTGTDelegation zastavo nastavite na ne privzeto za vse novoustanovljeno skladov. To je nasprotno od predhoden vedenje. Priporočamo, da skrbniki namesto znova konfigurirati storitev za uporabo virov omejena delegacija.

Če želite več informacij o tem, kako odkriti težave z združljivostjo, glejte Iskanje storitve, ki uporabljajo neovirano delegacije.

9. julija 2019

Posodobitev je izšla, ki uveljavlja novo privzeto delovanje na vhodni strani gozd in zunanje sklade. Preverjanje pristnosti zahteva za storitve, ki uporabljajo neovirano delegacija nad vrste seznama zaupanja bo storitev, vendar brez prenosa. Storitev ne bo uspelo, ko poskuša zagnati delegiranih operacije.

Za ublažitev, glejte razdelek "Workaround".

Iskanje storitve, ki se zanašajo na neovirano delegacije

Skeniranje za gozdove, ki so dohodne skladov, ki omogočajo TGT delegacija, in najti poljuben varnost ravnateljev, ki omogočajo neovirano delegacije, prost dostop sledeč PowerShell skripte skript datoteke (na primer, zaslužiti-RiskyServiceAccountsByTrust.ps1- Zbiranje):

Opomba

Hodite lahko tudi zastavo - ScanAll iskati v sklade, ki ne dovoljujejo TGT delegacije.


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

Proizvodnja PowerShell skripte seznam upravnike varnosti storitve Active Directory na področjih, ki so konfigurirana za dohodne zaupanje od izvršitve domene, ki je neovirano delegacija konfiguriran. Proizvodnja bo podobna naslednji primer.

domene

sAMAccountName

objectClass

partner.fabrikam.com

nevarno

uporabnik

partner.fabrikam.com

labsrv$

računalnik

Odkrivanje neovirano delegacija skozi okno dogodkov

Ko se izda Kerberos vstopnice, domenski krmilnik Active Directory zapisuje naslednje varnostne dogodke. Dogodkov vsebujejo informacije o ciljni domeni. Uporabite lahko dogodkov ugotoviti ali neovirano delegacija uporablja po vsej dohodni skladov.

Opomba

Preverite za dogodke, ki vsebujejo TargetDomainName vrednost, ki se ujema z imenom zaupanja vredne domene.

Dnevnik dogodkov

Vir dogodka

ID dogodka

Podrobnosti

Varnost

Microsoft-Windows-varnostno nadzorovanje

4768

Kerberos TGT je bil izdan.

Varnost

Microsoft-Windows-varnostno nadzorovanje

4769

Storitev Kerberos vstopnic je bilo izdano.

Varnost

Microsoft-Windows-varnostno nadzorovanje

4770

Vstopnico za storitev Kerberos je bila obnovljena.

Odpravljanje napak preverjanje pristnosti

Ko neovirano ustvarjanje pooblastil je onemogočeno, uporaba maj življati ocenljivost izdaja s temi spremembami, če aplikacij, zanašajo na neovirano delegacije. Te aplikacije mora konfigurirati delegaciji uporaba omejena ali omejena delegacija, ki je vir, ki temelji. Fali več informacij, see Kerberos omejena delegacija pregled.

Aplikacije, ki se zanašajo na krožno potovanje preverjanje pristnosti prek skladov niso podprte z uporabo omejena delegacija. Na primer, delegacijo spodleti, če uporabnik v gozd A preveri pristnost aplikacijo v gozdu B in uporabo v gozdu B poskuša prenese vozovnice nazaj na gozd A.

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.