Показать содержание 

Установка и настройка продукта «Форсайт. Аналитическая платформа» > Установка веб-приложения > Вопросы и ответы > Настройка веб-приложения для работы через HTTPS

В этой статье:

Настройка взаимодействия клиента с веб-сервером и веб-сервера с BI-сервером по протоколу HTTPS

Настройка взаимодействия клиента с веб-сервером по протоколу HTTPS

Шаг 1. Размещение и установка сертификатов безопасности

Шаг 2. Импорт корневого сертификата в хранилище

Шаг 3. Настройка веб-сервера

Шаг 4. Открытие веб-приложения по протоколу HTTPS

Настройка веб-приложения для работы через HTTPS

Hypertext Transfer Protocol Secure (HTTPS) – это расширение протокола Hypertext Transfer Protocol (HTTP), в котором применяется шифрование с использованием протокола Transport Layer Security (TLS). Протокол TLS является криптографическим и используется для создания безопасного канала связи между компьютерами в сети. Криптографические методы обеспечивают конфиденциальность и целостность передаваемых данных, одностороннюю или двухстороннюю аутентификацию.

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

При взаимодействии сервера с клиентом по протоколу HTTPS требуются следующие типы сертификатов безопасности:

Также «Форсайт. Аналитическая платформа» поддерживает работу веб-приложения по протоколу HTTPS с использованием шифрования ГОСТ. Шифрование ГОСТ требует использования средств криптографической защиты информации (СКЗИ): КриптоПро CSP, ViPNet CSP, Крипто-КОМ, МагПро КриптоПакет и других. СКЗИ должны быть совместимы со средой функционирования «Форсайт. Аналитическая платформа» и установлены как на сервере веб-приложения, так и на клиентском устройстве. СКЗИ не входят в комплект поставки продукта. Настройка работы веб-приложения по протоколу HTTPS c использованием шифрования ГОСТ осуществляется в соответствии с документацией на соответствующее СКЗИ.

Для получения подробной информации о работе веб-приложения в браузере Chromium-Gost на примере использования КриптоПро CSP обратитесь к разделу «Настройка веб-приложения для работы в браузере Chromium-Gost».

Настройте один из вариантов взаимодействия элементов конфигурации веб-приложения:

При работе веб-приложения по протоколу HTTPS дополнительно настройте работу веб-форм, использующих протокол WebSocket. Для получения подробной информации обратитесь к разделу «Настройка веб-форм при работе через HTTPS».

Настройка взаимодействия клиента с веб-сервером и веб-сервера с BI-сервером по протоколу HTTPS

Рассмотрим настройку взаимодействия клиента с веб-сервером и веб-сервера с BI-сервером по протоколу HTTPS в ОС Linux. Веб-сервер и BI-сервер могут располагаться на одном физическом сервере или на разных.

Для настройки взаимодействия клиента с веб-сервером и веб-сервера с BI-сервером по протоколу HTTPS:

  1. Убедитесь, что в системе содержатся следующие каталоги:

Примечание. Указанные каталоги создаются по умолчанию при установке веб-приложения.

  1. Определите DNS-имя сервера:

sudo hostnamectl set-hostname <DNS-имя сервера>

  1. Скачайте и распакуйте архив enable_https.zip. После чего разместите скрипт enable_https.sh в домашней директории /home/<имя пользователя>.

  2. Откройте на редактирование скрипт enable_https.sh и измените значения преднастроенных параметров, если в системе содержится набор готовых сертификатов безопасности:

CERT_DIR=./fp-certs
SERVER_CRT_NAME="fp_server.crt"
SERVER_KEY_NAME="fp_server.key"
CA_CRT_NAME="fp_ca.crt"
CA_KEY_NAME="fp_ca.key"

Описание переменных:

Примечание. Пропустите шаг для автоматической генерации самоподписанных сертификатов безопасности. Самоподписанные сертификаты завязываются на DNS-имя сервера, определённое в шаге 2.

  1. Измените текущий каталог на папку со скриптом:

cd /home/<имя пользователя>/enable_https.sh

  1. Раздайте права доступа на выполнение скрипта:

sudo chmod +x enable_https.sh

  1. Запустите скрипт:

sudo ./enable_https.sh

sudo ./enable_https.sh service

Если веб-сервер и BI-сервер расположены на разных физических серверах, то при выполнении скрипта будет запрошено DNS-имя BI-сервера и веб-сервера соответственно.

После выполнения действий веб-приложение будет настроено на работу по протоколу HTTPS. Если до настройки работы веб-приложения по протоколу HTTPS была установлена серверная часть конструктора бизнес-приложений с помощью архива DBA.war, то работа конструктора бизнес-приложений также будет настроена по протоколу HTTPS.

В процессе выполнения скрипта:

Настройка взаимодействия клиента с веб-сервером по протоколу HTTPS

Рассмотрим настройку взаимодействия клиента с веб-сервером по протоколу HTTPS. При этом взаимодействие веб-сервера с BI-сервером будет выполняться по протоколу HTTP. Предполагается, что веб-сервер и BI-сервер располагаются на одном физическом сервере.

Шаг 1. Размещение и установка сертификатов безопасности

Примечание. Перед выполнением шага обратитесь к руководству поставщика услуг удостоверяющего центра и документации на используемую операционную систему.

Для размещения и установки сертификатов безопасности:

  1. Сгенерируйте и сохраните закрытый ключ сертификата сервера server.key.

  2. Создайте запрос на сертификат сервера domain_name.csr.

  3. Получите сертификат сервера server.cer для ОС Linux или server.pfx для ОС Windows, подписанный доверенным для всех пользователей системы центром сертификации.

  4. Получите корневой сертификат ca.сer и промежуточные сертификаты subca.cer, если они содержатся в цепочке доверия.

  5. Разместите сертификаты и ключи для установки:

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

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

