Всё о о Microsoft Exchange Server и электронной почте.

Онлайн встреча «Разговоры об ИТ» № 96 пройдет сегодня, в среду 12 мая с 21:00 до 23:00(MSK). Тема доклада: «Протокол аутентификации Керберос»

Встречи об ИТ Неделю назад я столкнулся с проблемой и в процессе ее решения разбирался с протоколом аутентификации Керберос. Знания на эту тему у меня очень общие, поэтому консультировался я у MVP Security — Александра Станкевича. Он в Керберосе, как рыба в воде, а  через время Саша предложил сделать доклад про Керберос. Поэтому сегодня тема — «Протокол аутентификации Керберос». Докладчик Александр Станкевич. Я уже видел презентацию, она очень хороша. Материала много, но учитывая то, что Саша говорит по делу, без воды, то я думаю время пролетит незаметно. Приходите. p.s. Начинайте без меня, если я чуть задержусь.

Вход на «Разговоры об ИТ»

(начнет работать за 30 мин до встречи)

Для участия нужна гарнитура(наушники+микрофон), Интернет и клиент Live Meeting 2007(15Mb). Желательно использовать USB гарнитуру.

*********************************************************

VIDEO(RAR):Разговоры об ИТ. Выпуск №96. «Путешествие на ракете Керберос». Александр Станкевич (1234 Загрузки)

*********************************************************

PPT:Разговоры об ИТ. Выпуск №96. «Путешествие на ракете Керберос». Александр Станкевич (1143 Загрузки)

*********************************************************

