Настройка SSL-сертификатов

При использовании сертификатов, не входящих в стандартный список доверенных корневых центров сертификации (самоподписанных или выпущенных удостоверяющим центром Минцифры), серверу и клиентским устройствам может потребоваться отдельная настройка доверия — без неё доступ к сайту или приложению будет заблокирован с ошибкой проверки сертификата. Ниже описано, как добавить сертификат в доверенные на сервере, получить ссылку на самоподписанный сертификат и установить его.

Добавление SSL-сертификата в доверенные на сервере

При использовании самоподписанных сертификатов или сертификатов Минцифры может возникать ошибка проверки сертификата. Чтобы этого избежать, необходимо добавить сертификат в системное хранилище доверенных сертификатов операционной системы.

Примечание

Раздел описывает настройку на сервере, где установлен Compass On-premise. Путь /etc/nginx/ssl/ — директория, в которой расположен SSL-сертификат Nginx на этом сервере (см. параметр nginx.ssl_crt в configs/global.yaml).

Добавление сертификата в системное хранилище

Для DEB-систем:

sudo cp -a /etc/nginx/ssl/<имя-сертификата> /usr/local/share/ca-certificates/
sudo update-ca-certificates

Для RPM-систем:

sudo cp -a /etc/nginx/ssl/<имя-сертификата> /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Замените <имя-сертификата> на имя вашего файла (например, certificate.crt).

Применение изменений

Перезапустите monolith, чтобы он подхватил обновлённое системное хранилище сертификатов:

sudo docker service update --force production-compass-monolith_php_monolith

Перезапустите микросервисы звонков (Jitsi), чтобы они также подхватили обновлённое системное хранилище сертификатов:

for s in prosody-jitsi prosody-jitsi-v0 prosody-jitsi-v1 prosody-jitsi-v2 jicofo-jitsi jvb-jitsi web-jitsi jitsi_web-jitsi; do
   sudo docker service update --force production-compass-monolith_$s; done

Как получить ссылку на сертификат

Этот раздел актуален, если используется самоподписанный сертификат. В этом случае файл сертификата необходимо сделать доступным для скачивания по протоколу HTTP.

  1. Создайте конфигурацию Nginx для отдачи сертификата по HTTP

    В директории установщика выполните команду, которая автоматически создаст конфигурацию Nginx:

    sudo mkdir -p /etc/nginx/compass_snippets
    sudo tee /etc/nginx/compass_snippets/ssl-cert.conf > /dev/null <<EOF
    location /ssl-cert.crt {
        alias /etc/nginx/ssl/$(grep ^nginx.ssl_crt configs/global.yaml | awk '{print $2}' | tr -d '"');
        default_type application/x-x509-ca-cert;
        add_header Content-Disposition "attachment; filename=ssl-cert.crt";
        add_header Cache-Control "no-cache";
    }
    EOF
    
  2. Проверьте конфигурацию и перезагрузите Nginx

    sudo nginx -t && sudo systemctl reload nginx
    
  3. Проверьте доступность файла

    Откройте в браузере адрес http://<ip-адрес-сервера>/ssl-cert.crt. Если сертификат скачался, ссылка сформирована верно.

  4. Удалите временную конфигурацию

    После того как все нужные устройства скачают сертификат, удалите файл конфигурации и перезагрузите Nginx:

    sudo rm /etc/nginx/compass_snippets/ssl-cert.conf
    sudo nginx -t && sudo systemctl reload nginx
    

Как добавить сертификат Минцифры в доверенные на iOS

Если используется сертификат, выпущенный удостоверяющим центром Минцифры, необходимо установить корневой сертификат на iOS-устройство.

  1. Откройте Safari на iPhone или iPad и нажмите на ссылку Скачать профиль для Apple iOS — начнётся скачивание файла профиля.

  2. Нажмите «Разрешить» для скачивания профиля.

    Скачивание профиля
  3. Перейдите в «Настройки» → «Профиль загружен» → в окне «Установка профиля» нажмите «Установить».

    Установка профиля
  4. Введите код-пароль устройства, затем последовательно нажмите «Установить» в окнах «Предупреждение» и «Установка профиля», а в окне «Профиль установлен» — «Готово».

    Установка профиля
  5. Перейдите в «Настройки» → «Основные» → «Об этом устройстве» → «Доверие сертификатам».

  6. Включите тумблер напротив сертификата Russian Trusted Root CA.

    Доверие сертификатам
  7. В оповещении «Корневой сертификат» нажмите «Продолжить».

    Включение доверия

После этих действий страница авторизации и приложение будут работать без ошибок.

Как получить доступ к Compass с сертификатом Минцифры на Android и компьютере

На Android и в десктопных операционных системах (Windows, macOS, Linux) установка корневого сертификата Минцифры в системное хранилище — более сложный и не всегда надёжный способ, а часть браузеров (например, Chrome, Safari, Firefox) не доверяет сертификатам Минцифры даже после такой установки.

Чтобы открыть страницу авторизации Compass без ошибки сертификата, используйте на этих устройствах браузер со встроенной поддержкой сертификатов Минцифры, например Яндекс Браузер.

Примечание

