Настройка SSL сертификата для ОС Linux

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

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

В случае, если вы все сделали по инструкциям, но система не работает по HTTPS, - проверьте все этапы настройки, описанные далее.

Перед началом работы:

  • Выпустите ключ и сертификат для SSL.
    Обратите внимание на требования к SSL сертификату.
  • Остановите Discovery Server и Reader в диспетчере задач, если они уже были установлены и запущены.

Далее:

  • Разместите сертификаты в доверенный и промежуточный каталоги: /usr/local/share/ca-certificates
  • Обновите сертификаты командой:

update-ca-certificates --verbose
  • Проверьте результат с помощью команды (в конце должны появиться новые записи):

awk -v cmd='openssl x509 -noout -subject' '     /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt 
  • Настройте отображение веб-сервиса.
    Для этого:
    • Откройте директорию, в которую установлен nginx.
    • Создайте в ней директорию с названием SSL.
    • Скопируйте в нее файлы приватного ключа сертификата.
  • Перейдите в директорию sites-anailable в nginx.
  • Отредактируйте файл конфигурации default, добавив в него данные:
    Обратите внимание, далее приведен пример - наименования файлов и расширения у вас будут свои.

server {
  listen       80 ssl;
	ssl_certificate      ./ssl/rootCA.pem;
  ssl_certificate_key  ./ssl/rootCA.key;
  • Настройте передачу данных.
    Для этого:
    • Откройте директорию сервера (та директория из которой вы будете запускать сервер).
    • Создайте в ней директорию с названием SSL, если это не было сделано ранее.
    • Скопируйте в нее файлы приватного ключа сертификата.
  • Перейдите директорию Reader в общей директории сервера.
  • Создайте в ней директорию с названием SSL, если это не было сделано ранее.
  • Скопируйте в нее файлы приватного ключа сертификата.
  • Перейдите директорию Reader/Settings
  • Отредактируйте файл ReaderConfig.json:
    • Замените все значения «http» на значения «https».
    • Добавьте в него две строчки с названием ключа и сертификата.
      Обратите внимание, далее приведен пример - наименования файлов и расширения у вас будут свои.

    "CertificatePemFileName" : "rootCA.pem",
    "CertificateKeyFileName " : "rootCA.key"
  • Перейдите в директорию Settings в общей директории сервера.
  • Отредактируйте файл ServerConfig.json:
    • Замените все значения «http» на значения «https».
    • Добавьте в него две строчки с названием ключа и сертификата.
      Обратите внимание, далее приведен пример - наименования файлов и расширения у вас будут свои.

    "CertificatePemFileName" : "rootCA.pem",
    " CertificateKeyFileName " : "rootCA.key"
  • Создайте директорию SSL для интеракта.
    Вы можете использовать директорию по умолчанию или создать свою в каталоге etc.
  • Скопируйте в нее файлы приватного ключа сертификата.
  • Перейдите в директорию ect/discovery-platfom.
  • Отредактируйте файл interact, добавив в него данные.
    Обратите внимание,  далее приведен пример - наименования файлов и расширения у вас будут свои.

    "sslCertificateKey" : "/etc/SSL/rootCA.key",
    "sslCertificate" : " /etc/SSL/rootCA.pem"
  • Перезапустите интеракт с помощью команды:

$ sudo systemctl restart discovery-platfom-interact
  • Перейдите в общую директорию сервера.
  • Перезапустите сервер с помощью файла runServer.
По требованиям безопасности SSL сертификат должен быть выдан удостоверяющим центром (CA). Однако вы можете использовать самоподписанный сертификат, например, на этапе тестирования. В этом случае добавьте сертификат в доверенные в браузерах пользователей, работающих с системой, аналогично тому, как это делается при установке на Windows.