Вы можете использовать SSL с приложениями Atlassian; однако конфигурация SSL выходит за рамки поддержки Atlassian.

  • Если вам нужна помощь в конвертации сертификатов, обратитесь к поставщику, предоставившему сертификат.
  • Если вам нужна помощь в настройке SSL, создайте вопрос в сообществе Atlassian.

Обратите внимание, что SHA-1 постепенно прекращается из-за известных слабых мест.

Инструкции на этой странице описывают, как запускать приложения Jira через SSL или HTTPS, настроив Apache Tomcat с помощью HTTPS. Эта процедура охватывает только общие типы установки Jira. Это ни в коем случае не является окончательным или исчерпывающим руководством по настройке HTTPS и может не применяться к вашей среде.

 

Зачем вам запускать Jira через SSL или HTTPS? Когда люди получают доступ к веб-приложениям, всегда существует вероятность, что их имена пользователей и пароли могут быть перехвачены посредниками между вашим компьютером и провайдером / компанией. Рекомендуется включить доступ через HTTPS (HTTP через SSL) и сделать это необходимым для страниц, на которых отправляются пароли. Обратите внимание, однако, что использование HTTPS может привести к более низкой производительности.

Запуск Jira без включенной HTTPS может привести к тому, что ваш экземпляр подвергнется уязвимостям, таким как Атака посредника, или атака «человек посередине» (англ. Man in the middle (MITM)) или  перепривязывание DNS. Мы рекомендуем включить HTTPS в вашем экземпляре.

Прежде чем вы начнете

Перед началом работы обратите внимание на следующее:

 

  • Поддержка

Atlassian Support будет ссылаться на поддержку SSL в Центре сертификации (CA), который выдает сертификат. Инструкции, связанные с SSL на этой странице, предоставляются только в качестве ссылки.

 

  • Установщики Windows

«Установщик Windows» устанавливает собственную платформу Java Runtime Environment (JRE) Java, которая используется для запуска Tomcat. При обновлении сертификатов SSL, пожалуйста, сделайте это в этой установке JRE.

 

  • Связанные ошибки

На Jira 7.3 и более поздние версии влияют две ошибки, которые неправильно устанавливают протокол в файле server.xml. Вы можете обойти эту проблему, установив протокол вручную.

Две ошибки, затрагивающие Jira 7.3.0 и более поздние версии:

JRASERVER-63734 – Tomcat не запускается в версии 7.3 с протоколом = “org.apache.coyote.http11.Http11Protocol” RESOLVED

JRASERVER-64082 – JIRA Configuration Tool устанавливает неправильное значение атрибута «протокол» для конфигурации Tomcat SSL RESOLVED

Обходной путь заключается в том, чтобы вручную отредактировать файл server.xml, чтобы изменить протокол на вашем HTTPS-коннекторе, чтобы:

protocol=”org.apache.coyote.http11.Http11NioProtocol”

 

  • Jira за обратным прокси

Если хостинг Jira за обратным прокси-сервером, например Apache, см. Раздел Интеграция Jira с Apache с использованием SSL для получения дополнительной информации.

Создание Java KeyStore

В этом разделе вы создадите хранилище ключей Java (JKS), в котором будут храниться ваши SSL-сертификаты. SSL-сертификаты необходимы для работы SSL в Jira. В мире SSL сертификаты подразделяются на две основные категории:

Сертификат

Описание

Когда использовать

Шаги

Самозаверяющие

Это сертификаты, которые не были подписаны цифровой подписью CA, что является методом подтверждения подлинности сертификата, обслуживаемого веб-сервером. Они подписываются сами по себе, поэтому само название подписано.

Только тестовые, dev или внутренние серверы.

1-13

Подписано центром сертификации(CA)

Сертификат, имеющий идентификационную информацию, подписанную цифровой подписью центром сертификации (CA). Это позволит браузерам и клиентам доверять сертификату.

Производственные серверы.

1 – 21

 