Похожие посты:

  • osr

    Очень жалко, что такой интересный доклад и встреча MCP-Клуба в Москве снова совпали по дате. На этот раз повлиять на дату не мог — сегодня на базе Клуба будет проходить Office 2010 Launch, который организуется представителями Microsoft. Остается надеяться, что запись выступления Александра будет сделана.

  • http://www.exchangerus.ru Pavel Nagaev

    Жалко конечно, но ничего, будет запись и если что, то можем повторить через время. Доклад то хороший.

  • Alexander Trofimov

    Паша, щито эта за комментарии такие интересные? =)

  • http://www.exchangerus.ru Pavel Nagaev

    Саша, это спамеры проклятые 🙂 Сейчас научились типа ссылки на мой сайт ставить, а мой блог их в комменты всасывает. В общем отключил я эту возможность сейчас посмотрим, что из этого выйдет.

  • Alexander Trofimov

    Хорошо… А то я устал это в РСС видеть =)

  • Stanky

    Похоже, ничего не изменилось 🙂 .

  • Stanky

    Посмотрел запись — это просто ужас, что сделал с презентацией LiveMeeting! Никакой анимации, тупо статичные кадры — смотреть такое невозможно . Мало того, что тема непростая, я тот ещё докладчик, так ещё и такие грабли 🙁 .

  • Alexander Trofimov

    Я тебе говорил — юзай Camtasia. =)

  • Евгений

    Скачал доклад — мне очень понравился и действительно увидеть чуть поглубже работу в IIS 7 было бы здорово.
    Большое спасибо!
    Не удержался  🙂 попробовал удалить билеты, добавить себя в группу, но доступа к шаре не появилось.
    А параметр времени действия билета 7 дней где меняется? и он на конкретный DC или на домен или на лес?
    Так же уровень шифрования RC4 или AES зависит только от клиента и сервера, но не от уровня домена, у меня уровень лесодомена 2003, а все DC или 2008 или 2008 R2 , и билеты на win 7 у меня AES.

  • Stanky

    Эти параметры находятся в групповых политиках в настройках безопасности Kerberos: Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Account Policies -> Kerberos Policies. Изначально, все настройки находятся в Default Domain Policy, то есть, на домен.
    Тип шифрования зависит от всех перечисленных вещей, на самом деле 🙂 . Если у вас уровень домена, 2003, то всё TGT у вас будут RC4. Иначе, контроллеры на 2003 не смогут принять такой билет. Если уровень домена (не леса) будет 2008, то TGT , будет выдаваться в AES, если клиент это поддерживает (Vista и выше). Но даже если уровень домена 2003, но контроллер, который выдаёт ST и сервер на который он выдаётся умеют AES и запрашивающий клиент его поддерживает, то будет AES. Вот так вот запутано 🙂 . Например, при уровне домена 2003, DC = 2008 + Server = Windows 7 + Client = Vista = AES. Та же ситуация, но DC = 2003 + Server = Windows 7 + Client = Vista = RC4.

  • Stanky

    А что именно вы бы хотели увидеть по части IIS’а? Может, следующую встречу сделать без слайдов (для меня это тяжко), а просто на практике показывать те или иные вещи…

  • Евгений

    Спасибо за ответы.
    По IIS попытаюсь объяснить на примере. Недавно поднимал для SCOM — Web Console и первая задача выбора при настройке консоли — это способ аутентификации :). Вообщем настроил Windows Authentication, завернул через https. В Enables Providers заработало все с Negotiate и NTLM, а вот с Negotiate:Kerberos не аутентифицировало. В свете "новых знаний" по kerberos хотелось бы понять как все-таки завернуть аутентификацию через него. Но это как конкретный пример, а так хотелось бы рассмотреть все способы и какие там существуют варианты.
    Еще один комментарий к докладу родился, все доклады про безопасность любого типа, надо начинать с определений что есть 1) Идентификация; 2) Аутентификация 3) Авторизация , из аудитрии как правило всегда найдутся которые плавают в этих терминах.

  • Stanky

    Честно говоря, чтоб понять вашу проблему, сперва нужно понять, что это за портал и как он работает:).
    Negotiate, на самом деле — это Kerberos, при обломе которого происходит Fall Back на NTLM.
    NTLM — говорит само за себя.
    А вот Negotiate:Kerberos — одна из тех новинок Windows 7 (о которых я упоминал в докладе) по предотвращению NTLM. В данном варианте, если Kerberos обломился, то NTLM выполняться не будет. Но у данного провайдера есть небольшое ограничение — он не может использоваться совместно с ядерной аутентификацией (Kernel Mode Authentication).

    Комментарий отличный! На самом деле, у меня было желание дать эти определения, но, как это обычно бывает, на докладе, по причине волнения и забывчивости, не говоришь и половины того, что запланировал 🙂 . Жаль, что не было Паши в самом начале — он бы обязательно задал этот вопрос. В общем, позволю себе, восполнить пробел в этом моменте прямо здесь:
    1) Идентификация — Привет, я — Вася.
    2) Аутентификация — Привет, я — Вася, вот мой паспорт.
    3) Авторизация — Привет, я — Вася, вот мой паспорт, я имею такие-то права.

    P. S. Я тоже проверил вариант "динамической группы" и моё теоретическое предположение подтвердилось на практике — всё сработало 🙂 ! Но, как я говорил на встрече, авторизация выполняется в момент подключения, поэтому, чтоб сервер учитывал ваше членство в новой группе, соединение с ним нужно разорвать. Я делал это просто через "Computer Management" на файловом сервере.

  • http://www.exchangerus.ru Pavel Nagaev

    Выложил презентацию, там есть анимация, делающая видео презентацию более понятной.
     

  • RobertPolson

    помогите разобраться с такими наболевшими вопросами:
    1.ели в AD установлена политика, при которой можно некоторое количество раз залогиниться (если пользователь уже гинился ранее) при недоступном DC (не помню как политика точно называется).
    какой тогда механизм аутентификации? (где кстати пароль находится, в защищённой ветке реестара?)
    2.когда закончилось время жизни TGT и сессионного ключа "клиент-KDC", чем шифруется запрос в KDC, а точнее в AS ?
    ранее такой запрос (точнее штам времени) шифровался с помощью хэша пароля пользователя, но этот самый хэш должен удалиться, после получения TGT и ключа "клиент-KDC".
    3.когда "лочится ОС", пользователь вновь вводит логин, пароль, домен. как проходит аутентификация?
    (исходя из эксперимента, после "золочивания", выдёргивается сетевой кабель, вводится пароль и пользователь продолжает работать. значит аутентификация проходит локально? Боюсь что корень ответа на это вопрос кроется в ответе на первый ))))
    4.при междудоменной аутентификации кто "ответсвенный" за пароль междудоменной аутентификации?
    откопал такую фразу, но ничего из неё не понял:
    "Пароль же доверенной учетной записи домена необходим для расчета междоменных (межобластных) ключей, которые используются для шифрования билетов переадресации"
    спасибо

  • Stanky

    1. Политика называется "Interactive logon: Number of previous logons to cache (in case domain controller is not available)". Используется, как не сложно догадаться, именно наш любимый NTLM 🙂 ! Об этом, кстати, я говорил в самом начале своего доклада 😉 .
    Если под "защищённой" вы имеете в виду "HKEY_LOCAL_MACHINE\SECURITY", то я на 99,9% уверен, что именно там 🙂 . Только там хранится не пароль, а его хеш, причём, не полностью, а лишь половина — чтоб ограничить учётную запись от угрозы компрометации. То есть, украсть хеш для дальнейшего использования не получится, а чтобы убедиться, что пользователь знает пароль — вполне достаточно.

    2. Точно так же, как и при первом получении TGT — хешем пароля пользователя 😉 .
    А с чего вы взяли что он должен удалиться? Если б он удалялся, то у нас, банально, не работал бы NTLM и при каждом истечении TGT пользователь был бы вынужден вводить свой пароль заново. Этот хеш, на сколько я помню, находится в памяти под присмотром процесса LSASS.
    Кстати, об этом в докладе я, вроде, тоже говорил 🙂 .

    3. Правильно боитесь 🙂 .

    4. И об этом я тоже рассказывал 😉 . При установлении доверительных отношений между доменами, создаётся "специальный ключ" (нечто вроде учётной записи krbtgt), который известен контроллерам домена обеих сторон. Поэтому, когда мы обращаемся к сервису в другом домене, контроллер нашего домена выдаёт нам TGT на контроллер домена, где находится этот сервис (билет переадресации из вашего текста), причём, этот TGT шифруется тем самым "специальным ключом". В общих чертах как-то так 🙂 .

  • Alexander Trofimov

    1) Только я очень просил бы все-таки помнить, что эта политика не позволяет кому-то там логиниться сколько-то там раз. Она позволяет какому-то количеству людей логиниться сколько угодно раз =) 

  • аноним

    Столько слов про "гадский" ntlm, а я по нему не могу найти документацию, точнее, что-то есть, но как ntlm используется в windows пошагово, как-то не нашёл
    если не затруднит, укажите парочку ссылок на "нормальную" документацию

  • Stanky

    Думаю, кроме общих принципов его работы ничего и не найдёте — всё же, проприетарщина 🙂 .

  • аноним

    Stanky,  спс
    как же можно коговорить, что НТЛМ "плохой", если незнать как он работает, везде написны только "каки" про лёгкость расшифрования пароля… а кто его пароль взламывал лично?
    НТЛМ ведь используется и отказаться от него невозможно, какая это "проприетарщина" 
    это были риторические вопросы, можете на него не отвечать…
     

  • Stanky

    Я не говорил, что совершенно не знаю, как он работает, я говорил, что документации по нему особой нет, в отличии от Kerberos'а. Особенно плохо дела обстоят с описанием NTLMv2.

    Проблема NTLMv1 в том, что он подвержен атаке типа Replay и пароль для этого нам знать совершенно не требуется 😉 . В NTLMv2 данный недостаток, за счёт использования штампов времени, устранён. Ну и алгоритм шифрования там используются не самый современный — DES. Взломать его тупым перебором за приемлемое время на сегодня, может, и не самая простая задача для рядового компьютера, но специализированные устройства, способные это сделать, имеются.

    К слову говоря, в NTLM пароль в явном виде тоже не используется, а только его MD4-хеш.

    В общем, если есть возможность, используйте "Send NTLMv2 response only\refuse LM & NTLM".

  • Alexander Trofimov
  • Stanky

    Ну вот — теперь буду знать 🙂 !

  • аноним

    Alexander Trofimov,
    спасибо за доку! не один день такое искал! ваще нет слов )))  

  • Alexander Trofimov

    Да всегда пожалуйста. Я ж не сам ее писал — только нашел 😉

  • Stanky

    Вот так, вот! Я старался, мучался — делал доклад, а все лавры получил Трофимов 😀 !

  • Alexander Trofimov

    Дык… Судьба ж такая 😉

  • Anton Vibe

    Ребята и всё же, всё же. Очень бы хотелось посмотреть доклад про работу кербероуса с IIS7. И про различия между типами авторизации. Вообщем всё то что было сказано в видеодокладе в конце.
    ЗЫ. Спасибо заранее :).

  • Stanky

    Вообще, авторизация — это другая тема 😉 .

    А отдельный доклад по IIS'у, похоже, я если и сделаю, то крайне нескоро. Может, вы зададите конкретные вопросы, а я постараюсь на них здесь ответить?

  • Tayson

    Здравствуйте, может не внимательно слушал…
    почему когда происходит обращение к SPN по IP,  то не работает kerberos?

  • Stanky

    Потому что SPN'а, при обращении по IP, не существует 😉 !

    Даже если добавить SPN, где вместо имени используется IP-адрес, Kerberos работать не будет — SPN на то и Service Principal NAME, что оперирует именами, а не адресами.

  • Alexander Trofimov

    Станкевич меня забанит в этом топике, или вообще обидится и отправит меня в монастырь… Но вот тут есть еще чуть вкусной еды по теме SPN и IP:
    http://blogs.technet.com/b/askds/archive/2010/06/25/friday-mail-sack-1970-s-conversion-van-edition.aspx
    начиная с третьего вопроса =)

  • Stanky

    И ключевое там:

    6. Update Jan 21 2011: and starting in Vista, it won't work at all!

    😉

  • Alexander Trofimov

    А я ж не спорю. Просто дополнительная информация 😉

  • http://bafff.ru/blog/?p=2410 Подготовка к 70-291. Плавятся мозги от IPSec :( | Блог Бафа

    […] из позитивного нашёл отличную презентацию от Александр Станкевича по Kerberos. Разжёванно всё […]