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

Загальні відомості

Лісу довіри дозволяють для ресурсів у лісі Active Directory можна довіряти ідентифікаційних записів, з іншого лісу. Це безпеки та конфіденційності можна налаштувати в обох напрямках. Довірчий ліс, є джерелом ідентифікації користувачів. Довірчого лісу, містить ресурс, до якого користувачі підключаються. Довірчий ліс автентифікацією користувачам довірчого лісу, не дозволяючи навпаки, відбувається.

Невимушено доступом делегування Kerberos, є механізм, коли користувач надсилає себе служби, щоб увімкнути службу, щоб отримати доступ до ресурсів, від імені користувача. Щоб увімкнути невимушено доступом делегування Kerberos, потрібно позначити обліковий запис служби, у службі Active Directory як довірений для делегування. Це створює проблеми, якщо користувачів і служби належить іншому лісу. Лісу служби, який відповідає за те, що делегування. Делегування включає в себе облікові дані користувачів від користувача лісу.

Надання одного лісу прийняття рішень для безпеки, що впливає на іншому лісі, облікові записи є порушенням безпеки межу між лісами. Зловмисник, який володіє довірчого лісу може вимагати делегування TGT, ідентичності з довірчий ліс, надавати доступ до ресурсів у довірчий ліс. Це не стосується Kerberos з обмеженням делегування (примусове делегування Kerberos).

Windows Server 2012, введений виконання за межі лісу, для повного-делегування Kerberos. Ця функція додано довірений домен для вимкнення невимушено делегування на основі окремих довіри політику. Параметр за промовчанням ця функція дозволяє невимушено делегування і небезпечний.

Оновлення безпеки політик, що існують для таких версій Windows Server:

  • ОС Windows Server 2019

  • Windows Server 2016

  • Windows Server 2012 R2

  • Windows Server 2012

Цю функцію, разом із безпеки захист зміни, які портіровани для таких версій:

  • Windows Server 2008 R2.

  • ОС Windows Server 2008

Ці оновлення системи безпеки, внесіть такі зміни:

  • Делегування Kerberos, невимушено вимкнено в новому лісі і нові зовнішні довірипісля інсталяції14 травня оновлення а потім оновлення.

  • Після інсталяції на 9 Липень 2019, оновлення та подальшого оновлення, невимушено доступом делегування Kerberos вимкнуто лісу (нових і наявних) і зовнішні довіри.

  • Адміністратори, можна ввімкнути невимушено делегування Kerberos, за допомогою травні або пізніших версіях NETDOM та AD PowerShell модуль.

Оновлення, що може призвести до конфліктів сумісності, для програм, які наразі потребують невимушено делегування лісі або зовнішні довіри. Це особливо важливо, зовнішні довіри, для яких карантину позначку (також відомий як SID фільтрування) ввімкнуто за промовчанням. Зокрема, запити на автентифікацію служб, які використовують невимушено делегування над типами списку довіри не буде коли надсилається запит на новий квитки.

Значення дати випуску див. оновлення шкали часу.

Інші способи вирішення

Для забезпечення безпеки даних облікового запису, версії Windows Server, який має функції для виконання за межі лісу, для повного-делегування Kerberos , може блокувати TGT делегування, після інсталяції оновлення березня 2019 через на вхідний безпеки та конфіденційності можна настроїти на Позначка для netdom EnableTGTDelegationне наступним чином:

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

Після інсталяції у травні та липні 2019 оновлення, відповідно, TGT делегування заблоковано на існуючих та лісу і зовнішні довіри.

Повторно ввімкнути делегування через довіри, і повернутися небезпечних початкову конфігурацію, доки не можна ввімкнути ресурсів на основі або обмеженого делегування, Установіть позначку 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). Після того, як встановлено позначку, довірений домен не дозволяє TGTs, щоб бути передано довірчого домену.

  • Безпечний стан EnableTGTDelegation – це не.

  • Будь-які програми або служби, яка використовує в лісах невимушено делегування не вдасться коли EnableTGTDelegation програмним способом або вручну так. EnableTGTDelegation за промовчанням не на існуючих та довіри після інсталяції, травня 2019 та липні 2019 оновлення. Щоб отримати додаткові відомості про те, як визначити, ця проблема див. Пошук служб, які використовують невимушено делегування. Часова шкала, зміни, які впливають на те, як можна застосувати цей спосіб див оновлення шкали часу .

  • Щоб отримати додаткові відомості про NETDOM див. документацію для Netdom.exe.

  • Якщо потрібно увімкнути TGT делегування на довіру, рекомендуємо вам зменшення ризику, дозволяючи Windows Defender, облікові дані гвардії на клієнтських комп'ютерах. Це перешкоджає, всі невимушено делегування, з Windows Defender облікових даних гвардії ввімкнено і запуску комп'ютера.

  • Якщо будь-який настроєно як на карантин лісі або зовнішні довіри, TGT делегування не можна ввімкнути, тому що дві позначки у зворотному-функціональних можливостей. Карантин біт, зміцнює безпеки межу між беруть участь доменів. Увімкнення TGT делегування видалення даних між доменів, надавши доступ довірчого домену облікові дані користувачів із довіреного домену, межі безпеки. Ви не є обох способів.

    Додати позначку карантин: no NETDOM Синтаксис командного рядка, якщо позначку карантину зараз увімкнуто.

  • Ви змінили EnableTGTDelegation , щоб так, видаліть квиток Kerberos, відбуваються та середнього рівнів виклики, відповідно, на. Відповідні квитком, щоб видалити – це TGT-Довідкова клієнта через відповідні безпеки. Це може включати, більше одного пристрою, залежно від кількості делегування переходи в даному середовищі.

Щоб отримати додаткові відомості про виконання цієї процедури див. таку статтю Windows IT Pro центр:

Захист похідний домен облікові дані з обліковими даними-гвардії 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

Kerberos-TGT видано.

Безпека

Microsoft Windows безпеки аудиту

4769

Служба квиток Kerberos видано.

Безпека

Microsoft Windows безпеки аудиту

4770

Служба квиток Kerberos, було відновлено.

Виправлення помилок для перевірки автентичності

Коли невимушено делегування вимкнуто, програм може мати проблеми сумісності з цих змін, якщо програми, що ґрунтуються на невимушено делегування. Ці програми, має бути настроєно на використання з обмеженням делегування або делегування, ресурсів на основі з обмеженням. Fабо додаткові відомості, see Kerberos обмежені делегування огляд.

Застосунки, які використовують через довіри оцінку автентифікація за допомогою обмеженого делегування не підтримуються. Наприклад, у делегування не працює, якщо користувача в лісі A, засвідчує до застосунку в лісі, і застосунок лісу б намагається делегування квиток до лісу, а.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.