АРХИВА 10 Help

Kerberos SSO

SSO (Single Sign-On) позволяет пользователю один раз авторизоваться в домене (AD/YOU_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. Убедитесь, что HTTPS не обязателен (если используется HTTP).

  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.

  • Клиенты должны быть в домене и правильно настроены.

03 September 2025