Mit Kerberos для Windows, что это такое
Обновлено: 21.11.2024
Большое спасибо Рене Доктеру за помощь в вопросах, связанных с Microsoft. Без него я бы не добился успеха.
Введение
Если у вас гетерогенная сеть с серверами Windows, Mac OS X и GNU/Linux, вы быстро обнаружите, что поддерживать единую базу данных с паролями очень сложно. Вы не хотите иметь NIS, OpenLDAP, AD, Open Directory, smbpasswd и все, что у вас есть, в своем центре обработки данных и поддерживать все эти разные базы данных с одинаковыми паролями и информацией о пользователях. Нам нужно единое решение для хранения паролей.
Решение для аутентификации: Kerberos
В этом документе предполагается использование Kerberos V5, поскольку именно его используют Microsoft и Apple. Поэтому при установке GNU/Linux мы будем использовать версию V5 и только решение V5.
Профи
Kerberos также гарантирует, что пароли не передаются по сети, что делает его более безопасным, чем любой другой продукт в мире.
Используя доверительные отношения между различными системами, пользователь, входящий, например, в Active Directory может использовать службы в сети GNU/Linux без необходимости повторного входа в систему. Пользователь является «доверенным».
Помимо этих преимуществ в плане безопасности и совместимости, есть также преимущества единого входа.
Первый шаг интеграции, о котором мы говорим, — это использование единого хранилища паролей. Это означает, что пароль пользователя хранится в одном месте и поддерживается в одном месте. Таким образом, Active Directory и Open Directory должны использовать сервер MIT Kerberos или доверять серверу MIT kerberos.
Определения
Принцип безопасности или просто Принцип — это сущность в базе данных Kerberos для пользователя или компьютера. Вы можете сравнить это с именем пользователя в других системах. Область Совокупность субъектов, принадлежащих к одной группе безопасности или сети. Домен Windows — это действительно сфера. Билет Зашифрованная информация, используемая всеми сторонами для аутентификации принципала безопасности. Для каждой формы доступа необходим билет. Центр распространения ключей KDC. Сервер, ответственный за поставку билетов. Фактически состоит из двух частей. Служба аутентификации (AS) и служба выдачи билетов (TGS). Служба аутентификации (AS) Служба, которая изначально проверяет, является ли пользователь тем, за кого он себя выдает. Когда пользователь аутентифицирован, KDC выдает билет на выдачу билетов или TGT. TGT TGT — это Билет-Предоставление-Билета. С помощью TGT пользователь может запрашивать дополнительные билеты для доступа к услугам в сети. Именно TGT делает возможным единый вход. Служба предоставления билетов (TGS) Служба предоставления билетов проверяет личность пользователя с помощью билета на предоставление билетов и выдает билет для желаемой услуги. Учетная запись KRBTGT Это специальная учетная запись для создания заявок на выдачу билетов. Проверяющий сервер Сервер, к которому пытается получить доступ клиент. Сеансовый ключ Случайное число, сгенерированное KDC при создании билета. Это общий секрет, общий для KDC, клиента и проверяющего сервера. Соль ключа — это строка, соединенная с паролем, чтобы убедиться, что функция string2key создает уникальный ключ шифрования с помощью одностороннего хеширования. В Kerberos 5 соль — это полное основное имя, включая область. Причина, по которой используется соль, заключается в том, чтобы убедиться, что результат одностороннего хеширования уникален для разных областей. kvno — это аббревиатура от номера версии ключа. Kerberos может содержать несколько ключей для принципала. Чтобы различать эти ключи, каждый ключ имеет номер версии. Это число увеличивается на единицу при изменении пароля или шифрования.
Активный каталог
Поскольку Microsoft Windows немного отличается от остального мира, стоит сказать пару слов. Реализация Microsoft Kerberos предназначена для замены NTLM. Таким образом, несколько служб по-прежнему поддерживают только NTLM и не могут использоваться или могут использоваться только через GSSAPI, который в Windows называется SSPI.
Имя домена в Windows нечувствительно к регистру, а в MIT Kerberos оно чувствительно к регистру. В недавних изменениях стандарта Kerberos указано, что имена областей в верхнем регистре предпочтительнее, а имена областей в нижнем регистре устарели.
В отличие от реализации MIT, реализация Windows Kerberos использует кэш учетных данных в памяти для хранения билетов и TGT (реализация MIT использует файл на диске).
Имя принципала пользователя — субъект пользователя Kerberos
Имя принципа службы — служба Kerberos или субъект хоста
Порядковый номер обновления может совпадать с kvno .
Локальный орган безопасности — часть Windows, которая вызывает службы входа в систему (WINLOGON и NETLOGON) для получения учетных данных безопасности от пользователей. На стороне пользователя — это локальная подсистема безопасности (LSASS.EXE), а на стороне сервера — контрольный монитор безопасности (SRM).
Конечно, в Kerberos есть не только положительные стороны, но и слабые стороны. Итак, здесь мы дадим вам несколько вещей, о которых следует подумать при использовании Kerberos и для обеспечения безопасности системы:
Kerberos использует пароль принципала в качестве основного доказательства личности, поэтому, как и в случае любого другого вида защиты на основе пароля, важно сохранять пароль в тайне.
Надежность защиты Kerberos основана на неуязвимости технологии шифрования. Поскольку нам нужно подключиться к Active Directory, мы привязаны к шифрованию rc4-hmac.
Атака грубой силы на KDC может скомпрометировать всю сеть, поскольку она содержит все пароли (в зашифрованном виде, но все же). Поэтому безопасность KDC имеет важное значение.
Kerberos предполагает, что хост, на котором он работает, безопасен, поэтому, если злоумышленнику удастся завладеть клиентом, он сможет украсть билеты и в течение срока действия билета делать то же, что и обычный пользователь.
В многопользовательских системах указанный выше пункт становится еще более важным. Это означает, что разные пользователи не должны иметь доступа к файлам и памяти друг друга.
Поскольку любой может запросить TGT любого пользователя, а этот билет зашифрован с помощью секретного ключа пользователя (пароля), можно легко провести офлайн-атаку на этот билет, попытавшись расшифровать его с помощью разных паролей. Для решения этой проблемы представлен Kerberos 5.
Установка MIT Kerberos
Ожидаемые знания
Обязательно требуется знание GNU/Linux (операционная система, DNS, OpenLDAP), обязательно знание Microsoft Windows (операционная система, DNS, AD) и хорошее понимание того, как идентификаторы пользователей используются в различных системах. .
Мы также предполагаем, что читатель ранее устанавливал систему LDAP и знаком с инструментами, позволяющими создавать учетные записи пользователей на различных платформах.
В этом документе описывается установка и настройка Kerberos для Windows. Эта процедура была протестирована с использованием 32- и 64-разрядной версии Windows 7, 32- и 64-разрядной версии Windows 8 и 64-разрядной версии Windows 10, но должна быть применима и к другим версиям Windows.
Обратите внимание: Heimdal Kerberos некорректно работает в 32-разрядных версиях Windows. По этой причине мы рекомендуем пользователям 64-разрядной версии Windows установить Heimdal, а пользователям 32-разрядной версии Windows установить MIT Kerberos. Есть отдельные страницы (ниже), описывающие их загрузку и установку. Помимо этого, после установки Kerberos процесс почти идентичен. Различия между дистрибутивами kerberos указаны в тексте
32-битная или 64-битная Windows?
Чтобы следовать инструкциям в этом документе, вам необходимо знать, используете ли вы 32-разрядную или 64-разрядную версию Windows. Если вы этого не знаете, у Microsoft есть инструкции, как это выяснить:
Приведенные выше инструкции относятся к более ранним версиям Windows. В Windows 10 щелкните правой кнопкой мыши меню "Пуск" и выберите "Система", чтобы получить информацию о типе системы.
Загрузить и установить Kerberos
Распределение Kerberos для установки зависит от того, используете ли вы 32-разрядную или 64-разрядную версию Windows (см. выше).
Для 64-разрядной версии Windows мы рекомендуем Heimdal Kerberos:
Для 32-разрядной версии Windows мы рекомендуем MIT Kerberos:
Загрузите и установите Network Identity Manager
Следующим этапом процесса является загрузка и установка Network Identity Manager, опять же из Secure Endpoints:
Опять же вам нужно будет выбрать между 32-разрядным и 64-разрядным установщиком (для 64-разрядных машин требуется только 64-разрядный установщик). Выберите подходящую версию без SDK.
Запустите программу установки:
Примите лицензионное соглашение:
Выберите Обычная установка:
Нажмите «Установить», чтобы продолжить:
Наконец, нажмите «Готово» после завершения установки:
Запустите и настройте Network Identity Manager
Запустите Network Identity Manager в первый раз из меню «Пуск» (пользователям Windows 10 может потребоваться перезапустить Windows, прежде чем Network Identity Manager заработает правильно):
После этого на панели задач должен появиться значок Network Identity Manager (он находится в нижней правой части панели задач Windows). Нажмите на этот значок.Если значок не отображается, возможно, вам придется сначала щелкнуть стрелку вверх, а затем выбрать "Показать Network Identity Manager".
Только для пользователей MIT Kerberos: перед продолжением рекомендуется отключить подключаемый модуль Kerberos v4 в Network Identity Manager. Это можно сделать, выбрав в меню «Параметры» -> «Плагины», выбрав Krb4Cred и нажав «Отключить». Вам будет предложено подтвердить и перезапустить Network Identity Manager.
После (пере)запуска Network Identity Manager:
Выберите Учетные данные -> Новые учетные данные -> Получить новые учетные данные.
При необходимости установите флажки «Проксируемый» и «Сделать это удостоверением по умолчанию» и увеличьте время жизни до 18 часов (это максимальное время жизни для учетных данных пользователя DICE). Нажмите «Далее» (не «Готово»):
Введите свой пароль DICE в поле «Пароль», а затем отметьте «Сделать это удостоверением по умолчанию» (снова!) Выберите «Сохранить пароль в моем хранилище ключей», если вы хотите, чтобы пароль для вашего удостоверения DICE был сохранен на этом компьютере, и нажмите «Далее»:
Наконец, нажмите "Готово". Вы должны увидеть диалоговое окно статуса, которое ненадолго появится после получения ваших учетных данных.
Обратите внимание, что если вы решили сохранить свой пароль, нажмите «Далее», а затем следуйте инструкциям по настройке хранилища ключей.
После проверки подлинности вашего имени пользователя и пароля вы вернетесь в главное окно Network Identity Manager, которое должно содержать новую запись, указывающую на успешное получение билетов Kerberos:
Программное обеспечение MIT в Windows для управления билетами Kerberos.
Статьи по теме
Пошаговая настройка
Примечание. Серия выпусков KfW 4.1 основана на MIT krb5 1.13
Исполняемый файл
После установки вы должны получить все исполняемые файлы и двоичные файлы служб в этом месте.
Услуги
ccapserver
лсас
Процесс локальной безопасности имеет DLL.
Конфигурация
Файл конфигурации
Получите файл конфигурации krb5.conf у администратора Kerberos. Файл конфигурации также должен находиться в /etc/krb5.conf на хост-компьютере
Кэш
Установите переменную среды для кеша, чтобы иметь возможность использовать разные реализации Kerberos (поскольку они используют другое расположение кеша по умолчанию)
Получите билет
Документация/Справочник
Рекомендуемые страницы
Kerberos — (Билет|Учетные данные)
Учетные данные Kerberos, или «тикеты», — это учетные данные в Kerberos. KDC выдает только два разных типа билетов. Билет на выдачу билетов (TGT). Первый полученный билет: ".
Керберос — Windows
Управление Kerberos в Windows Статьи Связанное программное обеспечение MIT — установка и настройка Java Следующие инструменты получают, составляют список и управляют билетами Kerberos в Windows: kinit: вы используете kinit ".
Kerberos — билет на выдачу билетов (TGT)
Билет на предоставление билетов (TGT) – это первый билет, полученный в системе Kerberos. Это специальный билет, который позволяет клиенту получать дополнительные билеты Kerberos в той же области Kerberos. У".
Важно! Этот компонент устарел. HPE рекомендует использовать альтернативный продукт. Дополнительные сведения см. в разделе Компоненты экосистемы, производство которых прекращено.
Вы можете настроить аутентификацию Kerberos для Windows через Active Directory или MIT Kerberos.
Активный каталог
Драйвер ODBC для Impala поддерживает Active Directory Kerberos в Windows. Прежде чем вы сможете использовать Active Directory Kerberos в Windows, должны быть выполнены следующие предварительные условия:
- MIT Kerberos не установлен на клиентском компьютере с Windows.
- Область MIT Kerberos Hadoop настроена так, чтобы доверять области Active Directory, поэтому пользователи в области Active Directory могут получать доступ к службам в области MIT Kerberos Hadoop.
Кербер MIT
Чтобы использовать Kerberos, необходимо загрузить и установить MIT Kerberos для Windows 4.0.1.
Загрузить для 64-разрядных компьютеров
Чтобы загрузить программу установки Kerberos для 64-разрядных компьютеров, воспользуйтесь следующей ссылкой для скачивания с веб-сайта MIT Kerberos:
Этот установщик включает как 32-разрядные, так и 64-разрядные библиотеки.
Загрузить для 32-разрядных компьютеров
Чтобы загрузить программу установки Kerberos для 32-разрядных компьютеров, воспользуйтесь следующей ссылкой для скачивания с веб-сайта MIT Kerberos:
Этот установщик включает только 32-разрядные библиотеки.
- Чтобы запустить программу установки, дважды щелкните загруженный файл .msi.
- Следуйте инструкциям программы установки, чтобы завершить процесс установки.
- По завершении установки нажмите "Готово".
Настройки для Kerberos задаются в файле конфигурации. Вы можете настроить файл конфигурации как файл .ini в расположении по умолчанию (каталог C:\ProgramData\MIT\Kerberos5) или как файл .conf в пользовательском расположении.
Обычно каталог C:\ProgramData\MIT\Kerberos5 скрыт. Обратитесь к документации по Windows, если вы хотите просмотреть и использовать этот скрытый каталог.
Установка в месте по умолчанию
Чтобы настроить файл конфигурации Kerberos в расположении по умолчанию, получите файл конфигурации krb5.conf у администратора Kerberos. Кроме того, вы можете получить файл конфигурации /etc/krb5.conf на машине, на которой размещен сервер Impala, а затем выполнить следующие шаги:
- Переименуйте файл конфигурации с krb5.conf на krb5.ini.
- Скопируйте файл krb5.ini в каталог C:\ProgramData\MIT\Kerberos5 и перезапишите пустой образец файла.
Примечание. Дополнительные сведения о настройке Kerberos см. в документации MIT Kerberos.
Установка в произвольном месте
- Поместите файл krb5.conf в доступный каталог и запишите полное имя пути.
- Нажмите "Пуск", затем щелкните правой кнопкой мыши "Компьютер" и выберите "Свойства".
- Нажмите Дополнительные параметры системы. В диалоговом окне "Свойства системы" перейдите на вкладку "Дополнительно" и выберите "Переменные среды".
- В диалоговом окне "Переменные среды" в списке "Системные переменные" нажмите "Создать".
- В диалоговом окне "Новая системная переменная" в поле "Имя переменной" введите KRB5_CONFIG.
- В поле «Значение переменной» введите абсолютный путь к файлу krb5.conf из шага 2.
- Нажмите "ОК", чтобы сохранить новую переменную.
- Убедитесь, что переменная указана в списке системных переменных.
- Нажмите "ОК", чтобы закрыть диалоговое окно "Переменные среды", а затем нажмите "ОК", чтобы закрыть диалоговое окно "Свойства системы".
- Создайте каталог, в котором вы хотите сохранить файл кэша учетных данных Kerberos. Например, создайте следующий каталог: C:\temp
- Нажмите "Пуск", затем щелкните правой кнопкой мыши "Компьютер" и выберите "Свойства".
- Нажмите "Дополнительные параметры системы".
- В диалоговом окне "Свойства системы" перейдите на вкладку "Дополнительно" и нажмите "Переменные среды".
- В диалоговом окне "Переменные среды" в списке "Системные переменные" нажмите "Создать".
- В диалоговом окне "Новая системная переменная" в поле "Имя переменной" введите KRB5CCNAME.
- В поле «Значение переменной» введите путь к папке, созданной на шаге 0, а затем добавьте имя файла krb5cache. Например, если вы создали папку C:\temp на шаге 0, введите C:\temp \krb5кэш.
Примечание: krb5cache — это файл (а не каталог), которым управляет программное обеспечение Kerberos, и он не должен создаваться пользователем. Если при первом использовании Kerberos вы получаете сообщение об ошибке разрешения, убедитесь, что krb5cache еще не существует в виде файла или каталога.
- Нажмите "ОК", чтобы сохранить новую переменную.
- Убедитесь, что переменная отображается в списке системных переменных.
- Нажмите "ОК", чтобы закрыть диалоговое окно "Переменные среды", а затем нажмите "ОК", чтобы закрыть диалоговое окно "Свойства системы".
- Чтобы убедиться, что Kerberos использует новые настройки, перезагрузите компьютер.
Получить билет с помощью пароля
- Нажмите кнопку "Пуск", выберите "Все программы", а затем выберите группу программ Kerberos для Windows (64-разрядная версия) или Kerberos для Windows (32-разрядная версия).
- Нажмите Диспетчер билетов MIT Kerberos.
- В диспетчере билетов MIT Kerberos нажмите «Получить билет».
- В диалоговом окне "Получить билет" введите свое основное имя и пароль, а затем нажмите "ОК".
Если аутентификация прошла успешно, информация о вашем билете появится в MIT Kerberos Ticket Manager.
Получить билет с помощью файла keytab
- Нажмите кнопку "Пуск" > "Все программы" > "Стандартные" > "Командная строка".
- В командной строке введите команду, используя следующий синтаксис:
keytab_file — это полный путь к файлу keytab.
principal — это субъект Kerberos, используемый для аутентификации.
Если расположение кэша KRB5CCNAME не задано или не используется, используйте параметр -c команды kinit, чтобы указать кэш учетных данных. В команде аргумент -c должен стоять последним. Например:
Примечание: krbcache — это файл кэша Kerberos, а не каталог.
Получить билет с помощью файла keytab по умолчанию
Примечание. Инструкции по настройке файла keytab по умолчанию для вашей конфигурации Kerberos см. в документации MIT Kerberos.
- Нажмите кнопку "Пуск" > "Все программы" > "Стандартные" > "Командная строка".
- В командной строке введите команду, используя следующий синтаксис:
principal — это субъект, используемый для аутентификации.
Если расположение кэша KRB5CCNAME не задано или не используется, используйте параметр -c команды kinit, чтобы указать кэш учетных данных. В команде
Читайте также: