Керберос Величина улазница и изазови раста

Пре неки дан наишао сам на прилично занимљив проблем за неке кориснике, наиме, немогућност аутентификације са бројем доменских сервиса због прекорачења максималне величине Керберос карте (токена). У овом ћемо чланку покушати размотрити карактеристике формирања токена Керберос, методологију за одређивање његове величине за одређеног корисника и повећање међуспремника за његово складиштење..

У нашем случају проблем се показао на следећи начин. Неки корисници нису могли приступити већем броју распоређених сервиса. Конкретно, дошло је до проблема приликом покушаја повезивања на фарму РДС (грешка „Приступ одбијен“)

У евиденцијама сервера удаљене радне површине евидентирана је грешка Ид 6 догађаја:

Керберос ССПИ пакет генерисао је излазни токен величине 22041 бајта, који је био превелик да би се уклапао у токен тампон величине 12000 бајта, обезбеђен ИД-ом процеса 4.
Превелик излазни ССПИ токен је вероватно резултат тога што је корисник усер @ домаин члан великог броја група.
Препоручује се минимизирати број група којима корисник припада. Ако се проблем не може исправити смањењем чланства у групи овог корисника, обратите се администратору система како бисте повећали максималну величину токена, која се у термину подешава на машини преко следеће вредности регистра: ХКЛМ \ СИСТЕМ \ ЦуррентЦонтролСет \ Цонтрол \ Лса \ Керберос \ Параметерс \ МакТокенСизе.

При покушају повезивања на СКЛ Сервер примећена је следећа грешка:

Непозната грешка у бази података.

СКЛ стање: ХИ000, СКЛ код грешке: 0

ССПИ контекст не може да се генерише. Обратите се свом администратору система.

И у логу је забележена грешка Ид догађаја -40960

Сигурносни систем је открио грешку у аутентификацији за сервер КСКСКСКСКСКС. Код неуспеха из протокола за потврду идентитета Керберос је био „Буффер Тоо Смалл
Тампон је премали да садржи унос. У бафер нису написане никакве информације. (0кц0000023).

Провјера права приступа ресурсима није открила проблем. Даљња истрага инцидента открила је зависност - сви „проблематични“ корисници били су у великом броју безбедносних група Ацтиве Дирецтори-а (узимајући у обзир угнијежђене групе од више од 200). Стога смо постепено дошли до закључка да је проблем прекорачење максималне дужине карте Керберос која се користи за ауторизацију корисника.

Садржај:

  • Керберос Величина улазнице
  • Како сазнати корисничку тренутну величину карте Керберос
  • Смањење величине Керберос токена за корисника
  • Како повећати величину токена Керберос

Керберос Величина улазнице

Величина карте за Керберос зависи од следећих фактора:

  • Број безбедносних група Ацтиве Дирецтори-а (укључујући угнијежђене) којих је корисник члан (групе врста дистрибуције нису укључене у токен)
  • Употребе СИДХистори-а.Напомена. Проблем са прекорачењем максималне величине карте је нарочито чест код миграције корисника између Ацтиве Дирецтори домена и одржавања приступа ресурсима старог домена путем механизма СИДХистори
  • Коришћени механизам за потврду идентитета (уобичајена лозинка или мултифактор, на пример, паметне картице)
  • Без обзира да ли је рачун делегиран на делегирање или не

Керберос користи међуспремник за складиштење информација о ауторизацији и преноси његову величину у апликације које користе Керберос. Системски параметар МакТокенСизе - он одређује величину пуфера. Величина тампон је битна неки протоколи, попут РПЦ-а и ХТТП-а, користе га када додељују блок меморије за аутентификацију. Ако подаци за потврду идентитета корисника који покушава провјерити идентитет премашују величину МакТокенСизе, покушај провјере аутентификације сматра се неуспјешним. Ово може објаснити грешке аутентификације приликом приступа ИИС-у, док је приступ датотекама мрежним ресурсима сачуван..

Подразумевано, величина међуспремника Керберос (МакТокенСизе)

  • У оперативном систему Виндовс 7 и Виндовс Сервер 2008Р2 - 12 Кб.
  • На Виндовс 8 и Виндовс Сервер 2012 величина се повећава на 48Кб.

Дакле, ако је корисник у великом броју група, сви описи група једноставно не одговарају 12 КБ, а приликом приступа неким ресурсима провера идентитета.

Савет. Постоји тешко ограничење броја група којима корисник може припадати. Лимит је 1015 група. Ако је број група премашен, корисник се пријављује у систем. „Систем вас не може пријавити због следеће грешке: Током покушаја пријављивања, безбедносни контекст корисника акумулирао је превише сигурносних ИД-ова. Покушајте поново или се обратите администратору система“

Како сазнати корисничку тренутну величину карте Керберос

Виндовс-у недостају погодни уграђени алати за проналажење величине Керберос токена за одређеног корисника.

Да бисмо добили тренутну величину улазница, користимо скрипту Поверсхелл треће стране ЦхецкМакТокенСизе.пс1 (од Тима Спрингстона - Мицрософт). Скрипта вам омогућава да добијете тренутну величину токена наведеног корисника, број безбедносних група у које је укључен, број СИД-ова сачуваних у СИДХистори корисника, као и да ли је налог за делегирање верован или не

Да бисте користили скрипту, преузмите је са горње везе и сачувајте је са именом ЦхецкМакТокенСизе.пс1

Онемогући верификацију скрипте:

Сет-ЕкецутионПолици РемотеСигнед
Идите у директориј са скрипту

Цд ц: \ инсталл \ пс
И сазнајте величину карте за Керберос за корисничко име:

