Выбрать главу

Резюме

Протокол DHCP может успешно использоваться как в больших, так и в малых сетях. Сосредоточив информацию о конфигурации на одном сервере, вы существенно упростите настройку сетевых средств на клиентских машинах, работающих под управлением различных операционных систем. Следует однако помнить, что сервер DHCP также необходимо настраивать и поддерживать; если такой сервер будет сконфигурирован неверно или если он выйдет из строя, клиентские машины не смогут нормально работать в сети. Сервер DHCP можно настроить так, что он будет выделять клиентам произвольные IP-адреса из пула, либо указать при настройке, что определенным узлам сети должны предоставляться фиксированные адреса. Если вы хотите, чтобы клиенты DHCP были доступны по именам, вам необходимо использовать фиксированные адреса. Доменные имена можно связывать и с динамически выделяемым IP-адресами; для этого надо организовать совместную работу серверов DHCP и DNS. Соответствующие средства реализованы в версии 3 сервера DHCP для Linux.

Глава 6

Аутентификация средствами Kerberos

В системе Linux обычно используется локальная аутентификация. Пользователь вводит имя и пароль, а компьютер ищет соответствующие данные в своей базе и принимает решение о том, следует ли зарегистрировать пользователя в системе. Подобный принцип идентификации применяется и в серверах (например, в POP- и FTP-серверах), для работы с которыми необходимо указать пароль. Если пользователи должны регистрироваться на различных компьютерах, такой подход мало приемлем, так как поддержка учетных записей на различных узлах сети отнимает у администратора слишком много времени. Более того, если пароли передаются по сети (а они часто пересылаются в незашифрованном виде), появляется реальная опасность перехвата пароля и использования его для незаконного доступа к системе. Эти проблемы призвана решить система Kerberos. В этой системе поддерживается централизованная база данных о пользователях. При выполнении аутентификации компьютеры обращаются к этой базе, а кодирование информации исключает возможность перехвата секретных данных.

На заметку

Название Kerberos пришло из греческой мифологии: так звали трехглавого пса, который охранял вход в царство мертвых. Несмотря на то что в английском языке имя этого мифологического персонажа пишется как Cerberus, разработчики использовали для своей системы греческий вариант имени. Изображение трехглавого пса можно найти на многих Web-страницах, посвященных системе Kerberos.

Для того чтобы использовать систему Kerberos, необходимо знать основные принципы ее работы, а также иметь представление о различных версиях Kerberos и их возможностях. Подобно другим службам, в системе Kerberos применяются клиент-программы и серверы. Вам, как администратору системы, надо уметь настраивать их, поэтому в данной главе рассматриваются оба типа программ.

Работа системы Kerberos основана на использовании протокола Kerberos. Это чрезвычайно сложный протокол; чтобы обеспечить его работу, надо сконфигурировать не только сервер Kerberos, но и другие клиенты и серверы, присутствующие в сети. Если вы не хотите ограничиваться установкой простейших вариантов системы Kerberos, а собираетесь решать более сложные задачи, вам придется изучить дополнительные документы, специально посвященные работе системы Kerberos. Необходимую информацию можно получить, обратившись на главный Web-узел Kerberos по адресу http://web.mit.edu/kerberos/www/. Здесь же находится большое количество ссылок на официальные и неофициальные документы, описывающие Kerberos, а также на программные реализации данного протокола.

Использование системы Kerberos

Для защиты локальной сети от нежелательных обращений извне применяются брандмауэры, которые будут обсуждаться в главе 25 (брандмауэры также защищают внешние узлы от воздействия узлов локальной сети, при настройке которых были допущены ошибки). В отличие от брандмауэров, система Kerberos представляет собой внутреннюю систему защиты. Kerberos гарантирует, что компьютерам, с которыми взаимодействуют клиенты и серверы, действительно предоставлено право обмена данными с ними. Кроме того, эта система обеспечивает защиту паролей, передаваемых по сети, а также кодирует информацию, которой внешние клиенты обмениваются с серверами локальной сети. Помимо действий по защите, Kerberos упрощает администрирование системы. При работе этой системы создается централизованная база паролей, в результате чего пользователь, зарегистрировавшись один раз, получает доступ к почтовым серверам, и другим службам сети, для работы с которыми необходимо указывать пароль.

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

Kerberos представляет собой межплатформенную систему. Клиенты и серверы Kerberos созданы для Linux и других UNIX-подобных систем, Windows, MacOS и т.д. (Система Kerberos, реализованная Microsoft, не всегда совместима со стандартной версией системы. На Web-странице Kerberos, поддерживаемой MIT, расположены ссылки на другие реализации Kerberos, которые могут работать в Windows и свободны от данного недостатка.) Межплатформенная совместимость является чрезвычайно важной характеристикой во многих средах.

Для эффективного использования Kerberos в приложениях должны быть специально предусмотрены средства взаимодействия с этой системой. Например, почтовый клиент и сервер, обменивающиеся данными по протоколу POP, должны поддерживать аутентификацию Kerberos (в противном случае им придется применять внутренние средства аутентификации). В данной главе рассматривается конфигурация системы Kerberos, предназначенной для работы в среде Linux. Несмотря на то что в реальной сети необходимо обеспечивать взаимодействие с другими операционными системами, здесь не будет рассматриваться настройка клиентов Kerberos для Windows, MacOS и других платформ.

Централизованные и распределенные вычисления

15 конце 1960-х появились системы, позволяющие нескольким пользователям работать на одном компьютере. В особенности такая тенденция стала заметной в 1980-е годы. В частности, UNIX была создана как многопользовательская система. Многопользовательские компьютеры размещались в машинном зале, а пользователи работали на алфавитно-цифровых терминалах, а впоследствии на X-терминалах, обеспечивающих работу с графикой. По мере удешевления оборудования рабочие станции стали размещать на рабочих местах пользователей. Этот процесс существенно ускорился при появлении персональных компьютеров x86.

В настоящее время во многих сетях используется децентрализованная распределенная модель вычислений; рабочие станции функционируют под управлением Windows, MacOS, Linux и других разновидностей UNIX, Основная нагрузка по обработке данных лежит именно на них, но в процессе работы эти компьютеры могут обращаться по сети к различным серверам. Подобные сети работают гораздо надежнее, чем системы с одним мэйнфреймом, так как при выходе из строя какого-либо из серверов остальная часть сети продолжает функционировать. Благодаря использованию распределенных вычислений каждый компьютер увеличивает определенную часть обрабатывающих ресурсов, как минимум на ресурсы процессора своей рабочей станции, При работе в локальной сети каждый пользователь "привязан" к своему компьютеру, поскольку именно на нем хранится информация о пользовательском имени и пароле, используемая при аутентификации. Это — одна из проблем, решаемая с помощью Kerberos.

B настоящее время компьютеры x86 обеспечивают гораздо более высокую производительность, чем мэйнфреймы, применявшиеся двадцать лет назад. В результате появилась возможность использовать их для централизованных вычислений. Часто в системе Linux выполняется большое количество пользовательских программ. Пользователи могут работать за менее мощными компьютерами, на которых выполняются программы эмуляции терминалов (эти программы будут обсуждаться в главах 13 и 14). При таком подходе снова появляются проблемы, характерные для централизованных вычислений, например, если центральный компьютер выходит из строя, остальные устройства становятся практически бесполезными. Однако, централизованный подход существенно упрощает администрирование системы, и это может рассматриваться как дополнительный аргумент в пользу применения Kerberos.