TGT deleģēšana pār ienākošo uzticamība sistēmā Windows Server atjauninājumi

Kopsavilkums

Active Directory mežā uzticama identitātes no cita meža resursus meža uzticamība nodrošina veidu. Šis drošības kontroles var konfigurēt gan norādījumus. Uzticams mežs ir lietotāja identitāti. Uzticēšanās mežā ir resurss, kurā lietotāji veic autentifikāciju. Uzticams mežs var autentificēt lietotāju uzticēšanās mežā, neļaujot reverse pastāv.

Neierobežotu Kerberos deleģēšana ir mehānisms, kad lietotājs nosūta tās akreditācijas dati pakalpojumu iespējot pakalpojumu piekļuve resursiem lietotāja vārdā. Lai iespējotu Kerberos deleģēšana neierobežotu, jāatzīmē pakalpojuma Active Directory kontu kā uzticams deleģēšanai. Tas rada problēmu, ja lietotājs un servisa uz citu mežu. Pakalpojumu meža atbild ļauj deleģēšana. Ietver lietotāju no meža lietotāja akreditācijas datus.

Viena meža drošības lēmumus, kas attiecas uz citu meža konti ļauj pārkāpjot drošības robežas starp mežiem. Uzbrucējs, kuram pieder jūsu uzticēšanās mežā var pieprasīt TGT identitātei deleģēšana no uzticams mežs nodrošina piekļuvi resursiem uzticams mežs. Tas neattiecas uz ierobežotas Kerberos deleģēšana (KCD).

Windows Server 2012 ieviests izpildes meža robežu pilnu Kerberos deleģēšana. Šis līdzeklis pievienots uzticamo domēnu atspējot neierobežotu deleģēšana, pamatojoties uz drošības kontroles politiku. Šis līdzeklis noklusējuma iestatījums ļauj neierobežotu deleģēšana un ir drošs.

Atjauninājumus, kas nodrošina drošības pastiprināšana pastāv šādu Windows Server versijām:

  • Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2012

Šis līdzeklis izmaiņas drošības pastiprināšana tika backported šādas versijas:

  • Windows Server 2008 R2

  • Windows Server 2008

Šie drošības atjauninājumi veikt šādas izmaiņas:

  • Neierobežotu Kerberos deleģēšana ir atspējota pēc noklusējuma jaunu meža un jauna ārējā uzticamībapēc instalēšanas14. maijs, gan vēlāk.

  • Neierobežotu Kerberos deleģēšana ir atspējota mežu (jaunu un esošu) un ārējā uzticamība pēc instalēšanas jūlijs 9, 2019, gan vēlāk.

  • Administratori var aktivizēt neierobežotu Kerberos deleģēšana, izmantojot maija vai jaunāka NETDOM un AD PowerShell modulis.

Atjauninājumus var izraisīt konfliktus saderības lietojumprogrammām, kas pašlaik pieprasa neierobežotu deleģēšana visā mežā vai ārējā uzticamība. Tas ir īpaši attiecas uz ārējā uzticamība, kurai pēc noklusējuma ir iespējots karodziņš karantīnas (zināms arī kā SID filtrēšanas). Īpaši autentifikācijas pieprasījumiem pakalpojumi, kas izmanto neierobežotu deleģēšana pār minēto drošības kontroles tipus neizdodas, pieprasot jaunas biļetes.

Izlaides datumi, skatiet atjaunina grafiku.

Risinājums

Sniegt datus un konta drošības Windows Server versiju, kas ir izpildes meža robežu Kerberos deleģēšana pilnu funkciju, jūs varat bloķēt TGT deleģēšana pēc marta 2019 atjauninājumu instalēšanas pār ienākošo uzticamības, iestatot netdom karodziņš EnableTGTDelegationbez šādi:

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

TGT deleģēšana ir bloķēta jauno un esošo meža un ārējā uzticamība pēc instalēšanas maijā un jūlijā 2019 attiecīgi atjauninājumus.

Atkārtoti iespējot deleģēšana pāri uzticamība un atgriezties nedrošu sākotnējo konfigurāciju līdz ierobežots resursu sistēma vai deleģēšana var iespējot, EnableTGTDelegation karodziņa iestatīšana uz .