.\ ЦхецкМакТокенСизе.пс1 -Принципалс 'усер_наме' -ОСЕмулатион $ труе -Детаилс $ труе

Скрипта вас пита да одредите за које окружење треба израчунати величину корисничке карте. Постоје две опције.

1 - На Виндовс 7 / Виндовс Сервер 2008 Р2 и новијим (величина токена 12К)

4 - У оперативном систему Виндовс 8 / Виндовс Сервер 2012 и новијим ОС-овима (величина токена 48К)

Притисните 1 и Ентер. Након неког времена (3-4 минута), скрипта ће вратити следеће информације:

Детаљи токена за корисничко име корисника
************************************
Корисников домен је ЦОРП.
Укупна процењена величина токена је 22648.
За приступ ДЦ-има и делегираним ресурсима укупна процијењена величина делегације токена је 45296.
Ефективна вредност МакТокенСизе је: 12000
Откривен је проблем. Токен је био превелик за доследно одобрење. Промените максималну величину по КБ-у хттп://суппорт.мицрософт.цом/кб/327825 и размислите о смањењу директног и прелазног чланства у групи.
* Детаљи токена за корисничко име *
У токену је 957 група.
У СИДХистори корисника постоје СИД-ови.
У групи корисника постоји 248 СИД атрибута СИДХистори.
Постоји 248 укупно СИД историје за корисника и групе чији је корисник члан.
1188 су групе безбедности глобалног домена домена.
37 су локалне безбедносне групе домена.
68 су универзалне безбедносне групе унутар домена корисника.
0 су универзалне безбедносне групе изван домена корисника.
Детаљи групе укључени у излазну датотеку на Ц: \ Виндовс \ темп \ ТокенСизеДетаилс.ткт
Детаљи о СИД историји укључени у излазну датотеку на Ц: \ Виндовс \ темп \ ТокенСизеДетаилс.ткт

Стога смо утврдили да је усер_наме члан 957 сигурносних домена и величину његове Керберос карте - 22648, која је скоро 2 пута већа од стандардне величине Керберос токена у Виндовс 7 / Виндовс Сервер 2008 Р.

Дакле, да бисте решили проблем са аутентификацијом, морате или смањити величину корисничког токена или повећати величину међуспремника на свим системима сервера на којима се примећује Керберос ауторизација..

Смањење величине Керберос токена за корисника

Ако је могуће, покушајте да смањите корисничку карту Керберос за:

  • Смањење броја корисничких група.Савет. То се може олакшати увођењем новог механизма за контролу приступа датотекама датотека, који се појавио у Виндовс Сервер 2012 - Динамиц Аццесс Цонтрол
  • Чишћење историје СИД-а
  • Одбијање поверења за делегирање рачуна (значајно смањује величину токена)

Како повећати величину токена Керберос

У случају да није могуће смањити величину Керберос карте за кориснике, можете повећати величину тампон за њу. За то регистар има посебан параметар МакТокенСизе.

Мицрософт не препоручује постављање величине МакТокенСизе на више од 64К, генерално препоручујемо да прво повећате лимит на 48К (лимит за Виндовс 8/2012). Да бисте повећали величину пуфера:

  1. Отворите уређивач регистра и пређите на одељак ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ Систем \ ЦуррентЦонтролСет \ Цонтрол \ Лса \ Керберос \ Параметри.
  2. Креирајте нови параметар типа ДВОРД (32-битна) вредност са именом МакТокенСизе
  3. Наведите жељену вредност за максималну величину међуспремника (одредили смо 48000, јер величина корисничког токена не прелази ову вредност)
  4. Поново покрените систем

Ова се операција мора извести на свим серверским системима који имају проблема са аутентификацијом..

Ако се на ИИС веб локацијама појаве проблеми с аутентификацијом, морат ћете и повећати величину ХТТП заглавља на 64 КБ (0000фффф). Према заданим поставкама, максимална величина заглавља је 16 КБ. Да бисте то учинили, следеће промене регистра морају се извршити на ИИС серверима (биће потребно и поновно покретање):

ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ Систем \ ЦуррентЦонтролСет \ Сервицес \ ХТТП \ Параметри \ МакФиелдЛенгтх
ДВОРД: 0000фффф

ХКЕИ_ЛОЦАЛ_МАЦХИНЕ \ Систем \ ЦуррентЦонтролСет \ Сервицес \ ХТТП \ Параметри \ МакРекуестБитес
ДВОРД: 0000фффф

Виндовс 8 и Виндовс Сервер 2012 имају нову политику која вам омогућава да поставите максималну величину МакТокенСизе - Сет максимално Керберос ССПИ контекст токен тампон величина. Налази се под Конфигурација рачунара -> Политике -> Административни предлошци -> Систем -> Керберос.

Поред тога, постоји још једна занимљива политика. Упозорење за велике карте Керберос , омогућујући вам да конфигуришете излаз у системском дневнику упозорења о вишковима карата.

Након омогућавања полисе, када се премаши величина прага карте, догађаји ће се бележити у дневник Евент 31 са текстом:

За рачун "АццоунтНаме" @ "ДомаинНаме" издаје се карта за услугу лдап / "ДЦ Наме" / "ДомаинНаме". Величина шифрованог дела ове улазнице је 17421 бајта, што је ближе или веће од конфигурисаног прага величине карте (12000 бајтова). Ова карта или било које додатне карте издате на овој листи могу резултирати неуспјехом аутентификације ако клијент или послужитељска апликација додијели ССПИ тампон-међуспремнике ограничене вриједношћу која је близу прагу вриједности.

.