IVA ДОКУМЕНТАЦИЯ ОБНОВЛЕНИЯ

Аутентификация Kerberos

Назначение

При доступе по протоколам IMAP, POP, SMTP и HTTP сервер IVA Mail поддерживает аутентификацию пользователей через Kerberos. Пользователь, который уже вошёл в домен службы каталога, получает доступ к IVA Mail без повторного ввода пароля.

Kerberos работает на основе билетов (ticket). Билеты выдаёт центр распространения ключей (KDC) службы каталога, например контроллер домена Microsoft Active Directory. Клиентское приложение предъявляет билет серверу IVA Mail, а сервер проверяет его с помощью ключа службы, общего с KDC.

Ключи служб IVA Mail хранятся в настройках домена IVA Mail. Их загружают из файла таблицы ключей (keytab), экспортированного из KDC.


Как сервер определяет пользователя

Имя принципала в Kerberos состоит из трёх частей: основа/экземпляр@ОБЛАСТЬ (primary/instance@REALM).

Получив билет Kerberos, сервер IVA Mail:

  1. Берёт экземпляр из имени принципала службы, указанного в билете, и ищет домен IVA Mail с таким именем.

  2. Ищет среди записей Kerberos этого домена запись, у которой имя принципала службы и тип шифрования совпадают с указанными в билете.

  3. Расшифровывает билет ключом найденной записи и проверяет данные аутентификации.

  4. Берёт основу из имени принципала пользователя и добавляет к ней имя домена. Получившийся адрес — имя аккаунта, к которому нужно предоставить доступ.

  5. Если такой аккаунт существует, предоставляет доступ.

Например, пользователь ivanov@AD-DOMAIN.DOM подключается по IMAP к host.ivamail.dom. Сервер найдёт домен host.ivamail.dom и предоставит доступ к аккаунту ivanov@host.ivamail.dom.

Аккаунты пользователей в IVA Mail должны иметь те же имена, что и пользователи в службе каталога. Имя хоста, по которому клиенты подключаются к IVA Mail, должно быть одним из имён домена IVA Mail.

Общая схема настройки

  1. В базе данных KDC создайте принципал для каждой службы IVA Mail, доступ к которой нужно аутентифицировать через Kerberos (см. Имя принципала службы).

  2. Экспортируйте ключи принципалов в файл keytab.

  3. Загрузите файл keytab в настройках Kerberos домена IVA Mail (см. Добавление и удаление записей).

Примеры настройки приведены в разделах Пример: Microsoft Active Directory и Пример: FreeIPA.

Имя принципала службы

Часть имени Значение

Основа (primary)

Имя службы (протокола) IVA Mail: imap — для IMAP и MAPI, smtp — для SMTP, HTTP — для веб-интерфейсов.

Экземпляр (instance)

Полное имя хоста (FQDN), по которому клиенты подключаются к домену IVA Mail. Должно совпадать с одним из имён домена IVA Mail.

Область (realm)

Имя домена службы каталога, в котором выполняется аутентификация, в верхнем регистре.

Пример: imap/host.ivamail.dom@AD-DOMAIN.DOM.

В клиентских приложениях для подключения к IVA Mail нужно использовать то же имя хоста, что указано в принципале службы.

Расположение в интерфейсе

Объекты → Домены → <домен> → Безопасность → Kerberos

На странице отображаются записи Kerberos-принципалов домена. Домен может иметь несколько записей, например по одной для каждой службы и типа шифрования.

Записи Kerberos домена
Поле Описание

Компонент

Имя принципала службы без области: служба/имя_хоста, например imap/phoenix.msk.

Тип шифрования

Код типа шифрования ключа, например 17 или 23.

Тип

Тип имени принципала.

Realm

Область Kerberos (домен службы каталога).

Версия

Номер версии ключа.

Добавление и удаление записей

Чтобы добавить записи из файла keytab:

  1. Внизу страницы нажмите Загрузить файл и выберите файл keytab.

  2. Нажмите Добавить.

Чтобы удалить запись, нажмите Удалить под ней.

Записи Kerberos домена можно также добавлять, просматривать и удалять командами CLI KerberosKeyAdd, KerberosKeyList и KerberosKeyRemove.


Пример: Microsoft Active Directory

Чтобы пользователи домена Active Directory могли входить в IVA Mail через Kerberos:

  1. В DNS (локальном или публичном) создайте A-запись, указывающую на IP-адрес домена IVA Mail.

  2. Добавьте полное имя хоста (FQDN) из A-записи в имена домена IVA Mail.

  3. В Active Directory создайте служебную учётную запись, например ivamail.

  4. На контроллере домена Active Directory создайте принципал службы и экспортируйте ключ командой ktpass:

    ktpass -princ <service>/<hostName>@<REALM> -mapuser ivamail -pass <password> -out keytab.data -crypto <encType> -ptype KRB5_NT_SRV_HST
    Параметр Значение

    <service>

    Имя службы IVA Mail: imap (IMAP и MAPI), smtp или HTTP.

    <hostName>

    Полное имя хоста, по которому клиенты подключаются к домену IVA Mail.

    <REALM>

    Полное имя домена Active Directory в верхнем регистре.

    <password>

    Пароль служебной учётной записи, из которого формируется ключ шифрования.

    <encType>

    Тип шифрования, например ALL.

    Пример:

    ktpass -princ imap/host.ivamail.dom@AD-DOMAIN.DOM -mapuser ivamail -pass 12345678 -out imap.data -crypto ALL -ptype KRB5_NT_SRV_HST

    Подробнее о параметрах см. документацию Microsoft по команде ktpass.

  5. Загрузите полученный файл в настройках Kerberos домена IVA Mail (см. Добавление и удаление записей).

Пример: FreeIPA

Чтобы пользователи FreeIPA (в том числе ALD Pro) могли входить в IVA Mail через Kerberos:

  1. В FreeIPA создайте хост с IP-адресом домена IVA Mail.

  2. Добавьте полное имя хоста (FQDN) в имена домена IVA Mail.

  3. Для хоста добавьте службы, соответствующие службам IVA Mail (imap, smtp, HTTP), или добавьте псевдонимы принципалов.

  4. Экспортируйте ключ командой ipa-getkeytab:

    ipa-getkeytab -s <FreeIPA-hostName> -p <service>/<IVAMail-hostName> -e <encType> -k keytab.data -P
    Параметр Значение

    <FreeIPA-hostName>

    Полное имя хоста сервера FreeIPA.

    <service>

    Имя службы IVA Mail: imap (IMAP и MAPI), smtp или HTTP.

    <IVAMail-hostName>

    Полное имя хоста, по которому клиенты подключаются к домену IVA Mail.

    <encType>

    Тип шифрования, например arcfour-hmac.

    -P

    Ключ формируется из пароля, который команда запрашивает при выполнении.

    Пример:

    ipa-getkeytab -s freeipa.ipadom.dom -p imap/ivamail.ipadom.dom -e arcfour-hmac -k keytab.data -P

    Подробнее о параметрах см. документацию FreeIPA по команде ipa-getkeytab.

  5. Загрузите полученный файл в настройках Kerberos домена IVA Mail (см. Добавление и удаление записей).