Настройка 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.