В этой статье:
Настройка взаимодействия элементов конфигурации системы по протоколу HTTPS в ОС Linux
Настройка взаимодействия браузера с серверной частью веб-приложения по протоколу HTTPS
Шаг 1. Размещение и установка сертификатов безопасности
Шаг 2. Импорт корневого сертификата в хранилище
Hypertext Transfer Protocol Secure (HTTPS) – это расширение протокола Hypertext Transfer Protocol (HTTP), в котором применяется шифрование с использованием протокола Transport Layer Security (TLS). Протокол TLS является криптографическим и используется для создания безопасного канала связи между компьютерами в сети. Криптографические методы обеспечивают конфиденциальность и целостность передаваемых данных, одностороннюю или двухстороннюю аутентификацию.
Для обеспечения доверия между сервером и клиентом, взаимодействующими по протоколу HTTPS, используются сертификаты безопасности. Сертификаты безопасности включают в себя набор информации о владельце сертификата, открытом ключе владельца сертификата, субъекте, который выпустил и подписал сертификат, а также информацию для проверки сертификата.
При взаимодействии сервера с клиентом по протоколу HTTPS требуются следующие типы сертификатов безопасности:
Корневой сертификат. Принадлежит центру сертификации (Certification Authority, CA). За счёт доверия сервера и клиента к корневому сертификату выстраивается цепочка доверия для остальных сертификатов. Таким образом формируется единое пространство доверия;
Промежуточный сертификат. Принадлежит промежуточному центру сертификации и подписан корневым центром сертификации или другим промежуточным центром сертификации. Иерархия центров сертификации используется для решения различных частных задач по выпуску и обслуживанию выпущенных сертификатов;
Сертификат сервера. Используется для аутентификации веб-сервера Apache2 в ОС Linux или IIS в ОС Windows.
Также «Форсайт. Аналитическая платформа» поддерживает работу веб-приложения по протоколу HTTPS с использованием алгоритмов шифрования ГОСТ. Шифрование ГОСТ требует использования средств криптографической защиты информации (СКЗИ): КриптоПро CSP, ViPNet CSP, Крипто-КОМ, МагПро КриптоПакет и других. СКЗИ должны быть совместимы со средой функционирования «Форсайт. Аналитическая платформа» и установлены как на серверной части веб-приложения, так и на клиентском компьютере. СКЗИ не входят в комплект поставки продукта. Настройка работы веб-приложения по протоколу HTTPS c использованием алгоритмов шифрования ГОСТ осуществляется в соответствии с документацией на соответствующее СКЗИ.
Для получения подробной информации о работе веб-приложения в браузере Chromium-Gost обратитесь к разделу «Настройка веб-приложения для работы в браузере Chromium-Gost в ОС Linux».
Настройте один из вариантов взаимодействия элементов конфигурации системы:
браузер > HTTPS > серверная часть веб-приложения > HTTPS > BI-сервер;
браузер > HTTPS > серверная часть веб-приложения > HTTP > BI-сервер.
При работе веб-приложения по протоколу HTTPS дополнительно настройте работу веб-форм, использующих протокол WebSocket. Для получения подробной информации обратитесь к разделу «Настройка веб-форм при работе через HTTPS».
Рассмотрим настройку взаимодействия элементов конфигурации системы: браузер > HTTPS > серверная часть веб-приложения > HTTPS > BI-сервер. Серверная часть веб-приложения и BI-сервер могут располагаться на одном физическом сервере или на разных.
Для настройки взаимодействия элементов конфигурации системы по протоколу HTTPS в ОС Linux:
Убедитесь, что в системе содержатся следующие каталоги:
| Каталог | Описание |
| /opt/foresight/fp10.x-biserver | Основные файлы BI-сервера. |
/etc/apache2-fp10.x в Debian-подобных дистрибутивах /etc/httpd-fp10.x в RedHat-подобных дистрибутивах /etc/httpd2-fp10.x в ALT Linux |
Конфигурационные файлы экземпляра веб-сервера Apache2, на котором установлен BI-сервер. |
| /opt/foresight/fp10.x-webserver | Основные файлы серверной части веб-приложения. |
| /etc/opt/foresight/fp10.x-webserver | Дополнительный конфигурационный файл envvars экземпляра веб-сервера Apache2, на котором установлена серверная часть веб-приложения, для задания переменных окружения. |
/etc/apache2-fp10.x-web в Debian-подобных дистрибутивах /etc/httpd-fp10.x-web в RedHat-подобных дистрибутивах /etc/httpd2-fp10.x-web в ALT Linux |
Конфигурационные файлы экземпляра веб-сервера Apache2, на котором установлена серверная часть веб-приложения. |
Примечание. Указанные каталоги создаются по умолчанию при установке веб-приложения.
Определите DNS-имя сервера:
sudo hostnamectl set-hostname <DNS-имя сервера>
Скачайте и распакуйте архив enable_https.zip. После чего разместите скрипт enable_https.sh в домашней директории /home/<имя пользователя>.
Измените текущий каталог на каталог со скриптом:
cd /home/<имя пользователя>
Раздайте права доступа на выполнение скрипта:
sudo chmod +x enable_https.sh
Откройте на редактирование скрипт enable_https.sh и измените значения преднастроенных параметров, если в системе содержится набор готовых сертификатов безопасности:
CERT_DIR=./fp-certs
SERVER_CRT_NAME="fp_server.crt"
SERVER_KEY_NAME="fp_server.key"
Описание переменных:
CERT_DIR. Путь до папки с сертификатами безопасности. По умолчанию: ./fp-certs;
SERVER_CRT_NAME. Наименование файла сертификата сервера с расширением *.crt. По умолчанию: fp_server.crt;
SERVER_KEY_NAME. Наименование файла закрытого ключа сертификата сервера с расширением *.key. По умолчанию: fp_server.key.
Примечание. Пропустите шаг, если в системе отсутствует набор готовых сертификатов безопасности.
Запустите скрипт с параметром service, если в поле serviceUrl файла config.json указан адрес веб-сервиса PP.SOM:
sudo ./enable_https.sh service
Если указан адрес обработчика запросов PPService.axd, то запустите скрипт без параметра:
sudo ./enable_https.sh
Если серверная часть веб-приложения и BI-сервер расположены на разных физических серверах, то при выполнении скрипта будут запрошены:
DNS-имя сервера, на котором установлен BI-сервер;
DNS-имя сервера, на котором установлена серверная часть веб-приложения.
Если шаг 6 был пропущен, то после запуска скрипта выберите способ генерации сертификатов безопасности:
сгенерировать самоподписанный сертификат для сервера. При выборе данного способа будет создан каталог /home/<имя пользователя>/fp-certs с самоподписанными сертификатами безопасности: сертификат сервера fp_server.crt; закрытый ключ сертификата сервера fp_server.key; корневой сертификат fp_ca.crt; закрытый ключ корневого сертификата fp_ca.key. Самоподписанные сертификаты завязываются на DNS-имя сервера, определённое в шаге 2. Срок действия самоподписанных сертификатов 1024 дня;
Важно. В контуре промышленной эксплуатации недопустимо использование самоподписанных сертификатов безопасности.
сгенерировать запрос на выпуск сертификата сервера ./fp-certs/fp_server.csr. При выборе данного способа введите запрашиваемую информацию в интерактивном режиме. В процессе генерации запроса на выпуск сертификата сервера автоматически создаётся файл закрытого ключа сертификата сервера fp_server.key в папке fp-certs. Получите файл сертификата сервера с расширением *.crt и выполните следующие действия:
Разместите полученный файл сертификата сервера в папке fp-certs.
Измените значения преднастроенных параметров скрипта при необходимости.
Заново запустите скрипт.
После выполнения действий веб-приложение будет настроено на работу по протоколу HTTPS.
В процессе выполнения скрипта:
изменён протокол HTTP на HTTPS:
в файле конфигурации веб-приложения /opt/foresight/fp10.x-webserver/r/config/config.json;
в значении переменной PP_SOM в файле /etc/opt/foresight/fp10.x-webserver/envvars;
добавлен раздел <VirtualHost *:8810> с параметрами SSL и настройками CORS в файле конфигурации экземпляра веб-сервера Apache2, на котором установлен BI-сервер:
/etc/apache2-fp10.x/mods-available/fp10.x-biserver.conf в Debian-подобных дистрибутивах;
/etc/httpd-fp10.x/conf.d/fp10.x-biserver.conf в RedHat-подобных дистрибутивах;
/etc/httpd2-fp10.x/conf/mods-enabled/fp10.x-biserver.conf в ALT Linux;
добавлены параметры SSL и пути до сертификатов безопасности в разделе <VirtualHost *:8110> в файле конфигурации экземпляра веб-сервера Apache2, на котором установлена серверная часть веб-приложения:
/etc/apache2-fp10.x-web/sites-available/webserver.conf в Debian-подобных дистрибутивах;
/etc/httpd-fp10.x-web/conf.d/00-virtualhost.conf в RedHat-подобных дистрибутивах;
/etc/httpd2-fp10.x-web/conf/sites-enabled/000-default.conf в ALT Linux;
скопированы сертификат сервера и его закрытый ключ из каталога, указанного в переменной CERT_DIR, в каталог /opt/foresight/ssl;
добавлены файлы с расширением *.bak для сохранения резервной копии изменённых файлов. Каждый файл создаётся в каталоге с изменённым файлом. Например, файл /opt/foresight/fp10.x-webserver/r/config/config.json.bak, содержащий настройки до запуска скрипта.
Рассмотрим настройку взаимодействия элементов конфигурации системы: браузер > HTTPS > серверная часть веб-приложения > HTTP > BI-сервер. Предполагается, что серверная часть веб-приложения и BI-сервер располагаются на одном физическом сервере.
Примечание. Перед выполнением шага обратитесь к руководству поставщика услуг удостоверяющего центра и документации на используемую операционную систему.
Для размещения и установки сертификатов безопасности:
Сгенерируйте и сохраните закрытый ключ сертификата сервера server.key.
Создайте запрос на сертификат сервера domain.csr.
Получите сертификат сервера server.cer для ОС Linux или server.pfx для ОС Windows, подписанный доверенным для всех пользователей системы центром сертификации.
Получите корневой сертификат ca.сer и промежуточные сертификаты subca.cer, если они содержатся в цепочке доверия.
Разместите сертификаты и ключи для установки:
на локальном компьютере пользователя разместите файл корневого сертификата ca.cer;
на веб-сервере, на котором установлена серверная часть веб-приложения, разместите файл закрытого ключа сертификата сервера server.key, файл сертификата сервера server.cer в ОС Linux или server.pfx в ОС Windows.
Совет. Рекомендуется включать сертификаты промежуточных центров сертификации в файл сертификата сервера и исключать корневой сертификат из него. При необходимости измените файл сертификата сервера в текстовом редакторе.
Указанные файлы сертификатов и ключей приведены в качестве примера и могут отличаться.
Для импорта корневого сертификата в хранилище доверенных корневых центров сертификации используйте поддерживаемый браузер или средства операционной системы. Средствами операционной системы можно импортировать сертификат в хранилище только в ОС Windows.
Рассмотрим импорт сертификата на примере Mozilla Firefox:
Откройте настройки браузера по адресу:
about:preferences
Перейдите в раздел «Приватность и Защита».
Нажмите кнопку «Просмотр сертификатов» в подразделе «Сертификаты». После чего будет открыто окно «Управление сертификатами».
Нажмите кнопку «Импортировать» на вкладке «Центры сертификации». После чего будет выдан стандартный диалог выбора файла.
Выберите корневой сертификат ca.cer. После чего будет открыто окно «Загрузка сертификата».
Установите флажок «Доверять при идентификации веб-сайтов».
После выполнения действий корневой сертификат будет импортирован в хранилище доверенных корневых центров сертификации.
Для импорта корневого сертификата в хранилище доверенных корневых центров сертификации средствами ОС Windows:
Дважды щёлкните по корневому сертификату ca.cer. После чего будет открыто окно «Сертификат».
Нажмите кнопку «Установить сертификат». После чего будет открыт мастер импорта сертификатов.
Выберите расположение хранилища «Текущий пользователь» и нажмите кнопку «Далее».
Установите переключатель «Поместить все сертификаты в следующее хранилище», выберите хранилище сертификатов «Доверенные корневые центры сертификации» и нажмите кнопку «Далее».
После выполнения действий корневой сертификат будет импортирован в хранилище доверенных корневых центров сертификации.
Другие варианты установки и импорта сертификата на различных операционных системах и браузерах приведены на портале государственных услуг.
Шаги по настройке отличаются в зависимости от используемого веб-сервера, на котором установлена серверная часть веб-приложения, и операционной системы.
Для настройки серверной части веб-приложения на веб-сервере Apache2 в ОС Linux:
Подключите модуль mod_ssl:
Debian-подобные дистрибутивы:
sudo a2enmod-fp10.x-web
ssl
sudo a2ensite-fp10.x-web default-ssl
RedHat-подобные дистрибутивы:
sudo yum
install -y mod_ssl
sudo cp /etc/httpd/conf.modules.d/00-ssl.conf /etc/httpd-fp10.x-web/conf.modules.d/
sudo systemctl restart httpd-fp10.x-web
ALT Linux:
sudo apt-get
install -y apache2-mod_ssl
sudo cp /etc/httpd2/conf/mods-available/ssl.load /etc/httpd2-fp10.x-web/conf/mods-available/
sudo /usr/sbin/a2enmod-fp10.x-web ssl
sudo systemctl condreload httpd2-fp10.x-web.service
После выполнения действий будет подключен модуль mod_ssl. Для получения подробной информации о модуле обратитесь к документации Apache2.
Для RedHat-подобных дистрибутивов будет создан файл конфигурации /etc/httpd-fp10.x-web/conf.d/ssl.conf со строкой подключения модуля:
LoadModule ssl_module modules/mod_ssl.so
Для ALT Linux будет создан файл конфигурации /etc/httpd2-fp10.x-web/conf/mods-enabled/ssl.load со строкой подключения модуля:
LoadModule ssl_module /usr/lib64/apache2/modules/mod_ssl.so
Добавьте параметры SSL в разделе <VirtualHost *:8110> в файле конфигурации экземпляра веб-сервера Apache2:
/etc/apache2-fp10.x-web/sites-available/webserver.conf в Debian-подобных дистрибутивах;
/etc/httpd-fp10.x-web/conf.d/00-virtualhost.conf в RedHat-подобных дистрибутивах;
/etc/httpd2-fp10.x-web/conf/sites-enabled/000-default.conf в ALT Linux.
SSLEngine
On
SSLCertificateFile <путь
до папки>/server.cer
SSLCertificateKeyFile <путь
до папки>/server.key
SSLProxyEngine On
В подстановке <путь до папки> укажите папку, в которой расположен сертификат сервера и его закрытый ключ.
Примечание. Дополнительно добавьте параметры протокола TLS, сгенерированные с помощью инструмента SSL Configuration Generator.
Убедитесь, что в поле serviceUrl файла config.json указан адрес обработчика запросов PPService.axd, и измените протокол HTTP на HTTPS в полях serviceUrl, baseUrl.
Пример файла config.json:
{
"targetRepo": "WAREHOUSE",
"serviceUrl": "https://<DNS-имя сервера>:8110/fp10.x/app/PPService.axd",
"locale": "ru",
"locales": ["ru"],
"title": "FAP10",
"baseUrl": "https://<DNS-имя
сервера>:8110/fp10.x/",
"themes": ["fap10"]
}
После выполнения действий будет настроена серверная часть веб-приложения.
Для настройки серверной части веб-приложения на веб-сервере IIS в ОС Windows откройте диспетчер служб IIS на начальной странице и выполните действия:
Откройте функцию
«Сертификаты сервера»
в разделе «IIS»
двойным щелчком мыши или с помощью команды контекстного
меню «Открытие функции».
Выполните команду «Импортировать» на панели «Действия». После чего будет открыто окно «Импорт сертификата»:

Задайте параметры:
Файл сертификата (.pfx). Укажите путь до сертификата сервера server.pfx;
Пароль. Укажите пароль, который использовался при создании сертификата сервера;
Выбрать хранилище сертификатов. Выберите в раскрывающемся списке «Размещение веб-служб».
Нажмите кнопку «ОК».
Выберите сайт в дереве «Подключения» и выполните команду «Привязки» на панели «Действия». После чего будет открыто окно «Привязки сайта».
Нажмите кнопку «Добавить». После чего будет открыто окно «Добавление привязки сайта»:

Задайте параметры:
Тип. Выберите в раскрывающемся списке «https»;
SSL-сертификат. Выберите в раскрывающемся списке сервер, соответствующий импортированному сертификату сервера.
Добавьте параметры протокола TLS в реестр с помощью утилиты IIS Crypto.
Убедитесь, что в поле serviceUrl файла config.json указан адрес обработчика запросов PPService.axd, и измените протокол HTTP на HTTPS в полях serviceUrl, baseUrl.
После выполнения действий будет настроена серверная часть веб-приложения.
Для открытия веб-приложения по протоколу HTTPS используйте поддерживаемый браузер и укажите адрес в строке подключения:
в ОС Linux:
https://<веб-сервер>:<номер порта>/fp10.x/r/
в ОС Windows:
https://<веб-сервер>:<номер порта>/FP_App_v10.x/r/
Где:
<веб-сервер>. DNS-имя сервера, на котором установлена серверная часть веб-приложения;
<номер порта>. Номер порта, по которому доступна серверная часть веб-приложения. По умолчанию используется порт 443.
Примечание. В результате настройки веб-приложения по протоколу HTTPS в ОС Linux предусмотрено использование порта 8110 вместо 443.
См. также:
Настройка конфигурации веб-приложения | Открытие веб-приложения