NETDOM komandrindas iespējot TGT deleģēšana ir šādi:

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

Teorētiski var uzskatīt par NETDOM sintakse ļauj TGT deleģēšana šādi:

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

Iespējot TGT deleģēšana fabrakam.com lietotāju contoso.com serveros NETDOM sintakse ir šāda:

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

Piezīmes.

  • Uzticamā domēnā (šajā gadījumā fabrikam.com) uzticēšanās domēnu (piemēram, contoso.com) ir jānosaka EnableTGTDelegation karodziņu. Pēc karodziņu ir iestatīta, uzticama domēna vairs neļauj TGT deleģēt uzticēšanās domēnā.

  • Ir EnableTGTDelegation drošības statusu.

  • Jebkuru programmu vai pakalpojumu, kas paļaujas uz neierobežotu deleģēšana starp mežiem neizdosies, EnableTGTDelegation programmiski vai manuāli iestatīts Jā. EnableTGTDelegation pēc noklusējuma nav par jauniem un esošajiem uzticamība pēc instalēt atjauninājumus var 2019 un jūlijā 2019. Lai iegūtu papildinformāciju par to, kā noteikt šo kļūmi skatiet atrast pakalpojumu, kas izmanto neierobežotu deleģēšana. Izmaiņas, kas ietekmē kā šo metodi var izmantot grafiku skatiet atjaunina grafiku .

  • Lai iegūtu papildinformāciju par NETDOM, skatiet Netdom.exe dokumentāciju.

  • Ja ir jāiespējo TGT deleģēšana uz uzticamības, ieteicams ir mazināt risku, iespējojot Windows Defender akreditācijas aizsargs klienta datoros. Tādējādi visi neierobežotu deleģēšana no datora, kurā ir Windows Defender aizsargs akreditācijas iespējots un darbojas.

  • Ja jums ir meža vai ārējā uzticamība un kāds ir konfigurēti karantīnā, TGT deleģēšana nevar iespējot, jo pretējā semantika ir divi karogi. Karantīnas bits nostiprina drošības robežas starp programmas domēnu. Iespējojot TGT deleģēšana dzēš drošības robežas starp domēnu, nodrošinot uzticamu domēna piekļuvi akreditācijas datu lietotāju no uzticama domēna. Nevar būt tā abos veidos.

    Ja pašlaik ir iespējots karodziņš karantīnas pievienot karantīnas: no karodziņu NETDOM komandrindas sintakse.

  • Ja EnableTGTDelegation tiek mainīts uz , dzēsiet Kerberos biļetes izcelsmes un vidēja līmeņa zvanītājs nepieciešamos. Dzēst attiecīgo biļete ir klienta atsauces TGT visās attiecīgo uzticamību. Tas var ietvert vairākas ierīces, atkarībā no konkrētajā vidē deleģēšana lēkumu skaitu.

Lai iegūtu papildinformāciju par šo procedūru, skatiet Windows IT Pro centrs raksta:

Atvasinātā domēna akreditācijas datus, izmantojot Windows Defender aizsargs akreditācijas datu aizsardzību

Laika grafiks atjauninājumi

12. marts 2019

Izpildes meža robežu uz Kerberos deleģēšana pilnībā būs pieejama atjauninājumu, lai iespējotu šo līdzekli, visas atbalstītās sistēmas Windows Server versiju sadaļā attiecas uz šī raksta sākumā. Ieteicams iestatīt līdzekli uz ienākošā meža uzticamība.

Atjauninājums pievieno līdzekli izpildi meža robežu pilnu Kerberos deleģēšana tālāk minētajās sistēmās:

  • Windows Server 2008 R2

  • Windows Server 2008

14 maijs 2019

