Настройка SSL- подключения к Active Directory

Если вы хотите настроить соединение чтения / записи с Microsoft Active Directory, вам необходимо установить сертификат SSL, сгенерированный сервером Active Directory, на ваш JIRA-сервер, а затем установить сертификат в хранилище ключей JVM.

 Существует плагин SSL Confluence, который облегчает этот процесс.

Обновление сведений о пользователе, группе и членстве в Active Directory требует, чтобы ваше приложение Atlassian запускалось в JVM, которое доверяет AD-серверу. Для этого мы создаем сертификат на сервере Active Directory, а затем импортируем его в хранилище ключей Java.

Предпосылки

Чтобы создать сертификат, вам понадобятся следующие компоненты, установленные на контроллере домена Windows, к которому вы подключаетесь.

 

 Требуемый компонент

 

 Описание

 Информационные службы Интернета (IIS)

Это необходимо, прежде чем вы сможете установить службы сертификации Windows.

 Службы сертификатов Windows

Это устанавливает центр сертификации (CA), который используется для  сертификатов запросов. Шаг 1, ниже, объясняет этот процесс.

 Windows 2000 с пакетом обновления 2

Требуется, если вы используете Windows 2000

 Windows 2000 Высокий (128-битовый) Пакет Кодирования

Требуется, если вы используете Windows 2000. Обеспечивает самый высокий доступный уровень шифрования (128 бит).

 

Шаг 1. Установите службы сертификации Active Directory

Если службы сертификации уже установлены, перейдите к шагу 2 ниже. Скриншоты ниже приведены с сервера 2008, но процесс похож на сервер 2000 и 2003.

  1. Войдите в систему на своем сервере Active Directory в качестве администратора.
  2. Нажмите кнопку «Пуск» (Start), выберите «Администрирование» (Administrative Tools) и нажмите «Диспетчер серверов» (Server Manager).
  3. В разделе «Сводка ролей» (Roles Summary) нажмите «Добавить роли» (Add Roles).

  1. На странице «Выбор ролей сервера» (Select Server Roles) установите флажок «Службы сертификатов Active Directory» (Active Directory Certificate Services). Дважды нажмите «Далее» (Next).

  1. На странице «Выбор служб ролей» (Select Role Services) установите флажок «Центр сертификации» (Certification Authorit) и нажмите «Далее» (Next).

  1. На странице «Укажите тип установки» (Specify Setup Type) нажмите «Предприятие» (Enterprise), а затем нажмите «Далее» (Next).

  1. На странице «Укажите тип CA (центр сертификации (CA))» (Specify CA Type),» нажмите «Корневой CA (центр сертификации (CA))» (Root CA), а затем нажмите «Далее» (Next).

  1. На странице «Настройка секретного ключа» (Set Up Private Key) и «Конфигурации криптографии для CA» (Configure Cryptography for CA)  вы можете настроить дополнительные параметры конфигурации, включая поставщиков криптографических услуг. Однако значения по умолчанию должны быть точными. Дважды нажмите «Далее» (Next).

  1. В «Общем имени» этого поля CA (центр сертификации (CA)) (Common name for this CA) введите общее имя центра сертификации и нажмите «Далее» (Next).

      

  1. На странице «Установить срок действия» (Set Validity Period) принимайте значения по умолчанию или укажите другие места хранения для базы данных сертификатов и журнала базы данных сертификатов, а затем нажмите «Далее» (Next).

  1. После проверки информации на странице «Подтвердить выбор установки» (Confirm Installation Selections) нажмите «Установить» (Install).

  1. Просмотрите информацию на экране результатов, чтобы убедиться, что установка прошла успешно.

Шаг 2. Получите сертификат сервера

В приведенных выше шагах описано, как установить центр сертификации (CA) на сервере Microsoft Active Directory. Затем вам нужно будет добавить сертификат SSL сервера Microsoft Active Directory в список принятых сертификатов, используемых JDK, который запускает ваш сервер приложений.

Сертификат Active Directory автоматически создается и помещается в корневой каталог диска C: \, соответствующий формату файла, аналогичному древовидной структуре сервера Active Directory. Например:

c:\ad2008.ad01.atlassian.com_ad01.crt.

Вы также можете экспортировать сертификат, выполнив эту команду на сервере Active Directory:


certutil -ca.cert client.crt

Вы, возможно, все еще не прошли проверку подлинности, используя файл сертификата выше. В этом случае может помочь страница сертификата Microsoft LDAP через SSL (LDAPS). Обратите внимание, что вам необходимо:

  1. Выбрать «Нет, не экспортировать закрытый ключ» на шаге 10 «Экспорт сертификата LDAPS» и «Импорт» для использования с разделом AD DS
  2. Выбрать «DER закодированный двоичный файл X.509 (.CER)» (DER encoded binary X.509 (.CER)) на шаге 11 «Экспорт сертификата LDAPS и импорт» для использования с разделом AD DS. Этот файл будет использоваться на следующем шаге.

Шаг 3. Импортируйте сертификат сервера

