Kerberos за 5 минут: знакомство с сетевой аутентификацией
Протокол безопасности Kerberos стал основой современной кибербезопасности. Фактически, он настолько хорошо интегрирован, что большинство пользователей или даже разработчиков вообще забывают о нем. Этот скрытый статус может затруднить получение информации о том, что такое Kerberos и как он работает, особенно со всеми различными формами, которые этот протокол принимает сегодня.
В этой статье мы ответим, что такое Kerberos, как он работает, и рассмотрим типичные атаки, которые инженеры безопасности Kerberos должны преодолевать ежедневно.
К концу вы получите новую оценку современной сетевой безопасности и, надеюсь, пик интереса к кибербезопасности!
Содержание
- Что такое Kerberos?
- Преимущества Kerberos
- Пример взаимной аутентификации:
- Основные компоненты Kerberos
- Центр распространения ключей
- Билет на выдачу билетов
- Сервер аутентификации
- Служба выдачи билетов
- Как работает Kerberos?
- Пример процесса Kerberos
- Разбивка процесса Kerberos (16 шагов)
- Можно ли взломать Kerberos?
- Что изучать дальше
Что такое Kerberos?
Kerberos — это протокол проверки подлинности компьютерной сети, предназначенный для упрощения и безопасности проверки подлинности.
Основная идея Kerberos вращается вокруг использования локальной формы личной идентификации, называемой билетами, которые предоставляются сервером аутентификации. Каждый билет принадлежит определенным областям, которые определяют, к каким службам он предоставляет доступ. Эти билеты зашифрованы, и для их использования требуется несколько уровней дешифрования. Эта система билетов гарантирует, что конфиденциальная информация, такая как пароли, никогда не будет отправлена по сети.
Протокол Kerberos получил широкое признание с момента его создания в Массачусетском технологическом институте в 1980-х годах. Теперь он встроен в бесчисленное количество зависимых от безопасности реализаций в Интернете, и почти все компании ежедневно взаимодействуют по крайней мере с одной системой Kerberos.
Наиболее известное использование Kerberos — это Microsoft Active Directory, служба каталогов по умолчанию, включенная в Windows 2000 и более поздних версий для управления доменами и аутентификации пользователей.
Другие известные применения — Apple, НАСА, Google, Министерство обороны США и университеты по всей территории Соединенных Штатов.
Преимущества Kerberos
Kerberos так широко используется из-за его простоты и непревзойденной безопасности данных. Вот лишь некоторые из его преимуществ:
- Безопасность: Kerberos никогда не передает пароли по сети. Вместо этого Kerberos подтверждает личность пользователя, отправляя ограниченные по времени криптографические сообщения, которые становятся недействительными по истечении установленного периода. Даже сообщения были перехвачены и расшифрованы, они были бы бесполезны в считанные минуты!
- Единый вход: Kerberos требует, чтобы пользователь вводил пароль только один раз при первой аутентификации клиента. С этого момента пользователь имеет доступ ко всем керберизованным службам в области Kerberos без необходимости повторно вводить свой пароль. Единый вход упрощает работу с несколькими службами, устраняя необходимость в нескольких требованиях входа в систему.
Надежная третья сторона: Kerberos использует централизованный сервер аутентификации, известный как Центр распространения ключей (KDC), которому по умолчанию доверяют все другие устройства в сети. Все запросы аутентификации, такие как криптографические сообщения, маршрутизируются через этот сервер. Такой аутсорсинг гарантирует, что конфиденциальная информация не будет храниться на локальном компьютере.
- Взаимная аутентификация: в Kerberos оба конца связи должны быть аутентифицированы, прежде чем соединение будет разрешено. Взаимная аутентификация резко снижает возможность мошенников обманным путем заставить системы отправлять конфиденциальную информацию.
Пример взаимной аутентификации:
Пользователь в сети, использующий Kerberos, может пройти аутентификацию на почтовом сервере, чтобы доказать, что он тот, за кого себя выдает. С другой стороны, почтовый сервер также должен подтвердить, что он действительно является почтовым сервером, а не какой-либо другой службой в сети, претендующей на роль почтового сервера. Если обе стороны аутентифицированы, соединение устанавливается.
Основные компоненты Kerberos
Центр распространения ключей
Центр распространения ключей (KDC) — это центральный процесс Kerberos, содержащий сервер аутентификации (AS) и службу выдачи билетов (TGS). Его основная функция — быть посредником между этими двумя, ретранслируя сообщения от AS, выдает билет на выдачу билетов (TGT), а затем передает его для шифрования с помощью TGS. После этого KDC мало влияет на процесс аутентификации.
Билет на выдачу билетов
Этот билет выдается KDC после успешной аутентификации клиента. TGT зашифрован и содержит разрешения на то, к каким службам может получить доступ клиент, как долго предоставляется доступ, а также ключ сеанса, используемый для связи с клиентом.
Клиенты не могут расшифровать TGT, так как у них нет ключа TGS. Следовательно, они должны слепо представить TGT желаемым службам (которые могут получить доступ к TGS) и позволить службам решить, может ли клиент получить к нему доступ.
Скрывая TGT от клиента, Kerberos предотвращает мошенническое копирование или изменение разрешений клиентом.
Сервер аутентификации
Сервер аутентификации — это первая остановка при аутентификации с помощью Kerberos. Сначала клиент должен аутентифицироваться в AS, используя имя пользователя и пароль для входа.
После этого AS перенаправляет имя пользователя в KDC, который, в свою очередь, предоставляет TGT. Без выполнения этого первого шага клиент не сможет взаимодействовать с какой-либо другой частью системы Kerberos.
Служба выдачи билетов
Служба предоставления билетов действует как привратник между клиентами, владеющими TGT, и различными службами в сети. Когда клиент хочет получить доступ к услуге, он должен представить свой TGT в TGS.
Затем TGS аутентифицирует TGT и устанавливает сеансовый ключ, совместно используемый сервером и клиентом. Если TGS подтверждает, что клиентский TGT включает доступ к желаемой службе, клиенту предоставляется доступ для запроса услуги.
Как работает Kerberos?
Проверка подлинности Kerberos состоит из 4 этапов, в зависимости от того, какие компоненты взаимодействуют между собой:
- Вход пользователя / клиента: на этом этапе происходит взаимодействие между пользователем и клиентом. Пользователь вводит в клиент свое имя пользователя и пароль. Затем клиент преобразует этот пароль в ключ шифрования, хранящийся локально. Если это завершится правильно, клиент может начать аутентификацию с помощью AS.
- Аутентификация клиента / AS: на этом этапе клиент и сервер аутентификации подключаются для аутентификации имени пользователя и проверки того, что они являются частью системы. Затем AS проверяет, что имя пользователя уже задокументировано в системе. В этом случае Клиент и AS обмениваются зашифрованными проверочными сообщениями для проверки друг друга. В конце оба аутентифицируются, соединение устанавливается, и клиент может перейти к аутентификации с помощью службы.
- Аутентификация клиента / службы: на этом этапе клиент и сервер должны аутентифицировать друг друга в соответствии с практикой взаимной аутентификации. Клиент и сервер обмениваются зашифрованными проверочными сообщениями, как на предыдущем этапе. Если все это проходит, клиент и служба аутентифицируются, и клиент получает разрешение запросить их службу.
- Клиент / запрос службы: наконец, клиент может запросить именованную службу у сервера службы. Затем сервисный сервер проверяет, доступна ли запрошенная услуга. Если да, сервер службы предоставляет услугу клиенту. Поскольку клиент прошел аутентификацию на всех этапах этого процесса, он может продолжать использовать службу до истечения срока действия разрешений.
Пример процесса Kerberos
Каждый из этих этапов состоит из нескольких этапов, но в режиме реального времени процесс происходит очень быстро. Чтобы поместить то, что мы узнали выше, в контекст, давайте рассмотрим пример из реальной жизни.
В начале рабочего дня вы вводите пароль в свой клиент. Пароль аутентифицируется AS, а затем KDC предоставляет вам TGT. В этом билете есть набор ключей от dataScienceкоролевства.
Затем TGT кэшируется на вашем компьютере для дальнейшего использования. Этот доступ позволяет вам использовать любые услуги в dataScienceобласти, например, доступ к покупательскому поведению клиентов.
Затем вы можете получить доступ к этой службе в любое время без необходимости каждый раз аутентифицировать свои разрешения. Однако, если вы попытаетесь получить доступ к любой из служб из financesобласти, вам будет отказано, потому что ваш TGT не имеет ключей к этой области.
В конце рабочего дня срок действия вашего TGT истекает, и вы не сможете снова получить доступ к этим службам, пока не получите новый билет при входе в систему на следующий день.
Разбивка процесса Kerberos (16 шагов)
Теперь мы разберем каждый этап процесса, чтобы вы лучше понимали, что происходит за кулисами:
1. Войти
Пользователь вводит свое имя пользователя и пароль. Затем клиент с поддержкой Kerberos преобразует этот пароль в секретный ключ клиента.
2. Запросы клиентов на сервер выдачи билетов
Затем клиент отправляет серверу аутентификации текстовое сообщение, содержащее:
- введенное имя пользователя
- название запрашиваемой услуги
- сетевой адрес пользователя
- как долго они запрашивают доступ на
3. Сервер проверяет имя пользователя.
Имя пользователя проверяется на соответствие проверенным именам пользователей, хранящимся в KDC. Если имя пользователя знакомо, программа продолжится.
4. Выдача билета. Билет возвращается клиенту.
Сервер аутентификации отправляет клиенту два зашифрованных сообщения:
- Message A может быть расшифрован с помощью секретного ключа клиента, созданного на шаге 1. Он содержит имя TGS, временную метку, время жизни билета и вновь предоставленный сеансовый ключ сервера предоставления билетов.
- Message Bявляется билетом на выдачу билета и может быть расшифрован только с помощью секретного ключа TGS. Он содержит ваше имя пользователя, имя TGS, метку времени, ваш сетевой адрес, время жизни билета и тот же ключ сеанса TGS.
5. Клиент получает сеансовый ключ TGS.
Теперь клиент расшифровывает, message Aиспользуя секретный ключ клиента, предоставляя клиенту доступ к ключу сеанса TGS. Message Bхранится локально в зашифрованном состоянии.
6. Клиент запрашивает доступ к службе с сервера
Теперь клиент отправляет обратно два сообщения:
- Message Cпредставляет собой незашифрованное сообщение, содержащее имя запрошенной службы, время существования и все еще зашифрованное message B.
- Message D является аутентификатором, зашифрованным с помощью сеансового ключа TGS, и содержит ваше имя и временную метку
7. Сервер проверяет службу.
Затем TGS проверяет, существует ли служба запросов в KDC. Если это так, программа продолжается.
8. Сервер получает сеансовый ключ TGS.
Теперь сервер получает все еще зашифрованные message Bотправленные message C. Message B(TGT) затем расшифровывается с использованием секретного ключа TGS сервера, давая серверу сеансовый ключ TGS.
Теперь с помощью этого сеансового ключа TGS сервер может расшифровать message D.
Теперь у сервера есть отметка времени и имя из message Bи message D(сообщения аутентификатора). Сервер следит за тем, чтобы имена и временные метки совпадали, чтобы предотвратить мошеннические сообщения. Он также проверяет метку времени на соответствие времени жизни билета, чтобы убедиться, что время ожидания не истекло.
9. Сервер генерирует служебный сеансовый ключ.
Затем сервер генерирует случайный ключ сеанса службы и еще два сообщения.
- Message E зашифрован с помощью секретного ключа службы и содержит ваше имя, имя запрошенной службы, метку времени, ваш сетевой адрес, время жизни билета и ключ сеанса службы.
- Message Fшифруется с помощью сеансового ключа TGS, хранимого как клиентом, так и сервером. Это сообщение содержит всю ту же информацию, message Eкроме вашего имени пользователя и сетевого адреса.
10. Клиент получает ключ сеанса обслуживания.
Используя ключ сеанса TGS, кэшированный на шаге 5, клиент расшифровывает, message Fчтобы получить ключ сеанса службы.
11. Клиент связывается с Сервисом
Теперь клиент отправляет еще два сообщения, на этот раз службе:
- Message G- еще одно сообщение аутентификатора, на этот раз зашифрованное с помощью сеансового ключа службы. Он содержит ваше имя и метку времени.
- Message Hявляется копией message E, которая все еще зашифрована служебным секретным ключом.
12. Расшифровка сервисов Message G
Затем служба расшифровывает message Hсвой секретный ключ службы, чтобы получить ключ сеанса службы изнутри. С помощью этого ключа сервис расшифровывает message G.
13. Сервис проверяет запрос
Затем служба проверяет запрос, сравнивая имена пользователей, временные метки и время жизни из messages Gи H.
14. Сервис аутентифицируется для клиента.
Затем служба отправляет message Iзашифрованные с помощью сеансового ключа службы, хранимого как службой, так и клиентом. Message I- аутентификатор, содержащий идентификатор службы и временную метку.
15. Клиент проверяет услугу.
Затем клиент расшифровывает, message Iиспользуя ключ сеанса службы, кэшированный с шага 10. Затем клиент проверяет идентификатор и временные метки, содержащиеся в нем. Если оба соответствуют ожидаемым результатам, услуга считается безопасной.
16. Свободное общение между клиентом и службой
Уверенный в том, что и клиент, и служба взаимно аутентифицированы, Kerberos позволяет клиенту связываться со службой.
Можно ли взломать Kerberos?
Хотя Kerberos по-прежнему является самым безопасным протоколом, его можно взломать, как и любой другой. Kerberos, долгое время выступавший в качестве отраслевого стандарта, дал хакерам достаточно времени для преодоления системы.
Хакеры нашли 5 основных способов обойти систему Kerberos, основанных на нацеливании на уязвимые системные настройки, слабые пароли или распространение вредоносного вредоносного ПО. Давайте рассмотрим каждый из 5 типов атак:
- Pass-the-ticket: этот метод создает ложный сеансовый ключ путем подделки ложного TGT. Затем хакер может представить TGT службе как действительные учетные данные. Наличие сеансового ключа позволяет этой подделке обходить все этапы проверки Kerberos, которые предшествуют этапу предоставления сеансового ключа.
- Золотой билет: этот метод подделывает билет со статусом администратора. Хакер имеет неограниченный доступ ко всему домену при использовании этого билета; доступны отдельные устройства, серверы, данные и настройки. Хакеры могут создать «золотой билет» только в том случае, если у них есть доступ к машине администратора, обычно через установленное вредоносное ПО.
- Серебряный билет: Подобно атаке Золотого билета, серебряные билеты — это поддельный билет проверки подлинности службы, который предоставляет доступ к службе. Этот метод дает меньший доступ, чем атака по золотому билету, но его также труднее обнаружить. Все взаимодействия на этом этапе являются взаимодействиями клиент / служба, что позволяет хакеру избежать мер безопасности, установленных в KDC.
- Грубая сила: самый очевидный метод, грубая форсировка, включает использование автоматического подбора паролей для ввода тысяч паролей до тех пор, пока не будет найден правильный. Для брутфорса не требуются украденные учетные данные, но его легко обнаружить из-за нечеловеческого поведения при входе.
- Вредоносное ПО с скрытым ключом бэкдора : в этом методе хакеры устанавливают скрытый ключ-ключ доступа к бэкдору в систему, чтобы позволить им войти в систему как любой пользователь в любое время в будущем. Этот метод требует ранее успешной атаки Golden Ticket Attack, поскольку эти скелетные ключи могут быть установлены только с административным доступом. Это одни из самых сложных атак для обнаружения, поскольку взлом и атака могут произойти с разницей в годы.
Что изучать дальше
Поздравляю! Сегодня вы узнали, что такое Kerberos, для чего он используется и какие шаги необходимо предпринять для аутентификации действий.
Поскольку все больше компаний используют протоколы безопасности Kerberos, чем когда-либо прежде, это понимание откроет двери для новых карьерных путей и возможностей трудоустройства. Следующие шаги на вашем пути:
- Управление целостностью сообщения
- Шифрование с открытым ключом
- Методы предотвращения атак
- Меры реагирования на атаки
Kerberos Authentication Overview | Microsoft Learn
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
Kerberos — это протокол проверки подлинности, который используется для проверки удостоверения пользователя или узла. в этом разделе содержатся сведения о проверке подлинности Kerberos в Windows Server 2012 и Windows 8.
Описание компонента
Операционные системы Windows Server реализуют протокол проверки подлинности Kerberos версии 5 и расширения для проверки подлинности с помощью открытого ключа, переноса данных авторизации и делегирования. Клиент проверки подлинности Kerberos реализуется в качестве поставщика поддержки безопасности (SSP). Получить к нему доступ можно через интерфейс поставщика поддержки безопасности (SSPI). Начальная проверка подлинности пользователя интегрирована в архитектуру единого входа Winlogon.
Центр распространения ключей Kerberos (KDC) встроен в другие службы безопасности Windows Server, работающие на контроллере домена. Служба KDC использует базу данных доменных служб Active Directory в качестве базы данных учетных записей безопасности. Доменные службы Active Directory необходимы для реализации Kerberos по умолчанию в рамках домена или леса.
Практическое применение
Проверка подлинности Kerberos на уровне домена обеспечивает следующие преимущества.
Делегированная проверка подлинности.
службы, работающие в операционных системах Windows, могут олицетворять клиентский компьютер при доступе к ресурсам от имени клиента. Во многих случаях служба может выполнить свою работу для клиента путем доступа к ресурсам на локальном компьютере. Когда клиентский компьютер проходит проверку подлинности в службе, протоколы NTLM и Kerberos предоставляют сведения авторизации, которые требуются службе для локального олицетворения клиентского компьютера. Однако некоторые распределенные приложения спроектированы таким образом, что интерфейсная служба должна использовать удостоверение клиентского компьютера при подключении к серверным службам на других компьютерах. Проверка подлинности Kerberos поддерживает механизм делегирования, позволяющий службе действовать от имени клиента при подключении к другим службам.
Единый вход.
Использование проверки подлинности Kerberos в домене или в лесу позволяет пользователю или службе получать доступ к ресурсам, разрешенным администраторами, без многократного ввода учетных данных. После первоначального входа в систему домена через функцию Winlogon протокол Kerberos управляет учетными данными по всему лесу при каждой попытке доступа к ресурсам.
Возможность взаимодействия.
Реализация протокола Kerberos V5 Майкрософт основана на стандартных спецификациях отслеживания, рекомендованных IETF. Поэтому в операционных системах Windows протокол Kerberos лежит в основе взаимодействия с другими сетями, в которых для проверки подлинности также используется протокол Kerberos. Кроме того, корпорация Майкрософт публикует документацию «Протоколы Windows», содержащую сведения о реализации протокола Kerberos. документация содержит технические требования, ограничения, зависимости и поведение протокола, зависящего от Windows, для реализации протокола Kerberos корпорацией майкрософт.
Более эффективная проверка подлинности на серверах.
Перед применением Kerberos можно использовать проверку подлинности NTLM, которая требует подключения сервера приложений к контроллеру домена для проверки подлинности каждого клиентского компьютера или службы.
При использовании протокола Kerberos возобновляемые билеты сеанса заменяют сквозную проверку подлинности. Серверу не требуется переходить к контроллеру домена (если только не требуется проверка сертификата атрибута привилегий). Вместо этого сервер может проверить подлинность клиентского компьютера путем проверки учетных данных, предоставленных клиентом. Клиентские компьютеры могут получить учетные данные для определенного сервера однократно и затем использовать их в течение всего сеанса после входа в сеть.Взаимная проверка подлинности.
С помощью протокола Kerberos сторона на любом конце сетевого подключения может проверить, что сторона на противоположном конце является субъектом, за которого себя выдает. NTLM не позволяет клиентам проверять удостоверение сервера или включать один сервер для проверки удостоверения другого. Проверка подлинности NTLM предназначена для сетевой среды, в которой серверы считаются подлинными. В протоколе Kerberos такого допущения нет.
См. также
общие сведения о проверке подлинности Windows
Kerberos: протокол сетевой аутентификации
Kerberos: протокол сетевой аутентификации
|
Последние новости
Старые новости заархивированы.
15 ноября 2022 г. — выпущен krb5-1.20.1
Выпущен исходный код krb5-1.20.1. доступный.
15 ноября 2022 г. — выпущен krb5-1.19.4
Выпущен исходный код krb5-1.19.4. доступный.
Kerberos — это сетевой протокол аутентификации. Он предназначен для обеспечить строгую аутентификацию для клиент-серверных приложений с помощью криптография с секретным ключом. Бесплатная реализация этого протокола доступен из Массачусетса Технологический Институт. Kerberos доступен во многих коммерческих продукты также.
Интернет — небезопасное место. Многие из протоколов используемые в Интернете, не обеспечивают никакой безопасности. Инструменты для «нюхания» пароли вне сети широко используются злоумышленниками. Таким образом, приложения, отправляющие незашифрованный пароль по сеть крайне уязвима. Что еще хуже, другой клиент/сервер приложения полагаются на то, что клиентская программа будет «честной» в отношении личность пользователя, который его использует. Другие приложения полагаются на клиент ограничить свою деятельность теми, которые ему разрешено делать, без каких-либо других принудительных действий со стороны сервера.
Некоторые сайты пытаются использовать брандмауэры для решить свои проблемы с сетевой безопасностью. К сожалению, брандмауэры предположить, что «плохие парни» находятся снаружи, что часто очень плохое предположение. Большинство действительно разрушительных инцидентов с компьютером преступления совершаются инсайдерами. Брандмауэры также имеют значительное недостатком в том, что они ограничивают то, как ваши пользователи могут использовать Интернет. (В конце концов, брандмауэры — это просто менее экстремальный пример изречение, что нет ничего более безопасного, чем компьютер, который не подключен к сети — и выключен!) Во многих местах эти ограничения просто нереальны и неприемлемы.
Kerberos был создан MIT как решение для этих сетей. проблемы с безопасностью . Протокол Kerberos использует сильных криптография , чтобы клиент мог подтвердить свою личность серверу (и наоборот) через небезопасное сетевое соединение. После клиент и сервер использовали Kerberos для подтверждения своей личности, они могут также шифровать все свои сообщения, чтобы обеспечить конфиденциальность и данные добросовестность, когда они занимаются своими делами.
Kerberos находится в свободном доступе в Массачусетском технологическом институте под защитой авторских прав. разрешения очень похожи на те, что используются для операционной системы BSD и система X Window.
MIT предоставляет Kerberos в исходном виде так что любой, кто хочет использовать его, может просмотреть код для себя и убедиться, что код заслуживает доверия. Кроме того, для тех, кто предпочитает полагаться на профессиональную поддерживаемый продукт, Kerberos доступен как продукт от многих разные продавцы.Таким образом, Kerberos — это решение для вашей сетевой безопасности. проблемы. Он предоставляет инструменты аутентификации и надежные криптография по сети, чтобы помочь вам защитить вашу информацию системы во всем вашем предприятии. Мы надеемся, что вы найдете Kerberos как полезно, как это было для нас. В Массачусетском технологическом институте Kerberos оказал неоценимую помощь наша информационно-технологическая архитектура.
$Id: index.html,v 1.258 15.11.2022 16:49:20 ghudson Exp $
Все изображения и текст на этой странице защищены авторским правом MIT.
Массачусетский технологический институт Kerberos [ дом ] [ контакт ]
Что такое Kerberos? Как это работает и аутентификация Kerberos Объяснение
Киберпреступность — это печальный факт в наши дни, независимо от того, говорим ли мы о частных потребителях или деловом мире в целом. Ни одна компания или организация не находится в безопасности, и проблема не улучшится в ближайшее время. Эксперты прогнозируют, что ущерб от киберпреступлений к 2025 году обойдется миру в 25 триллионов долларов. Как будто этого недостаточно, Forbes предсказывает, что киберпреступники будут представлять все больший риск для мобильных устройств, которые сегодня используют так много людей.
Эти и многие другие прогнозы указывают на суровую реальность того, что киберпреступность никуда не денется, и проблема будет только усугубляться. Следовательно, цифровой мир стремится найти и использовать новые стратегии для усиления кибербезопасности.
Сегодня мы рассмотрим протокол проверки подлинности Kerberos. Давайте приоткроем завесу и познакомимся с этим эффективным сетевым протоколом.
Давайте начнем с основ, разобравшись, что такое Kerberos и как он работает.
Что такое Kerberos? Как работает Kerberos?
Kerberos — это протокол безопасности компьютерной сети, который аутентифицирует запросы на обслуживание между двумя или более доверенными хостами в ненадежной сети, например в Интернете. Он использует криптографию с секретным ключом и доверенную третью сторону для аутентификации клиент-серверных приложений и проверки личности пользователей.
Первоначально разработанный Массачусетским технологическим институтом (MIT) для проекта Athena в конце 80-х, Kerberos теперь является технологией авторизации по умолчанию, используемой Microsoft Windows. Реализации Kerberos также существуют для других операционных систем, таких как Apple OS, FreeBSD, UNIX и Linux.
Microsoft развернула свою версию Kerberos в Windows 2000, и она стала популярным протоколом для веб-сайтов и реализации единого входа на различных платформах. Консорциум Kerberos поддерживает Kerberos как проект с открытым исходным кодом.
Протокол получил свое название от легендарного трехголового пса Кербера (также известного как Цербер) из греческих мифов, пса-хранителя входа в подземный мир. У Кербера был змеиный хвост и особенно скверный характер, и, несмотря на одно заметное исключение, он был очень полезным охранником.
Но в случае с протоколом три главы Kerberos представляют клиента, сервер и центр распространения ключей (KDC). Последний функционирует как доверенная сторонняя служба аутентификации.
Пользователи, машины и службы, использующие Kerberos, зависят только от KDC, который работает как единый процесс, выполняющий две функции: аутентификацию и выдачу билетов. «Билеты» KDC предлагают аутентификацию для всех сторон, позволяя узлам безопасно подтверждать свою личность. Процесс аутентификации Kerberos использует обычную криптографию с общим секретом, которая предотвращает чтение или изменение пакетов, проходящих по сети, а также защищает сообщения от подслушивания и атак воспроизведения (или воспроизведения).
Теперь, когда мы узнали, что такое Kerberos, давайте теперь разберемся, для чего используется Kerberos.
Для чего используется Kerberos?
Хотя протокол Kerberos используется повсеместно в цифровом мире, он активно используется в защищенных системах, зависящих от надежных функций аудита и аутентификации. Kerberos используется в аутентификации Posix, а также в Active Directory, NFS и Samba. Это также альтернативная система аутентификации для SSH, POP и SMTP.
Что делает протокол аутентификации Kerberos?
MIT разработал этот протокол для проекта под названием Athena. Он получил свое название от трехголового пса Аида, который охранял ад в греческой мифологии. Они выбрали это имя, потому что протокол Kerberos представляет следующие три вещи:
.- Клиент
- Сетевой ресурс (сервер приложений)
- Центр распространения ключей (KDC)
С помощью этих трех компонентов Kerberos обеспечивает аутентификацию доверенных узлов в ненадежных сетях. Kerberos гарантирует, что только авторизованные пользователи могут получить доступ к сетевым ресурсам. Кроме того, он обеспечивает безопасность AAA: аутентификацию, авторизацию и учет.
Разработчики Массачусетского технологического института разработали протокол Kerberos для безопасной аутентификации в необходимых им системах. Но Kerberos также авторизовал пользователей. Развитие Kerberos произошло, когда большинство систем передавали незашифрованные пароли. Это означает, что хакеры могут получить несанкционированный доступ. Поэтому разработка Kerberos была необязательной.
Его разработчиками были С.П. Миллер, Б.К. Нойман, Дж.И. Шиллер и Дж.Х. Сальтцер.
В Kerberos KDC выдает билеты. Это позволяет различным хостам подтвердить свою личность. Кроме того, разработчики предусмотрели аутентификацию Kerberos, поддерживающую авторизацию. Это означает, что клиент, прошедший проверку подлинности Kerberos, также имеет доступ.
Преимущества аутентификации Kerberos
Kerberos обеспечивает множество преимуществ для любой системы кибербезопасности. К его преимуществам относятся:
- Эффективный контроль доступа: Kerberos предоставляет пользователям единую точку для отслеживания входа в систему и применения политики безопасности.
- Ограниченное время жизни для ключевых билетов: каждый билет Kerberos имеет метку времени, данные о сроке действия и продолжительность аутентификации, которые контролируются администратором.
- Взаимная аутентификация: сервисные системы и пользователи могут аутентифицировать друг друга.
- Повторно используемая аутентификация. Аутентификация пользователей Kerberos является многократно используемой и надежной, требуя, чтобы каждый пользователь прошел проверку системой только один раз. Пока билет действует, пользователю не нужно будет вводить свою личную информацию для целей аутентификации.
- Надежные и разнообразные меры безопасности. Протоколы аутентификации безопасности Kerberos используют криптографию, несколько секретных ключей и стороннюю авторизацию, создавая надежную и безопасную защиту. Пароли не передаются по сети, а все секретные ключи зашифрованы.
В рамках процесса изучения того, что такое Kerberos, давайте проверим поток протокола Kerberos.
Основные понятия и термины объектов Kerberos
Большинство задач Kerberos связаны с управлением паролями. Это гарантирует, что пароли не будут переданы по сети. Их не будет в клиентских системах; система отбрасывает их сразу после использования. Пароли не должны быть в виде обычного текста при сохранении. И каждый сеанс должен использовать только один пароль.
Кроме того, вся аутентификационная информация будет храниться на централизованном сервере. Это означает
- Администратор может ограничить доступ любого клиента с централизованного сервера.
- Один пароль пользователя может получить доступ ко всем службам.
- Защита информации о пользователях упрощается, так как вам нужно защитить только один сервер.
В Kerberos все объекты должны аутентифицировать друг друга по запросу.
Следующие объекты используют протоколы Kerberos:
- Субъекты Kerberos: представляют собой уникальный идентификатор, назначенный билету. Это то же самое, что и идентификатор пользователя для большинства пользователей. Kerberos идентифицирует принципала со следующей информацией: .
- Для пользователей: это имя пользователя; для хостов: слово host. А для сервисов принципалом является имя сервиса.
- Необязательный идентификатор, указывающий имя хоста
- Имя области Kerberos, в которой работает сервер Kerberos.
- Серверы приложений Kerberos: они обеспечивают доступ к ресурсам, которые нужны клиентам.
- Kerberos KDC: этот объект обеспечивает доступ к ресурсам, таким как эмуляция терминала и удаленные вычисления.
- База данных Kerberos: в этой базе данных есть записи о каждом принципале. Это централизованный репозиторий Kerberos, содержащий идентификацию клиентов и их доступ.
- Служба проверки подлинности Kerberos: эта служба предоставляет клиентам билет на предоставление билетов (TGT).
- Служба предоставления билетов Kerberos: эта служба аутентифицирует клиентов на основе TGT.
После аутентификации пользователь получает билет аутентификации. Клиент может использовать билет проверки подлинности для получения билетов для доступа к службам приложений.
Что такое Kerberos: обзор потока протокола
Вот более подробный взгляд на аутентификацию Kerberos. Мы также узнаем, как он работает, разбив его на основные компоненты.
Вот основные объекты, участвующие в типичном рабочем процессе Kerberos:
- Клиент: клиент действует от имени пользователя и инициирует связь для запроса на обслуживание
- Сервер: на сервере размещена служба, к которой пользователь хочет получить доступ .
- Сервер аутентификации (AS): AS выполняет требуемую аутентификацию клиента. Если аутентификация проходит успешно, AS выдает клиенту билет с именем TGT (Ticket Granting Ticket). Этот билет гарантирует другим серверам, что клиент аутентифицирован
- Центр распространения ключей (KDC). В среде Kerberos сервер аутентификации логически разделен на три части: базу данных (db), сервер аутентификации (AS) и сервер выдачи билетов (TGS). Эти три части, в свою очередь, существуют на одном сервере под названием Центр распространения ключей .
- Сервер предоставления билетов (TGS): TGS — это сервер приложений, который выдает билеты на обслуживание как услугу .
Теперь давайте разберем поток протокола.
Во-первых, в потоке Kerberos участвуют три важных секретных ключа. Существуют уникальные секретные ключи для клиента/пользователя, TGS и сервера, совместно используемые с AS.
- Клиент/пользователь: Хэш, полученный из пароля пользователя
- Секретный ключ TGS: Хэш пароля, используемого при определении TGS
- Секретный ключ сервера: хэш пароля, используемый для определения сервера, предоставляющего услугу.
Поток протокола состоит из следующих шагов:
Шаг 1: Первоначальный запрос проверки подлинности клиента. Пользователь запрашивает билет на предоставление билетов (TGT) с сервера аутентификации (AS). Этот запрос включает идентификатор клиента.
Шаг 2: KDC проверяет учетные данные клиента. AS проверяет базу данных на доступность клиента и TGS. Если AS находит оба значения, она генерирует секретный ключ клиента/пользователя, используя хэш пароля пользователя.
Затем AS вычисляет секретный ключ TGS и создает ключ сеанса (SK1), зашифрованный секретным ключом клиента/пользователя. Затем AS генерирует TGT, содержащий идентификатор клиента, сетевой адрес клиента, отметку времени, время жизни и SK1. Затем секретный ключ TGS шифрует билет.
Шаг 3: Клиент расшифровывает сообщение. Клиент использует секретный ключ клиента/пользователя для расшифровки сообщения и извлечения SK1 и TGT, создавая аутентификатор, который проверяет TGS клиента.
Шаг 4: Клиент использует TGT для запроса доступа. Клиент запрашивает билет у сервера, предлагающего услугу, отправляя извлеченный TGT и созданный аутентификатор в TGS.
Шаг 5: KDC создает билет для файлового сервера. Затем TGS использует секретный ключ TGS для расшифровки TGT, полученного от клиента, и извлекает SK1. TGS расшифровывает аутентификатор и проверяет, соответствует ли он идентификатору клиента и сетевому адресу клиента. TGS также использует извлеченную метку времени, чтобы убедиться, что срок действия TGT не истек.
Если процесс успешно проводит все проверки, то KDC создает ключ сеанса службы (SK2), который совместно используется клиентом и целевым сервером.
Наконец, KDC создает билет службы, который включает в себя идентификатор клиента, сетевой адрес клиента, отметку времени и SK2. Затем этот билет шифруется с помощью секретного ключа сервера, полученного из базы данных. Клиент получает сообщение, содержащее билет службы и SK2, зашифрованные с помощью SK1.
Шаг 6: Клиент использует билет файла для аутентификации. Клиент расшифровывает сообщение с помощью SK1 и извлекает SK2. Этот процесс создает новый аутентификатор, содержащий сетевой адрес клиента, идентификатор клиента и отметку времени, зашифрованный с помощью SK2, и отправляет его и билет службы на целевой сервер.
Шаг 7: Целевой сервер получает расшифровку и аутентификацию. Целевой сервер использует секретный ключ сервера для расшифровки билета службы и извлечения SK2. Сервер использует SK2 для расшифровки аутентификатора, выполняя проверки, чтобы убедиться, что идентификатор клиента и сетевой адрес клиента из аутентификатора и билета службы совпадают. Сервер также проверяет билет службы, чтобы узнать, не истек ли срок его действия.
После выполнения проверок целевой сервер отправляет клиенту сообщение, подтверждающее, что клиент и сервер аутентифицировали друг друга. Теперь пользователь может участвовать в безопасном сеансе.
Зайдя так далеко в изучении того, что такое Kerberos, давайте теперь рассмотрим тему, является ли Kerberos непогрешимым.
Как работают протоколы проверки подлинности Kerberos?
Ниже вы можете увидеть грубую версию того, как работают протоколы аутентификации Kerberos:
- Запрос сервера аутентификации: клиент запрашивает аутентификацию у KDC. Этот запрос аутентификации будет в виде обычного текста.
- Ответ сервера аутентификации: KDC отправляет TGT и ключ сеанса, если клиент существует в базе данных. Если клиент отсутствует в базе данных, аутентификация завершается ошибкой.
- Запрос сервисного билета: клиент запрашивает сервисный билет вместе с TGT, отправленным ранее KDC.
- Ответ сервисного билета: KDC отправляет билет, зашифрованный с помощью сеансового ключа. Клиент может использовать ключ сеанса, отправленный ранее KDC, для расшифровки билета службы.
- Запрос сервера приложений: клиент запрашивает доступ к серверу приложений, используя билет службы. Т
- Ответ сервера приложений: Сервер приложений аутентифицирует клиента. Он отправляет билет, который предоставит доступ к этой конкретной службе.
Билет службы имеет определенный срок действия. Вы можете использовать один и тот же билет сеанса для доступа к службам, пока не истечет срок его действия. Время жизни билета Kerberos по умолчанию составляет 600 минут.
Kerberos и другие протоколы сетевой аутентификации
Существуют и другие протоколы аутентификации помимо Kerberos; вы можете прочитать их ниже.
Kerberos и Microsoft New Technology LAN Manager (NTLM)
NTLM от Microsoft — это бывшая технология, используемая Windows. Начиная с Windows 2000, все выпуски используют Kerberos. Кроме того, в NTLM использовалась аутентификация типа «вызов-ответ». Здесь сервер задает вопрос, а клиент должен ответить.
Kerberos и упрощенный протокол доступа к каталогам (LDAP)
Используя LDAP, вы можете хранить информацию о пользователях. Более того, вы можете найти Kerberos и LDAP в одной сети: LDAP предоставляет услугу авторизации, а Kerberos выполняет аутентификацию.
Kerberos и служба удаленной аутентификации пользователей с телефонным подключением (RADIUS)
Его цель состояла в том, чтобы разрешить пользователям с коммутируемым доступом удаленный доступ к интернет-провайдерам. Однако сетевые службы используют его для учета и аутентификации вместе с Kerberos.
Безопасен ли Kerberos?
Теперь вы знаете ответ на вопрос «Что такое Kerberos?». Вам может быть интересно, безопасно ли это.
Специалисты по безопасности во всем мире считают, что Kerberos обеспечивает безопасность. Он имеет надежное шифрование для защиты данных. Однако исследователи безопасности нашли несколько способов обойти Kerberos.
- Атака с передачей ключа: Злоумышленники выдают себя за клиентов, используя их учетные данные.
- Атака с передачей билета: Злоумышленники используют билет, когда KDC отправляет билет сеанса.
- Атака с золотым билетом: Злоумышленники используют контроллеры домена Windows для создания учетных данных клиентов.
Можно ли взломать Kerberos?
Ни одна мера безопасности не может быть на 100 % защищена, и Kerberos не является исключением. Поскольку он существует так долго, у хакеров на протяжении многих лет была возможность найти способы обойти его, обычно подделывая билеты, предпринимая неоднократные попытки угадать пароли (грубая сила / вброс учетных данных) и используя вредоносное ПО для понижения уровня шифрования.
Несмотря на это, Keberos по-прежнему остается лучшим протоколом безопасного доступа, доступным на сегодняшний день. Протокол является достаточно гибким, чтобы использовать более надежные алгоритмы шифрования для борьбы с новыми угрозами, и если пользователи придерживаются правил выбора пароля, все будет в порядке!
Является ли Kerberos устаревшим?
Долговечность не означает автоматического устаревания. Несмотря на некоторые случаи, когда киберпреступники взломали Kerberos (а мы уже установили, что ни одна система безопасности не является на 100% неуязвимой), он по-прежнему активно используется и пользуется солидной репутацией.
Хотите ускорить свою карьеру в области кибербезопасности? Попробуйте ответить на этот практический тест подготовки к экзамену CISSP и узнайте, как вы понимаете концепции.
Хотите узнать больше о кибербезопасности?
Сфера кибербезопасности — обширная и разнообразная область, охватывающая множество различных тем, предметов и процедур. Если вы ищете эффективные способы улучшить свои знания в области кибербезопасности, вам следует рассмотреть некоторые из следующих вариантов.
Существует постоянный спрос на сертифицированных этичных хакеров, которые помогают тестировать системы и обнаруживать уязвимости. Ознакомьтесь с курсом этического хакерства Simplilearn и начните карьеру белого хакера. Или, может быть, вам нужны дополнительные знания по соответствующим темам ИС, таким как CompTIA Security+ или COBIT 2019..
Возможно, вы хотите изучить различные учебные курсы по информационной безопасности, такие как сертифицированный менеджер по информационной безопасности, сертифицированный специалист по безопасности облачных вычислений или сертифицированный аудитор информационных систем.
Наконец, вы можете участвовать в престижной магистерской программе Cyber Security Expert, которая охватывает многие из вышеперечисленных тем в одном удобном плане. Действительно сообщает, что специалисты по кибербезопасности в Соединенных Штатах могут зарабатывать в среднем 108 389 долларов в год, в то время как та же должность в Индии приносит среднюю годовую зарплату в размере 9 фунтов стерлингов.