Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Ссылки по теме

О Kerberos

Kerberos - это протокол аутентификации, который испольщует комбинацию криптографии и третьей доверенной стороны для безопасной аутетификации по сети через недоверенный канал передачи данных. Дополнительная информация о протоколе Kerberos доступна на сайте MIT's Kerberos site. Статья Designing an Authentication System представляет собой оипсание принципов, лежащих в основе схеме аутентификации Kerberos.

Эта статья предназначена для системных администраторов, которые хотят настроить Kerberos-аутентификацию с использованием токенов Рутокен.

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

Microsoft's Active Directory - это одна из закрытых реализаций Kerberos аутентификации. Данная инструкция содержит несколько советов по конфигурации интеграции с Active Directory. В среде Active, KDC это обычно один из сервисов предоставляемы Domain Controller (DC). Если вы хотите настроить интеграцию с Active Directory Domain, то вы можете переходить к разделу Настройка клиента.

Перед установкой

Центральной частью схемы аутентификации Kerberos является третья доверенная сторона - Key Distribution Center (KDC), которая является централизованным хранилище информации о пользователях. Перед разворачиванием Kerberos, должен быть выбран сервер, который будет выполнять роль KDC. Физическая и сетевая безопасность критичны для этого сервера, так как его компрометация ведет к компрометации всего realm.   

Выбор хорошего имени для realm так же важен. По правилам, имя realm это доменное имя сайта в верхнем регистре. Например, для сайта или доменной зоны example.com рекомендуется выбрать EXAMPLE.COM в качестве имени realm.

Предварительные требования

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

Host Names

Каждый сервер внутри Kerberos realm должен иметь Fully Qualified Domain Name (FQDN).   

Kerberos так же ожидает, что FQDN сервера является reverse-resolvable. Если выяснение доменного имени по IP недостпно, то установите значение переменной rdns в значение false на клиентах в файле krb5.conf

Active Directory сильно зависит от DNS, поэтому весьма вероятно что ваш Active Directory Domain Controller уже имеет роль DNS. В этом случае убедитесь в том, что каждый сервер имеет свое FQDN перед выполнением тестов, описанных ниже в этом разделе.

Если сервер уже имеет назначенное FQDN, проверьте коректность обнаружение forward и reverse выполнив следующие команды:   

 $ nslookup server.example.com
 $ nslookup <server ip address>

  

Если вы используете Astra Linux (или другой дистрибутив), то для установки программы nslookup, вам необходимо установить пакет dnsutils.

Вы можете воспользоваться Synaptic Package Manager или выполнить из командной строки    $apt-get install dnsutils

Вывод первой команды должен содержать IP адрес сервера. Вывод второй команды должен содержать FQDN сервера.   

Если у сервера нет назначенного FQDN и сервис DNS не доступен, то вы можете отредактировать локальные файлы hosts (обычно они находятся в /etc) на каждом сервере и клиенте добавив туда следующую строку: 

 127.0.0.1 linuxwork.example.com localhost linuxwork

 

После этого проверьте работу локальных DNS имен используя команду nslookup как показано выше.

Connectivity

To verify connectivity between hosts, ping each host's FQDN:   

 

 $ ping kerberos.example.com
 
 PING kerberos.example.com (10.0.0.1) 56(84) bytes of data.
 64 bytes from kerberos.example.com (10.0.0.1): icmp_seq=1 ttl=128 time=0.176ms

  

The output of the ping command shows successful resolution of the FQDN to an IP Address, and a sample reply from the server. A reply from the server serves as confirmation that the host and the server can communicate.   

Connectivity failures while pinging the KDC's FQDN usually point to DNS server or client configuration errors. See the Network Configuration for information on correct network settings.   

 

Time Synchronization

 

The Kerberos protocol requires the time of the client and server to match: if the system clocks of the client does not match that of the server, authentication will fail. The simplest way to synchronize the system clocks is to use a Network Time Protocol (NTP) server. See UbuntuTime for details.   

Note: Active Directory Domain Controllers are typically also NTP servers.   

 

Firewalls

 As with all network services, Kerberos must be allowed to pass through any firewalls between hosts. The Kerberos System Administration Manual has a detailed section on this topic.

  • No labels