Сетевые средства Linux
Шрифт:
3. KDC ищет имя пользователя в базе данных. Если имя присутствует в ней, KDC возвращает В этом билете содержится имя пользователя, которому он предназначен, время выдачи билета и время, в течение которого он остается действительным. кодирует используя для этого пароль, содержащийся в базе данных, и передает его клиенту.
4. Клиент получает TGT и расшифровывает его с помощью пароля, введенного пользователем. Если попытка расшифровки оказывается успешной, клиент сохраняет билет для дальнейшей работы. Все действия с билетом остаются прозрачными для пользователя.
5. Используя данные, содержащиеся в билете, клиент отправляет KDC запрос на получение такого билета, который давал бы возможность взаимодействовать с требуемым
6. Клиент принимает билет на получение услуг, но не предпринимает попытки расшифровать его (действия с этим билетом также прозрачны для пользователя).
7. Клиент передает билет на получение услуг целевому серверу. Этот билет рассматривается как запрос на инициализацию сеанса передачи данных.
8. Сервер расшифровывает билет, пользуясь для этого паролем. Попытка расшифровки будет успешной только в том случае, если билет был корректно закодирован KDC. Если запрос корректен (билет получен от действительного пользователя, успешно расшифрован и т.д.), сервер использует код сеанса для кодирования ответа клиенту.
9. Клиент получает ответ сервера. Если данные корректны, клиент предполагает, что сервер аутентифицирован, завершает процедуру установления соединения и начинает передачу информации. Информация передается только в том случае, если от сервера получен допустимый ответ.
С этого момента процесс обмена данными происходит так, как будто система Kerberos не используется, за исключением того, что в составе керберизованных приложений действуют средства кодирования и декодирования данных (в обычных приложениях такие средства отсутствуют). Со временем срок действия TGT и билета на получение услуг истекает, но это вряд ли повлияет на обмен информацией, так как срок действия билетов обычно устанавливается равным нескольким часам. Если же такая ситуация возникла в течение сеанса, билеты должны быть обновлены.
Как видно из описанной выше процедуры, в составе билетов содержатся временные отметки. Если таймеры компьютеров, участвующих во взаимодействии, установлены по-разному, обмен данными может не состояться. В некоторых случаях несоответствие системного времени может привести к снижению уровня безопасности системы. Поэтому необходимо синхронизировать таймеры на всех компьютерах, входящих в состав сети Kerberos. Сделать это можно с помощью сервера NTP (Network Time Protocol — сетевой протокол времени), описанного в главе 10.
Требования к серверу Kerberos
Зная принципы работы системы Kerberos, можно сформулировать требования к ее компонентам. Очевидно, что с точки зрения безопасности сети KDC является чрезвычайно важным компонентом системы. Доступ к серверу (равно как и физический доступ к компьютеру, на котором он выполняется) должен иметь только администратор системы. Необходимо уделять внимание своевременному обновлению версий программного обеспечения. Поскольку KDC используется в работе многих серверов, необходимо продумать план его восстановления в случае неисправности. Создавайте резервные копии данных KDC и держите наготове компьютер, где можно было бы запустить KDC в случае выхода из строя машины, на которой
Характеристики аппаратных средств, необходимых для работы KDC, определяются размерами сети, а именно числом компьютеров и пользователей. Для небольших сетей, насчитывающих порядка двух десятков узлов, для KDC подойдет низкоуровневый компьютер. Система, содержащая процессор Pentium с низким быстродействием, 32 Мбайт оперативной памяти и жесткий диск объемом в несколько сотен мегабайт, будет более чем достаточна для работы KDC в такой сети. Если же к сети подключены сотни, а тем более тысячи машин, потребуется более мощный компьютер, обладающий быстродействующим процессором и обеспечивающий высокую скорость обмена по сети. Размещая KDC в сети, надо выбрать его расположение так, чтобы обеспечивалась максимальная надежность, а время доставки данных клиентам и серверам было минимальным. Например, если сеть состоит из нескольких отдельных сегментов, желательно поместить в каждом из сегментов свой KDC. Если один KDC будет обслуживать несколько сетевых сегментов, то при сбое в работе маршрутизаторов взаимодействие клиентов с серверами станет невозможным.
Версии и разновидности Kerberos
Наибольшей популярностью пользуется пакет Kerberos, доступный по адресу
Подобно X Window, Kerberos распространяется в исходных кодах. Кроме того, существуют варианты системы, созданные на основе кода MIT, которые предоставляются на коммерческой основе. Одна из разновидностей Kerberos создана в Швеции Королевским технологическим институтом (Royal Institute of Technology) и доступна по адресу
Центр параллельных вычислений (Center for Parallel Computers) реализовал систему Kerberos, известную под названием Heimdal; ее коды расположены по адресу
В настоящее время средства поддержки Kerberos включаются в состав большинства дистрибутивных пакетов Linux. В частности, Debian 2.2 комплектуется eBones и Heimdal, в состав Mandrake 8.1 и Red Hat 7.2 входит Kerberos V5, a SuSE 7.3 комплектуется Heimdal. В поставку систем Caldera 3.1, Slackware 8.0 и TurboLinux 7.0 средства Kerberos не входят, но вы можете включить их, скомпилировав исходные коды либо установив пакет, предназначенный для другой версии Linux.