Поиск по сайту:

Как настроить сервер и клиент Kerberos в Ubuntu 18.04 LTS


На этой странице

  1. Шаг 1. Настройка полного доменного имени
  2. Шаг 2. Установите сервер KDC Kerberos
  3. Шаг 3. Настройка сервера KDC Kerberos
  4. Шаг 4. Установка и настройка клиента Kerberos
  5. Шаг 5. Тестирование
  6. Справочник

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

    Что мы будем делать:

    1. Настройка файла полного доменного имени
    2. Установите сервер KDC Kerberos
    3. Настройка сервера KDC Kerberos
    4. Установка и настройка клиента Kerberos
    5. Тестирование

    Шаг 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 успешно завершена.

    Ссылка