Чтобы сервер приложений мог доверять сертификату своего каталога, сертификат должен быть импортирован в среду выполнения Java. JDK хранит доверенные сертификаты в файле, называемом хранилищем ключей. Файл хранилища по умолчанию называется cacerts, и он живет в подкаталоге jre \ lib \ security вашей установки Java.В следующих примерах мы используем server-certificate.crt для представления файла сертификата, экспортированного вашим сервером каталогов. Вам нужно будет изменить приведенные ниже инструкции, чтобы они соответствовали фактически созданному имени.После того как сертификат был импортирован в соответствии с приведенными ниже инструкциями, вам необходимо перезапустить приложение, чтобы получить изменения.

Windows

  1. Перейдите в каталог, в котором установлена Java. Вероятно, это называется

C:\Program Files\Java\jdk1.5.0_12.


cd /d C:\Program Files\Java\jdk1.5.0_12

  1. Выполните приведенную ниже команду, где server-certificate.crt - это имя файла с вашего сервера каталогов:

keytool -importcert -keystore .\jre\lib\security\cacerts -file server-certificate.crt

  1. keytool запросит пароль. Пароль ключевого хранилища по умолчанию - changeit.
  2. При запросе Доверять этому сертификату? [no]: введите yes для подтверждения импорта ключа:

Введите пароль хранилища ключей: changeit
Владелец: CN = ad01, C = США
Эмитент: CN = ad01, C = США
Серийный номер: 15563d6677a4e9e4582d8a84be683f9
Действительно с: Вт Авг 21 01:10:46 ACT 2007 до: Вт Авг 21 01:13:59 ACT 2012
Отпечатки сертификата:
    MD5: D6: 56: F0: 23: 16: E3: 62: 2C: 6F: 8A: 0A: 37: 30: A1: 84: BE 
    SHA1: 73: 73: 4E: A6: A0: D1: 4E: F4: F3: CD: CE: BE: 96: 80: 35: D2: B4: 7C: 79: C1 
Доверять этому сертификату? [нет]: да 
Сертификат был добавлен в хранилище ключей 

Теперь вы можете изменить «URL», чтобы использовать LDAP через SSL (т. Е. Ldaps: // <HOSTNAME>: 636 /) и использовать параметр «Безопасный SSL» (Secure SSL) при подключении приложения к серверу каталогов.

UNIX

  1. Перейдите в каталог, в котором установлена Java, используемая JIRA. Если используется установка JAVA по умолчанию, то это будет

cd $ JAVA_HOME

 

  1. Выполните приведенную ниже команду, где server-certificate.crt - это имя файла с вашего сервера каталогов:

sudo keytool -importcert -keystore ./jre/lib/security/cacerts -file server-certificate.crt

  1. keytool запросит пароль. Пароль ключевого хранилища по умолчанию - changeit.
  2. При запросе Подтвердите этот сертификат? [no]: введите yes для подтверждения импорта ключа:

Password:
Enter keystore password:  changeit
Owner: CN=ad01, C=US
Issuer: CN=ad01, C=US
Serial number: 15563d6677a4e9e4582d8a84be683f9
Valid from: Tue Aug 21 01:10:46 ACT 2007 until: Tue Aug 21 01:13:59 ACT 2012
Certificate fingerprints: 
         MD5: D6:56:F0:23:16:E3:62:2C:6F:8A:0A:37:30:A1:84:BE 
         SHA1: 73:73:4E:A6:A0:D1:4E:F4:F3:CD:CE:BE:96:80:35:D2:B4:7C:79:C1 
Trust this certificate? [no]: yes 
Certificate was added to keystore

Теперь вы можете изменить «URL», чтобы использовать LDAP через SSL (т. е. Ldaps: // <HOSTNAME>: 636 /) и использовать параметр «Безопасный SSL» (Secure SSL) при подключении приложения к серверу каталогов.

Mac OS X

  1. Перейдите в каталог, в котором установлена Java. Это обычно

cd / Library / Java /Home

  1. Выполните приведенную ниже команду, где server-certificate.crt - это имя файла с вашего сервера каталогов:

sudo keytool -importcert -keystore ./jre/lib/security/cacerts -file server-certificate.crt

  1. keytool запросит пароль. Пароль ключевого хранилища по умолчанию - changeit.
  2. При запросе Подтвердите этот сертификат? [no]: введите yes для подтверждения импорта ключа:

Password:
Enter keystore password: changeit
Owner: CN=ad01, C=US
Issuer: CN=ad01, C=US
Serial number: 15563d6677a4e9e4582d8a84be683f9
Valid from: Tue Aug 21 01:10:46 ACT 2007 until: Tue Aug 21 01:13:59 ACT 2012
Certificate fingerprints:
         MD5:  D6:56:F0:23:16:E3:62:2C:6F:8A:0A:37:30:A1:84:BE
         SHA1: 73:73:4E:A6:A0:D1:4E:F4:F3:CD:CE:BE:96:80:35:D2:B4:7C:79:C1
Trust this certificate? [no]:  yes
Certificate was added to keystore

Теперь вы можете изменить «URL», чтобы использовать LDAP через SSL (т. Е. Ldaps: // <HOSTNAME>: 636 /) и использовать параметр «Безопасный SSL» (Secure SSL) при подключении приложения к серверу каталогов.

ПОХОЖИЕ ТЕМЫ

Подключение к каталогу LDAP

Настройка пользовательских каталогов

 

По материалам Atlassian JIRA Administrator's Guide: Configuring an SSL Connection to Active Directory