Как настроить сервер и клиент Kerberos в Ubuntu 18.04 LTS
На этой странице
- Шаг 1. Настройка полного доменного имени
- Шаг 2. Установите сервер KDC Kerberos
- Шаг 3. Настройка сервера KDC Kerberos
- Шаг 4. Установка и настройка клиента Kerberos
- Шаг 5. Тестирование
- Справочник
Kerberos — это протокол сетевой аутентификации, использующий криптографию с симметричным ключом и требующий авторизации от доверенной третьей стороны для аутентификации клиент-серверных приложений. Первоначально он был разработан Массачусетским технологическим институтом (MIT) для защиты сетевых сервисов, предоставляемых проектом Athena.
В современном мире Kerberos часто используется в качестве сторонней службы аутентификации. Это означает, что все клиенты доверяют суждению Kerberos о личности другого клиента.
В этом руководстве мы покажем вам, как настроить аутентификацию Kerberos между двумя серверами Ubuntu 18.04. Мы установим и настроим сервер Kerberos на сервере Ubuntu, а затем установим клиент Kerberos на другом. Наконец, мы проверим аутентификацию службы SSH на сервере Kerberos.
Предпосылки
- Сервер Ubuntu 18.04
- 10.10.10.15 krb5.ahmad.io krb5
- 10.10.10.16 client1.ahmad.io client1
Что мы будем делать:
- Настройка файла полного доменного имени
- Установите сервер KDC Kerberos
- Настройка сервера KDC Kerberos
- Установка и настройка клиента Kerberos
- Тестирование
Шаг 1. Настройте полное доменное имя
Прежде всего, мы должны настроить полное доменное имя на сервере Kerberos, а затем отредактировать файл /etc/hosts сервера.
Измените полное доменное имя сервера Kerberos с помощью следующей команды.
hostnamectl set-hostname krb5.ahmad.io
После этого отредактируйте файл /etc/hosts с помощью редактора vim.
vim /etc/hosts
Измените IP-адрес и полное доменное имя на свои собственные и вставьте их.
10.10.10.15 krb5.ahmad.io krb5
Сохранить и закрыть.
Теперь проверьте с помощью приведенной ниже команды ping и убедитесь, что полное доменное имя разрешено в правильный IP-адрес.
ping -c 3 $(hostname -f)
Шаг 2. Установите сервер KDC Kerberos.
Теперь собирались установить сервер Kerberos на сервер krb5 с IP-адресом 10.10.10.15 и полным доменным именем krb5.ahmad.io.
Установите сервер Kerberos с помощью следующей команды apt.
sudo apt install krb5-kdc krb5-admin-server krb5-config -y
Во время установки вас спросят о сфере Kerberos, сервере Kerberos области и сервере администратора.
По умолчанию Kerberos будет использовать доменное имя сервера Kerberos в качестве REALM, AHMAD.IO.
Сервер Kerberos — krb5.ahmad.io.
И сервер администратора такой же, как сервер Kerberos krb5.ahmad.io.
После завершения установки вам будет показано, что служба Kerberos не запускается. Это нормально, потому что мы настроим на следующем этапе.
Шаг 3. Настройка сервера KDC Kerberos
Теперь сгенерируйте новый надежный мастер-пароль для области Kerberos REALM, используя следующую команду.
sudo krb5_newrealm
Введите надежный пароль, и пароль REALM будет сгенерирован в файле /etc/krb5kdc/stash.
После этого нам нужно создать пользователя-администратора (администратора) для сервера KDC Kerberos, добавить имя хоста сервера Kerberos в базу данных, а затем создать keytab для сервера Kerberos.
Запустите интерфейс командной строки kadmin.local для команды администрирования Kerberos ниже.
sudo kadmin.local
Создайте нового пользователя-администратора с именем root.
addprinc root/admin
Введите надежный пароль для администратора root.
Добавьте сервер KDC Kerberos в базу данных и создайте файл keytab для узла KDC.
addprinc -randkey host/krb5.ahmad.io
ktadd host/krb5.ahmad.ioЗатем закройте утилиту kadmin.local.
quit
Далее нам необходимо добавить принцип root admin в список управления доступом, отредактировав файл /etc/krb5kdc/kadm5.acl.
vim /etc/krb5kdc/kadm5.acl
Добавьте следующую конфигурацию.
root/admin *
Сохраните и закройте конфигурацию, затем перезапустите службу Kerberos.
sudo systemctl restart krb5-admin-server.service
И настройка сервера KDC Kerberos завершена.
Шаг 4. Установите и настройте клиент Kerberos.
На этом этапе мы собирались установить клиент Kerberos на сервер Ubuntu с IP-адресом 10.10.10.16 и именем хоста client1.
- Настроить полное доменное имя
Настройте полное доменное имя на клиентском компьютере с помощью следующей команды.
hostnamectl set-hostname client1.ahmad.io
После этого отредактируйте файл /etc/hosts с помощью редактора vim.
vim /etc/hosts
Вставьте сервер KDC Kerberos и клиент, как показано ниже.
10.10.10.15 krb5.ahmad.io krb5
10.10.10.16 client1.ahmad.io client1Сохранить и закрыть.
- Установите клиент Kerberos
Установите клиентские пакеты Kerberos, выполнив следующую команду apt.
sudo apt install -y krb5-user libpam-krb5 libpam-ccreds auth-client-config
Во время установки вас спросят о сфере Kerberos, сервере Kerberos области и сервере администратора.
По умолчанию Kerberos будет использовать доменное имя сервера Kerberos в качестве REALM, AHMAD.IO.
Сервер Kerberos — krb5.ahmad.io.
И сервер администратора такой же, как сервер Kerberos krb5.ahmad.io.
На этом установка клиента Kerberos завершена.
- Настройка клиента Kerberos
С клиентского компьютера подключитесь к серверу KDC Kerberos с помощью команды kadmin.
kadmin
И вас попросят ввести пароль по принципу root/admin. Введите пароль, и вы войдете в систему администрирования KDC Kerberos.
Теперь добавьте полное доменное имя клиента client1.ahmad.io в базу данных Kerberos и добавьте файл keytab для клиента.
addprinc -randkey host/client1.ahmad.io
ktadd host/client1.ahmad.ioЗатем закройте интерфейс администрирования kadmin Kerberos.
quit
На этом настройка клиента Kerberos завершена.
Шаг 5 - Тестирование
Для этой цели тестирования мы собирались настроить SSH-аутентификацию с использованием Kerberos. Клиентская машина client1.ahmad.io подключится к серверу krb5.ahmad.io через SSH с аутентификацией Kerberos.
- Настройка сервера krb5.ahmad.io
Создайте нового системного пользователя с именем ammar.
useradd -m -s /bin/bash ammar
Войдите в систему администрирования KDC Kerberos и добавьте нового главного пользователя с именем ammar.
kadmin.local
addprinc ammarЗакройте интерфейс администрирования Kerberos и отредактируйте конфигурацию ssh /etc/ssh/sshd_config.
vim /etc/ssh/sshd_config
Раскомментируйте GSSAPIAuthentication и включите его, изменив значение на .
GSSAPIAuthentication yes
GSSAPICleanupCredentials yesСохраните и закройте конфигурацию, затем перезапустите службу ssh.
systemctl restart sshd
- Настройка машины client1.ahmad.io
Добавьте нового системного пользователя ammar на клиентский компьютер и войдите в него.
useradd -m -s /bin/bash ammar
su - ammarПосле этого инициализируйте ammar основного пользователя Kerberos.
kinit ammar
Введите пароль пользователя и после этого проверьте доступный билет с помощью следующей команды.
klist
И вам будет показан следующий результат.
Теперь вы можете подключиться к серверу krb5.ahmad.io, используя аутентификацию SSH Kerberos.
ssh krb5.ahmad.io
И вы будете подключены к серверу krb5.ahmad.io через SSH с аутентификацией Kerberos.
Ниже приведен журнал SSH после входа на сервер.
Наконец, установка и настройка сервера и клиента Kerberos в Ubuntu 18.04 успешно завершена.
Ссылка