Atjauninājums tika izlaists, pievienojot jaunu drošo noklusēto konfigurāciju jaunu meža un ārējā uzticamība. Ja jums ir nepieciešama deleģēšana pāri uzticamība, EnableTGTDelegation karodziņu jāuzstāda pirms 9 jūlijs 2019 atjauninājums ir instalēts. Ja deleģēšana pāri uzticamība nav nepieciešama, nav jāiestata EnableTGTDelegation karodziņu. EnableTGTDelegation karodziņu tiks ignorēti līdz 9 jūlijs 2019 atjauninājums ir instalēts, lai administratoriem, ir nepieciešams atkārtoti iespējot neierobežotu Kerberos deleģēšana.

Atjauninājumā ietilpst EnableTGTDelegation karodziņu noteiks bez noklusējuma visus jaunizveidotā uzticamība. Tas ir pretēji iepriekšējā darbība. Ieteicams, administratoriem konfigurēt vietā attiecīgajā pakalpojumus, lai izmantotu resursu sistēma piespiedu deleģēšanu.

Papildinformāciju par to, kā noteikt saderību, skatiet atrast pakalpojumu, kas izmanto neierobežotu deleģēšana.

9. jūlijā 2019

Atjauninājums tika izlaists, kas ievieš jaunu noklusējuma ienākošā ārējā uzticamība un meža pusē. Autentifikācijas pieprasījumi par pakalpojumiem, kas izmanto neierobežotu deleģēšana pār minēto drošības kontroles tipi tiek autentificēti, bet bez deleģēšana. Pakalpojums neizdodas, tas mēģina darboties pilnvarotais darbību.

Samazināšanas, skatiet sadaļā "risinājums".

Atrast pakalpojumu, kas paļaujas uz neierobežotu deleģēšana

Meklēt mežos, kuros ir ievainojama TGT deleģēšana ienākošo uzticamība un atrast drošības vadītāji, kas ļauj neierobežotu deleģēšana izpildīt šo PowerShell skriptu skripta failu (piemēram, Get-RiskyServiceAccountsByTrust.ps1 - Apkopojiet):

Piezīme.

Varat arī nodot meklēt uzticamība, kas neļauj TGT deleģēšana - ScanAll karodziņu.


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

Active Directory drošības vadītāji domēnu, kas konfigurēti ienākošā uzticamības no izpildes domēnu, kas ir konfigurēts deleģēšana šķērslis sarakstā PowerShell skriptu komandas. Izvade būs tālāk minētajā piemērā.

domēns

sAMAccountName

objektklasi

partner.fabrikam.com

bīstama

lietotājs

partner.fabrikam.com

labsrv$

dators

Izmantojot Windows notikumu atklāt neierobežotu deleģēšana

Kerberos biļeti izdošanas Active Directory domēna kontrolleris reģistrē šo drošības notikumus. Notikumi ir ietverta informācija par mērķa domēnam. Notikumi var izmantot, lai noteiktu, vai neierobežotu deleģēšana tiek izmantota visā ienākošo uzticamība.

Piezīme.

Pārbaudiet, vai notikumi, kas ietver TargetDomainName vērtību, kas atbilst uzticama domēna nosaukumu.

Notikumu žurnālā

Notikuma avots

Notikuma ID

Informācija

Drošība

Microsoft Windows drošības audits

4768

Kerberos TGT izdota.

Drošība

Microsoft Windows drošības audits

4769

Kerberos biļeti pakalpojums ir izdots.

Drošība

Microsoft Windows drošības audits

4770

Kerberos biļeti pakalpojums tika pagarināts.

Autentifikācijas kļūmes novēršana

Kad neierobežotu deleģēšana ir atspējota, lietojumprogrammas var būt saderības problēmas ar šīm izmaiņām, ja programmas paļaujas uz neierobežotu deleģēšana. Šīs programmas ir jākonfigurē izmantošanu ierobežo deleģēšana vai ierobežo deleģēšana, kas ir balstīts uz resursu. Fvai vairāk informācijas, see .Kerberos ierobežo deleģēšana pārskats

Lietojumprogrammas, kas paļaujas uz autentifikācijas turp un atpakaļ pāri uzticamība, izmantojot piespiedu deleģēšanu netiek atbalstītas. Piemēram, deleģēšana neizdodas, ja lietojumprogrammu meža b autentificē lietotāja meža a un b meža lietojumprogramma mēģina deleģēt biļetes meža a

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×