Скачать Яндекс Браузер можно на официальном сайте browser.yandex.ru. Отдельно устанавливать корневой сертификат Минцифры в этом случае не нужно — браузер доверяет ему по умолчанию.

Как добавить самоподписанный сертификат в доверенные на iOS

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

  1. Получите ссылку на сертификат по инструкции в разделе «Как получить ссылку на сертификат» и скачайте файл, перейдя по ссылке http://<ip-адрес-сервера>/ssl-cert.crt в Safari на iPhone или iPad.

  2. Нажмите «Разрешить» для скачивания профиля.

    Скачивание профиля
  3. Перейдите в «Настройки» → «Профиль загружен» → в окне «Установка профиля» нажмите «Установить».

    Установка профиля
  4. Введите код-пароль устройства, затем последовательно нажмите «Установить» в окнах «Предупреждение» и «Установка профиля», а в окне «Профиль установлен» — «Готово».

    Установка профиля
  5. Перейдите в «Настройки» → «Основные» → «Об этом устройстве» → «Доверие сертификатам».

  6. Включите тумблер напротив установленного сертификата.

  7. В оповещении «Корневой сертификат» нажмите «Продолжить».

    Включение доверия профиля

После этих действий страница авторизации и приложение будут работать без ошибок.

Как добавить самоподписанный сертификат в доверенные на компьютере

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

Windows

  1. Получите ссылку на сертификат по инструкции в разделе «Как получить ссылку на сертификат» и скачайте файл, перейдя по ссылке http://<ip-адрес-сервера>/ssl-cert.crt в браузере.

  2. Найдите скачанный файл сертификата, нажмите на него правой кнопкой мыши и выберите «Установить сертификат».

    Установка сертификата через контекстное меню
  3. В окне «Мастер импорта сертификатов» выберите расположение хранилища — «Текущий пользователь» (или «Локальный компьютер», если нужно установить сертификат для всех пользователей — потребуются права администратора) — и нажмите «Далее».

    Выбор расположения хранилища сертификатов
  4. Выберите «Поместить все сертификаты в следующее хранилище» → «Обзор» → «Доверенные корневые центры сертификации» → «ОК» → «Далее» → «Готово».

    Выбор хранилища «Доверенные корневые центры сертификации»
  5. В окне «Предупреждение системы безопасности» нажмите «Да», чтобы подтвердить установку сертификата.

    Подтверждение установки сертификата
  6. Перезапустите браузер.

macOS

  1. Получите ссылку на сертификат по инструкции в разделе «Как получить ссылку на сертификат» и скачайте файл, перейдя по ссылке http://<ip-адрес-сервера>/ssl-cert.crt в браузере.

  2. Откройте приложение «Связка ключей» (Keychain Access) и в боковом меню слева выберите раздел «Система».

  3. Перетащите скачанный файл сертификата в окно приложения (или воспользуйтесь «Файл» → «Импортировать элементы») и введите пароль администратора для подтверждения. Сертификат появится в списке с пометкой «Данный корневой сертификат не является доверенным».

    Импортированный сертификат в разделе «Система»
  4. Дважды кликните по добавленному сертификату, разверните раздел «Доверие» и в пункте «Параметры использования сертификата» выберите «Всегда доверять».

    Настройка доверия сертификату
  5. Закройте окно сертификата и повторно введите пароль администратора для подтверждения изменений.

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

Linux

Получите ссылку на сертификат по инструкции в разделе «Как получить ссылку на сертификат» и скачайте файл, перейдя по ссылке http://<ip-адрес-сервера>/ssl-cert.crt в браузере.

Для DEB-систем:

sudo cp -a <путь-к-файлу>/<имя-сертификата> /usr/local/share/ca-certificates/
sudo update-ca-certificates

Для RPM-систем:

sudo cp -a <путь-к-файлу>/<имя-сертификата> /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Замените <путь-к-файлу>/<имя-сертификата> на путь к скачанному файлу сертификата (например, ~/Downloads/certificate.crt).

Как добавить самоподписанный сертификат в доверенные на Android

Если используется самоподписанный сертификат, необходимо установить его в системное хранилище доверенных сертификатов устройства.

  1. Получите ссылку на сертификат по инструкции в разделе «Как получить ссылку на сертификат» и скачайте файл, перейдя по ссылке http://<ip-адрес-сервера>/ssl-cert.crt в браузере устройства.

  2. Браузер предупредит, что скачивание файла может быть небезопасным — нажмите «Сохранить».

    Предупреждение браузера при скачивании сертификата
  3. Перейдите в «Настройки» → «Безопасность» (на некоторых устройствах путь другой: «Настройки» → «Безопасность и конфиденциальность» → «Дополнительно» → «Шифрование и учётные данные») → «Установка сертификатов» и выберите «Сертификат центра сертификации».

    Выбор типа устанавливаемого сертификата
  4. Выберите скачанный файл сертификата.

  5. Появится предупреждение «Конфиденциальность ваших данных будет нарушена» — нажмите «Все равно установить».

    Предупреждение об установке сертификата центра сертификации
  6. При необходимости укажите имя сертификата и подтвердите установку PIN-кодом, паролем или отпечатком пальца устройства.

После этих действий страница авторизации будет работать без ошибки сертификата.


Напишите нам в пространстве поддержки On-premise, Telegram или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.