АРХИВА 10 Help

Kerberos SSO

SSO (Single Sign-On) позволяет пользователю один раз авторизоваться в домене (AD/YOUR_REALM) и далее получать доступ к АРХИВА без повторного ввода пароля. Это повышает удобство (меньше паролей), безопасность (пароли не передаются в приложения, используется Kerberos Ticket) и упрощает администрирование (централизованное управление учетными записями в Active Directory).

Как работает Kerberos SSO

Запрос доступа

Предоставляет Kerberos Ticket

Доступ предоставлен

Запрос билета

Ticket Granting Ticket TGT

Проверка билета через SPN + Keytab

Привязка

Экспорт ключей

Сервисная учётная запись

SPN

Keytab файл

Клиент: ПК или браузер в домене

Приложение

1. Сервисная учётная запись

Сервисная учётная запись — это специальная учётная запись Active Directory (AD), которую АРХИВА использует для аутентификации в домене.

2. Подготовка среды

Перед генерацией keytab-файла и настройкой АРХИВА убедитесь в следующем:

  • Наличие Windows Server (2008 или новее).

  • Установленный и настроенный Active Directory (AD).

  • Клиенты Windows, использующие SSO, должны быть включены в домен.

  • Время на клиентах и сервере синхронизировано (Kerberos крайне чувствителен к рассинхронизации).

3. Создание сервисной учётной записи в AD

Через графический интерфейс (ADUC)

  1. Откройте Active Directory Users and Computers.

  2. Перейдите в контейнер Users (или ваш собственный OU).

  3. Выберите New → User.

  4. Введите данные:

    • Full Name: SVC Kerberos AR

    • User logon name: svc-kerberos-ar

  5. Установите надежный пароль и снимите флажок “User must change password at next logon”.

  6. На вкладке Account отметьте пункт “This account supports Kerberos AES 256 bit encryption”.

Через PowerShell

New-ADUser -Name "svc-kerberos-ar" -SamAccountName "svc-kerberos-ar" ` -AccountPassword (ConvertTo-SecureString "StrongPassword123!" -AsPlainText -Force) ` -Enabled $true # Обеспечение поддержки AES256 Set-ADUser svc-kerberos-ar -Add @{msDS-SupportedEncryptionTypes=24}

4. Создание и проверка SPN

Проверка SPN

setspn -Q HTTP/ar.yourealm.com@YOU_REALM

Создание SPN

setspn -A HTTP/ar.yourealm.com YOU_REALM\svc-kerberos-ar
  • ar.yourealm.com → FQDN сервера, где установлен АРХИВА.

  • HTTP/ar.yourealm.com → principal, который будет использовать АРХИВА.

  • SPN должен быть уникальным в пределах всего AD.

5. Генерация keytab-файла

Генерация keytab

ktpass /princ HTTP/ar.yourealm.com@YOU_REALM ` /mapuser svc-kerberos-ar@YOU_REALM ` /ptype KRB5_NT_PRINCIPAL ` /crypto AES256-SHA1 ` /pass StrongPassword123! ` /out C:\temp\krb5_service.keytab

Скопируйте полученный файл krb5_service.keytab в директорию приложения:

/etc/opt/mailarchiva/ROOT/krb5_service.keytab

C:\ProgramData\MailArchiva\ROOT\conf\krb5_service.keytab

6. Проверка содержимого keytab

На Linux/Windows

ktutil -k /path/to/krb5_service.keytab list

Ожидаемый результат:

Vno Type Principal 3 aes256-cts-hmac-sha1-96 HTTP/ar.yourealm.com@YOU_REALM
  • Vno → Key Version Number (KVNO).

  • Type → тип шифрования (AES256).

  • Principal → SPN, привязанный к ключу.

7. Тестирование аутентификации через keytab

kinit -k -t /path/to/krb5_service.keytab HTTP/ar.yourealm.com@YOU_REALM klist -v
  • Убедитесь, что Ticket etype соответствует значению aes256-cts-hmac-sha1-96.

  • KVNO должен совпадать со значением в keytab.

8. Настройка клиентов (браузеров)

Internet Explorer / Edge

  1. Добавьте сайт в список Доверенных сайтов через Control Panel → Internet Options.

  2. Если используется HTTP, убедитесь, что HTTPS не установлен как обязательный.

  3. Настройте уровень безопасности для данной зоны.

Edge

  1. Перейдите в Настройки → Конфиденциальность, поиск и службы.

  2. Разрешите использование Windows Authentication.

  3. Перезапустите браузер.

Проверка

  • Попробуйте открыть АРХИВА с компьютера, входящего в домен.

  • Аутентификация должна произойти автоматически, без запроса пароля.

  • Для глубокой диагностики используйте команду klist и просмотрите журналы событий.

9. Настройка Tomcat для SSO (опционально)

При переходе с версий ниже 10 для стабильной работы SSO может потребоваться редактирование server.xml.

  1. Остановите сервис АРХИВА.

  2. Откройте файл server.xml любым текстовым редактором:

    /var/opt/mailarchiva/tomcat/server.xml

    C:\ProgramData\MailArchiva\Tomcat\conf\server.xml

  3. Найдите блоки <Connector port="8080" и/или <Connector port="443" и добавьте в них параметр maxHttpHeaderSize="65536". Это увеличит допустимый размер заголовков.

    <Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="65536" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000"/> <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxHttpHeaderSize="65536" maxThreads="150" SSLEnabled="true" maxParameterCount="1000"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"/> <SSLHostConfig> <Certificate certificateKeystoreFile="/path/to/keystore.jks" certificateKeystorePassword="password" keyAlias="alias" keyPass="password" type="RSA"/> </SSLHostConfig> </Connector>
  4. Запустите сервис АРХИВА.

Итог

  • Сервисная учётная запись → средство идентификации АРХИВА в AD.

  • SPN → связывает учетную запись с сетевым сервисом.

  • Keytab → хранилище секретного ключа (AES256) для реализации SSO.

  • KVNO должен быть актуальным и совпадать с данными в AD.

  • При смене пароля сервисного аккаунта keytab-файл необходимо перегенерировать.

  • Tomcat требует увеличения параметра maxHttpHeaderSize.

  • Клиенты должны находиться в домене и иметь соответствующие настройки браузера.

27 August 2026