Цифровые сертификаты, выданные доверенными сторонними центрами сертификации (Certification Authority), обеспечивают проверку того, что ваш сайт действительно представляет вашу компанию, тем самым подтверждая личность вашей компании. Многие ЦС просто проверяют имя домена и выдают сертификат. Другие ЦС, такие как VeriSign, проверяют наличие вашей компании, право собственности на ваше доменное имя и ваши полномочия на подачу заявки на сертификат, обеспечивая более высокий уровень аутентификации.

Список ЦС можно найти здесь. Некоторые из наиболее известных ЦС:

  • Verisign
  • Thawte
  • CAcert (относительно новый CA, предоставляющий бесплатные сертификаты CA)

Мы рекомендуем использовать сертификат с сертификатом CA.

Если вы не можете установить Portecle на сервер или использовать командную строку, см. Раздел «Установка командной строки» ниже.

  • Загрузите и установите приложение Portecle на сервер, на котором запущена Jira.
  • Запуск приложений Jira через SSL или HTTPS Это стороннее приложение и не поддерживается Atlassian.

  • Запустите приложение как администратор, чтобы оно имело соответствующие разрешения. Кроме того, убедитесь, что переменная <JAVA_HOME> указывает на ту же версию Java, что использует Jira. См. Настройка JAVA_HOME для получения дополнительной информации об этом.
  • Запуск приложений Jira через SSL или HTTPS Если вы работаете на сервере Linux / UNIX, X11 необходимо будет перенаправление при подключении к серверу (так что вы можете использовать графический интерфейс), как показано ниже:

    ssh -X user @ server

  • Выберите опцию Создать новое хранилище ключей:
  • Запуск приложений Jira через SSL или HTTPS

  • Выберите тип JKS и ОК:
  • Запуск приложений Jira через SSL или HTTPS

  • Выберите кнопку «Создать ключевую пару»:
  • Запуск приложений Jira через SSL или HTTPS

  • Выберите алгоритм RSA и размер ключа 2048:
  • Запуск приложений Jira через SSL или HTTPS

  • Убедитесь, что Алгоритм подписи – «SHA1withRSA», а затем отредактируйте данные сертификата, как показано в приведенном ниже примере, и выберите OK:
  • Запуск приложений Jira через SSL или HTTPS

    Запуск приложений Jira через SSL или HTTPS Общее имя ДОЛЖНО соответствовать URL-адресу сервера, иначе ошибки будут отображаться в браузере.

    Запуск приложений Jira через SSL или HTTPS Если вы хотите использовать SHA256withRSA, пожалуйста, используйте соответствующий алгоритм подписи и обратитесь к: Инструменты безопасности сообщают, что SSL-шифры по умолчанию слишком слабы.

  • Выберите псевдоним для сертификата – например, jira.
  • Введите пароль для KeyStore (обычно используемый пароль по умолчанию – changeit).
  • Генерация пары ключей будет сообщаться как успешная, как показано ниже:
  • Запуск приложений Jira через SSL или HTTPS

  • Сохраните KeyStore в <Jira_HOME> /jira.jks, обеспечив использование того же пароля на шаге 11. Это можно сделать с помощью File> Save Keystore.
  • Если вы используете самозаверяющий сертификат сертификата, перейдите к разделу Настройка веб-сервера с помощью инструмента конфигурации Jira. В противном случае продолжайте.

  • Нам нужно создать запрос на подпись сертификата для центра сертификации, чтобы подписать и подтвердить личность сертификата. Для этого щелкните правой кнопкой мыши по сертификату и выберите «Создать CSR». Сохраните его в <Jira_HOME> /jira.csr.
  • Запуск приложений Jira через SSL или HTTPS

  • Отправьте CSR в центр сертификации для подписания. Они будут предоставлять подписанный сертификат (ответ CA) и набор корневых / промежуточных сертификатов CA.
  • Импортируйте корневые и / или промежуточные сертификаты CA с помощью Import Trusted Certificate, повторяя этот шаг для каждого сертификата.
  • Запуск приложений Jira через SSL или HTTPS

  • Импортируйте подписанный сертификат, щелкнув правой кнопкой мыши на сертификате jira и выбрав ответ импорта центра сертификатов (Import CA Reply):
  • Запуск приложений Jira через SSL или HTTPS

  • Выберите сертификат, предоставленный CA, который должен быть jira.crt. Это ответит успешным ответом CA Reply Import.
  • Проверьте это, выбрав «Инструменты»> «Отчет о хранилище ключей». Он должен отображать сертификат как дочерний элемент корневых сертификатов.
  • Сохраните хранилище ключей и перейдите к следующему разделу.
  •  

    Настройка вашего веб-сервера с помощью инструмента конфигурации Jira

    В этом разделе вы закончите настройку SSL-шифрования для Jira, настроив свой веб-сервер с помощью инструмента конфигурации Jira. Для получения дополнительной информации о инструменте конфигурации Jira см. Раздел Использование инструмента конфигурации Jira.

  • Запустите инструмент настройки Jira, как показано ниже:
    • Windows: откройте командную строку и запустите config.bat в подкаталоге bin каталога установки Jira.
    • Linux / Unix: откройте консоль и запустите config.sh в подкаталоге bin установочного каталога Jira.

    Запуск приложений Jira через SSL или HTTPS Это может завершиться ошибкой, как описано в нашем «Невозможном запуске приложения конфигурации приложений Jira» из-за отсутствия X11 DISPLAY переменной была установлена ошибка.

     KB статья. Пожалуйста, обратитесь к ней для обходного пути.

  • Перейдите на вкладку Веб-сервер.
  • Скриншот: инструмент настройки Jira – вкладка «Веб-сервер»

    Запуск приложений Jira через SSL или HTTPS

  • Заполните поля следующим образом:
  • Поле

    Значения

    Порт управления

    Оставьте как значение по умолчанию. Вы можете изменить номер порта, если хотите. См. Раздел Изменение TCP-портов Jira.

     

    Профиль представляет собой предварительно настроенную конфигурацию веб-сервера. Вы можете выбрать из четырех следующих значений:

    ·         Отключено

    ·         Только HTTP

    ·         HTTP и HTTPS (перенаправление HTTP на HTTPS)

    ·         Только HTTPS

     

    Чтобы запустить Jira через HTTPS, вы должны выбрать «HTTP & HTTPS» или «HTTPS».

    Выберите «HTTP & HTTPS», если вы хотите запустить Jira через HTTPS, но у вас есть пользователи, которые обращаются к Jira через HTTP. Если вы выберете «HTTP & HTTPS», пользователи, которые попытаются получить доступ к Jira через HTTP, будут перенаправлены на адрес HTTPS.

    Порт HTTP

    Оставьте по умолчанию (8080). Вы можете изменить номер порта, если хотите. См. Раздел Изменение TCP-портов Jira.

    Это будет отключено, если вы установите для профиля только «HTTPS».

    Порт HTTPS

    Оставьте по умолчанию (8443). Вы можете изменить номер порта, если хотите. См. Раздел Изменение TCP-портов Jira.

    Путь хранилища ключей

    Укажите местоположение хранилища ключей вашего сертификата. Это будет выбрано, когда хранилище ключей было сохранено на шаге 13 и должно быть <Jira_HOME> /jira.jks.

    Пароль хранилища ключей

    Укажите пароль для хранилища ключей. Если вы создали самозаверяющий сертификат, это пароль, который вы указали для ключа и хранилища ключей при создании сертификата на шаге 13.

    Псевдоним хранилища ключей

    Каждая запись в хранилище ключей идентифицируется псевдонимом. Мы рекомендуем использовать jira для этого сертификата, как на шаге 10.

  • Нажмите кнопку «Проверить сертификат в хранилище ключей», чтобы подтвердить следующее:
    • Проверьте, можно ли найти сертификат в хранилище ключей.
    • Проверьте, работает ли пароль хранилища ключей.
    • Проверьте, можно ли найти ключ, используя ключевой псевдоним.
  • Нажмите кнопку «Сохранить», чтобы сохранить изменения.
  • Расширенная конфигурация

    Выполнение нескольких экземпляров на одном хосте

    При запуске нескольких экземпляров на одном и том же хосте важно указать атрибут адреса в файле <Jira_INSTALLATION> /conf/server.xml, поскольку по умолчанию соединитель будет прослушивать все доступные сетевые интерфейсы, поэтому указание адреса предотвратит конфликты с коннекторами, запущенными на том же порту по умолчанию. См. Документацию Tomcat Connector для получения дополнительной информации об установке атрибута адреса в документах HTTP-коннектора Apache Tomcat.

    Установка командной строки

    Шаг 1. Создайте хранилище ключей

  • Создайте хранилище ключей Java :
  • <JAVA_HOME>/keytool -genkey -alias jira -keyalg RSA -keystore <Jira_HOME>/jira.jks

    Запуск приложений Jira через SSL или HTTPS Вместо имени и фамилии введите URL-адрес сервера, за исключением «https: //» (например: jira.atlassian.com).

  • Введите пароль.
  • Создайте CSR для подписания, используя пароль с шага 2:
  • Отправьте CSR в центр сертификатов для подписания. Они будут предоставлять подписанный сертификат и корневой и / или промежуточный центр сертификатов.(предупреждение) Если сертификат не будет подписан, перейдите к шагу 7.
  • Импортируйте корневой и / или промежуточный центр сертификатов:
  • <JAVA_HOME>/keytool -import -alias rootCA -keystore <Jira_HOME>/jira.jks -trustcacerts -file root.crt

  • Импортируйте подписанный сертификат (CA предоставляет это):
  • <JAVA_HOME>/keytool -import -alias jira -keystore <Jira_HOME>/jira.jks -file jira.crt

  • Убедитесь, что сертификат существует в хранилище ключей:
  • <JAVA_HOME>/keytool -list -alias jira -keystore <Jira_HOME>/jira.jks

    Это должно быть PrivateKeyEntry(частная ключевая запись), если это не настройка сертификата не была успешно завершена. Например:

    jira, Jan 1, 1970, PrivateKeyEntry,
    Certificate fingerprint (MD5): 73:68:CF:90:A8:1D:90:5B:CE:2A:2F:29:21:C6:B8:25

    Шаг 2. Обновление Tomcat с помощью хранилища ключей

  • Создайте резервную копию <Jira_INSTALL> /conf/server.xml перед ее редактированием.
  • Отредактируйте соединитель HTTPS так, чтобы он имел параметры, указывающие на хранилище ключей:
  • <Connector port=”8443″ protocol=”org.apache.coyote.http11.Http11NioProtocol”
                  maxHttpHeaderSize=”8192″ SSLEnabled=”true”
                  maxThreads=”150″ minSpareThreads=”25″
                  enableLookups=”false” disableUploadTimeout=”true”
                  acceptCount=”100″ scheme=”https” secure=”true”
                  sslEnabledProtocols=”TLSv1.2,TLSv1.3″
                  clientAuth=”false” useBodyEncodingForURI=”true”
                  keyAlias=”jira” keystoreFile=”<Jira_HOME>/jira.jks” keystorePass=”changeit” keystoreType=”JKS”/>

     

    Запуск приложений Jira через SSL или HTTPS Убедитесь, что вместо <Jira_HOME> выбран правильный путь и измените порт по мере необходимости.

     

    Если организация не поддерживает последнюю версию TLS, вы можете вернуться к более ранней версии. Изменить:

    sslEnabledProtocols=”TLSv1.2,TLSv1.3″

    То:

    sslEnabledProtocols=”TLSv1,TLSv1.1,TLSv1.2,TLSv1.3″

  • Отредактируйте соединитель HTTP так, чтобы он перенаправлялся на соединитель HTTPS:
  • <Connector acceptCount=”100″ connectionTimeout=”20000″ disableUploadTimeout=”true” enableLookups=”false” maxHttpHeaderSize=”8192″ maxThreads=”150″ minSpareThreads=”25″ port=”8080″ protocol=”HTTP/1.1″ redirectPort=”<PORT_FROM_STEP_1>” useBodyEncodingForURI=”true”/>

     

    Запуск приложений Jira через SSL или HTTPS Убедитесь, что значение <PORT_FROM_STEP_1> соответствует соответствующему значению. В этом примере это будет 8443.

  • Сохраните изменения на server.xml.
  • Если будет использоваться перенаправление на HTTPS (это рекомендуется), отредактируйте файл <Jira_INSTALL> /WEB-INF/web.xml и добавьте следующий раздел в конце файла перед закрытием </ web-app>. В этом примере все URL-адреса, кроме вложений, перенаправляются с HTTP на HTTPS.
  • <security-constraint>
                    <web-resource-collection>
                                   <web-resource-name>all-except-attachments</web-resource-name>
                                   <url-pattern>*.jsp</url-pattern>
                                   <url-pattern>*.jspa</url-pattern>
                                   <url-pattern>/browse/*</url-pattern>
                                    <url-pattern>/issues/*</url-pattern>
                    </web-resource-collection>
                    <user-data-constraint>
                                   <transport-guarantee>CONFIDENTIAL</transport-guarantee>
                    </user-data-constraint>
    </security-constraint>

  • Перезагрузите Jira после того, как вы сохранили изменения.
  • Вы также можете перенаправить пользователей с URL-адресов HTTP на URL-адреса HTTPS, выбрав профиль «HTTP & HTTPS» в инструменте конфигурации Jira. Это перенаправит все URL-адреса HTTP на URL-адреса HTTPS.

    Если вы хотите перенаправить определенные страницы на HTTPS, вам нужно сделать это вручную. Для этого выберите профиль «Только HTTPS» в инструменте конфигурации Jira и сохраните конфигурацию, а затем создайте файл htaccess на своем веб-сервере, который будет вручную перенаправлять URL-адреса HTTP на соответствующие URL-адреса HTTPS.

    Исправление проблем

    Ниже приведены некоторые советы по устранению неполадок, если вы используете самозаверяющий ключ, созданный Portecle, как описано выше.Когда вы вводите «https: // localhost: <номер порта>» в своем браузере, если вы получите сообщение типа «Не удается установить соединение с сервером на localhost: 8443», найдите сообщения об ошибках в ваших logs / catalina.out. файл журнала. Вот некоторые возможные ошибки с объяснениями.

    • Проблемы с SSL + Apache + IE: некоторые люди сообщают об ошибках при загрузке вложений через SSL с помощью IE. Это связано с ошибкой IE и может быть исправлено в Apache, установив:

    BrowserMatch “.MSIE.”
    \nokeepalive ssl-unclean-shutdown
    \ downgrade-1.0 force-response-1.0

    В Google есть еще много материала об этом.

     

    • Не удается найти хранилище ключей:

    java.io.FileNotFoundException: /home/user/.keystore (No such file or directory)

    Это указывает на то, что Tomcat не может найти хранилище ключей. Утилита keytool создает хранилище ключей в виде файла с именем .keystore в домашнем каталоге текущего пользователя. Для Unix / Linux домашний каталог, вероятно, будет / home / <username>. Для Windows это, скорее всего, C: \ Documents and Settings \ <UserName>.

     

    Убедитесь, что вы используете Jira в качестве того же пользователя, который создал хранилище ключей. Если это не так, или если вы используете Jira в Windows в качестве службы, вам нужно указать, где файл хранилища ключей находится в conf / server.xml. Добавьте следующий атрибут в тег соединителя, который вы раскоментировали:

    keystoreFile=”<location of keystore file>”

    Это также может произойти («Невозможно найти /root/.keystore»), если вы добавите атрибут keystoreFile в http-коннектор в server.xml вместо https-коннектора.

     

    • Ответ сертификата и сертификат в хранилище ключей идентичны:

    keytool error: java.lang.Exception: Certificate reply and certificate in keystore are identical

    Эта ошибка произойдет, если у вас есть идентичные имена или отпечатки пальцев, что является результатом попытки воссоздать сертификат в существующем хранилище ключей. Если вам нужно воссоздать или обновить Cert, вы можете удалить существующее хранилище ключей и создать новое новое хранилище ключей. В этом случае создание нового хранилища ключей и добавление связанных сертификатов исправят проблему. Путь по умолчанию для него в этой документации: $ JAVA_HOME / jre / lib / security / cacerts

     

    • Неверный пароль:

    java.io.IOException: Keystore was tampered with, or password was incorrect

     

    Вы использовали другой пароль, чем «changeit». Вы должны либо использовать «changeit» как для пароля хранилища ключей, так и для ключевого пароля для Tomcat, или если вы хотите использовать другой пароль, вы должны указать его с помощью атрибута keystorePass тега Connector, как описано выше.

    • Пароли не совпадают:

    java.io.IOException: невозможно восстановить ключ

     

    Вы указали другое значение для пароля хранилища ключей и ключевого пароля для Tomcat. Оба пароля должны быть одинаковыми.

    • Неверный сертификат:

    javax.net.ssl.SSLException: доступный сертификат не соответствует разрешенным наборам SSL-шифров.

     

    Если у Keystore имеется более одного сертификата, Tomcat будет использовать первое возвращенное, если иное не указано в SSL-коннекторе в conf / server.xml.

    Добавьте атрибут keyAlias в тег Connector, который вы разкомментировали, с соответствующим псевдонимом, например:

    <Connector port=”8443″ maxHttpHeaderSize=”8192″
    maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″
    enableLookups=”false” disableUploadTimeout=”true” useBodyEncodingForURI=”true”
    acceptCount=”100″ scheme=”https” secure=”true”
    clientAuth=”false” sslProtocol=”TLS”
    keystoreFile=”/opt/local/.keystore”
    keystorePass=”removed”
    keyAlias=”tomcat”/>

    • Использование Apache Portable Runtime:

    APR использует другой механизм SSL, и вы увидите такое же исключение в своих журналах

    SEVERE: не удалось инициализировать разъем [Connector [HTTP / 1.1-8443]]
    LifecycleException: Ошибка инициализации обработчика протокола: java.lang.Exception: файл сертификата не указан или недействительный формат файла

    Причина этого заключается в том, что APR Connector использует OpenSSL и не может использовать хранилище ключей таким же образом. Вы можете исправить это одним из двух способов:

    • Используйте Http11NioProtocol для обработки SSL-подключений. Отредактируйте файл server.xml, чтобы тег SSL Connector, который вы просто не комментировали, указывает Http11NioProtocol вместо протокола APR.

    <Connector port=”8443″ protocol=”org.apache.coyote.http11.Http11NioProtocol”
      maxHttpHeaderSize=”8192″ SSLEnabled=”true” keystoreFile=”${user.home}/.keystore”
      maxThreads=”150″ enableLookups=”false” disableUploadTimeout=”true”
      acceptCount=”100″ scheme=”https” secure=”true”
      clientAuth=”false” sslProtocol=”TLS” useBodyEncodingForURI=”true”/>

    • Настройте коннектор для использования протокола APR. Это возможно только в том случае, если у вас есть PEM-кодированные сертификаты и закрытые ключи. Если вы использовали OpenSSL для генерации своего ключа, тогда у вас будут эти файлы с кодировкой PEM – во всех остальных случаях обратитесь за помощью к поставщику сертификатов.

    <Connector
      port=”8443″ maxThreads=”200″
      scheme=”https” secure=”true” SSLEnabled=”true”
      SSLCertificateFile=”${user.home}/certificate.pem”
      SSLCertificateKeyFile=”${user.home}/key.pem”
      clientAuth=”optional” SSLProtocol=”TLSv1.2,TLSv1.3″/>

    • Включение проверки подлинности клиента. Чтобы включить аутентификацию клиента в Tomcat, убедитесь, что значение атрибута clientAuth в элементе Connector вашего файла server.xml вашего Tomcat является истинным.

    <Connector
                    …
                    clientAuth=”true”
                    … />

    Дополнительные сведения о параметрах элемента Connector см. В документации по настройке SSL-конфигурации HOW-TO Tomcat 8.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *