Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Чтобы убедиться в том, что на вашей системе предложенное решение будет работать, требуется удостовериться, что она поддерживает работу со следующими пакетами:
n Samba 3;
n Kerberos 5;
n Библиотеки PAM.
Если эти программные пакеты работают, то с большой вероятностью можно сказать, что и предложенная связка заработает, все зависит только от вас.
Алгоритм Kerberos
Информация, которую UNIX-машина получает от контроллера домена, не должна ходить по сети в открытом виде, так как она представляет большую ценность как для получателя, так и для возможных злоумышленников, поэтому для поддержания должного уровня безопасности системы в любом случае нужно использовать какую-либо криптографическую схему. В среде Windows ею является Kerberos5.
В реальной жизни два человека могут быть уверены в личности друг друга при наличии паспортов у обоих. В данной ситуации человек доверяет не собеседнику, а паспортному столу, выдавшему документ. Это позволяет ему удостовериться в том, что он говорит именно с тем, кем является собеседник на самом деле. В Kerberos используется такая же схема: между сервером и клиентом есть посредник под названием Центр распределения ключей (KDC, Key Distribution Center), которому доверяют оба компьютера. KDC также известны их секретные ключи. Криптографический алгоритм, в котором они используются, является симметричным, т.е. один и тот же ключ может быть использован как для кодирования, так и для декодирования сообщения.
Для начала KDC и клиент должны удостовериться в личности друг друга:
n Клиент шлет KDC сообщение, в котором указывает свое имя открытым текстом и зашифрованный секретным ключом блок данных (аутентификатор) с двумя полями: именем и текущим временем.
n KDC расшифровывает этот блок известным ему ключом клиента и сравнивает время, извлеченное из аутентификатора, с локальным. Если разница между ними составляет менее двух минут, то он может быть уверен в том, что клиент знает секретный ключ.
n KDC отправляет клиенту точно такой же ответ с зашифрованным блоком – своим именем и временем из первого запроса. Первое поле здесь необходимо для того, чтобы избежать возможности простого копирования злоумышленником аутентификатора из запроса клиента.
n Клиент дешифрует полученный ответ, и если время из него совпадает с отправленным, то и клиент, и KDC могут быть уверены в личности друг друга.
Далее, если клиент хочет обратиться к серверу:
n Клиент отправляет запрос на подключение к серверу.
n KDC отправляет ему в ответ сеансовый ключ (ключ, который будет использоваться в дальнейшем для идентификации клиента) и блок данных под названием сеансовый мандат (session ticket), в составе которого есть тот же сеансовый ключ для сервера и информация о клиенте. Мандат шифруется секретным ключом сервера, а все сообщение – секретным ключом клиента.
n Клиент извлекает из ответа сеансовый мандат и свою копию сеансового ключа. При обращении к серверу он отправляет ему сеансовый мандат, по-прежнему зашифрованный секретным ключом сервера, и свой аутентификатор, зашифрованный сеансовым ключом.
n Сервер, получив сообщение клиента, извлекает из мандата сеансовый ключ, которым расшифровывает аутентификатор клиента. Если время, извлеченное из него, соответствует текущему, то сервер может быть уверен в личности клиента.
Для того чтобы клиент постоянно не использовал свой секретный ключ для связи с Центром распределения ключей, KDC выдает ему мандат на выдачу мандатов (ticket granting ticket, TGT):
n Клиент посылает запрос KDC.