Шаг 2. Импорт корневого сертификата в хранилище

Для импорта корневого сертификата в хранилище доверенных корневых центров сертификации используйте поддерживаемый браузер или средства операционной системы. Средствами операционной системы можно импортировать сертификат в хранилище только в ОС Windows.

Рассмотрим импорт сертификата на примере Mozilla Firefox:

  1. Откройте настройки браузера по адресу:

about:preferences

  1. Перейдите в раздел «Приватность и Защита».

  2. Нажмите кнопку «Просмотр сертификатов» в подразделе «Сертификаты». После чего будет открыто окно «Управление сертификатами».

  3. Нажмите кнопку «Импортировать» на вкладке «Центры сертификации». После чего будет выдан стандартный диалог выбора файла.

  4. Выберите корневой сертификат ca.cer. После чего будет открыто окно «Загрузка сертификата».

  5. Установите флажок «Доверять при идентификации веб-сайтов».

После выполнения действий корневой сертификат будет импортирован в хранилище доверенных корневых центров сертификации.

Для импорта корневого сертификата в хранилище доверенных корневых центров сертификации средствами ОС Windows:

  1. Дважды щёлкните по корневому сертификату ca.cer. После чего будет открыто окно «Сертификат».

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

  3. Выберите расположение хранилища «Текущий пользователь» и нажмите кнопку «Далее».

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

После выполнения действий корневой сертификат будет импортирован в хранилище доверенных корневых центров сертификации.

Другие варианты установки и импорта сертификата на различных операционных системах и браузерах приведены на портале государственных услуг.

Шаг 3. Настройка веб-сервера

Шаги по настройке отличаются в зависимости от используемого веб-сервера и операционной системы.

Для настройки веб-сервера Apache2 в ОС Linux:

  1. Подключите модуль 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

  1. Добавьте параметры SSL в раздел <VirtualHost> в файле конфигурации веб-сервера:

    • /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.

  1. Измените протокол HTTP на HTTPS в файлах конфигурации веб-приложения /opt/foresight/fp10.x-webserver/r/config/config.json, /opt/foresight/fp10.x-webserver/config/PP.xml и убедитесь, что выполняются следующие условия:

    • в файле config.json указан адрес веб-сервиса PPService.axd в поле serviceUrl;

    • в файле PP.xml указан раздел <proxy>.

Пример файла config.json:

{
  "targetRepo": "",
  "serviceUrl": "https://<DNS-имя сервера>:8110/fp10.x/app/PPService.axd",
  "locale": "ru",
  "locales": ["ru"],
  "title": "FAP10",
  "baseUrl": "https://<DNS-имя сервера>:8110/fp10.x/",
  "themes": ["fap10"]
}

Пример файла PP.xml:

<?xml version="1.0" encoding="utf-8"?>
<pp>
    <proxy url="" />
    <metabase id="WAREHOUSE" />
    <serviceCM ParamsUrl="https://<DNS-имя сервера>:8110/fp10.x/r/#/settings"/>
    <modules commonModulesUrl="https://<DNS-имя сервера>:8110/fp10.x/r/#">
    </modules>
</pp>

  1. Перезапустите веб-сервер:

    • Debian-подобные дистрибутивы:

sudo systemctl restart apache2-fp10.x-web

    • RedHat-подобные дистрибутивы:

sudo systemctl restart httpd-fp10.x-web

    • ALT Linux:

sudo systemctl restart httpd2-fp10.x-web

После выполнения действий будет настроен веб-сервер Apache2.

Для настройки веб-сервера IIS в ОС Windows откройте диспетчер служб IIS на начальной странице и выполните действия:

  1. Откройте функцию «Сертификаты сервера» в разделе «IIS» двойным щелчком мыши или с помощью команды контекстного меню «Открытие функции».

  2. Выполните команду «Импортировать» на панели «Действия». После чего будет открыто окно «Импорт сертификата»:

  1. Задайте параметры:

    • Файл сертификата (.pfx). Укажите путь до сертификата сервера server.pfx;

    • Пароль. Укажите пароль, который использовался при создании сертификата сервера;

    • Выбрать хранилище сертификатов. Выберите в раскрывающемся списке «Размещение веб-служб».

  1. Нажмите кнопку «ОК».

  2. Выберите сайт в дереве «Подключения» и выполните команду «Привязки» на панели «Действия». После чего будет открыто окно «Привязки сайта».

  3. Нажмите кнопку «Добавить». После чего будет открыто окно «Добавление привязки сайта»:

  1. Задайте параметры:

    • Тип. Выберите в раскрывающемся списке «https»;

    • SSL-сертификат. Выберите в раскрывающемся списке сервер, соответствующий импортированному сертификату сервера.

  2. Добавьте параметры протокола TLS в реестр с помощью утилиты IIS Crypto.

  3. Измените протокол HTTP на HTTPS и убедитесь, что указано DNS-имя сервера, в файлах конфигурации веб-приложения PP.xml, config.json.

  4. Выберите сервер в дереве «Подключения» и выполните команду «Перезапустить» на панели «Действия».

После выполнения действий будет настроен веб-сервер IIS.

Шаг 4. Открытие веб-приложения по протоколу HTTPS

Для открытия веб-приложения по протоколу HTTPS используйте поддерживаемый браузер и укажите адрес в строке подключения:

https://<DNS-имя сервера>:8110/fp10.x/r/

https://<DNS-имя сервера>/FP_App_v10.x/r/

См. также:

Настройка конфигурации веб-приложения | Открытие веб-приложения