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

Настройка взаимодействия элементов конфигурации системы по протоколу HTTPS в ОС Linux

Настройка взаимодействия браузера с серверной частью веб-приложения по протоколу 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 обратитесь к разделу «Настройка веб-приложения для работы в браузере Chromium-Gost в ОС Linux».

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

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

Настройка взаимодействия элементов конфигурации системы по протоколу HTTPS в ОС Linux

Рассмотрим настройку взаимодействия элементов конфигурации системы: браузер > HTTPS > серверная часть веб-приложения > HTTPS > BI-сервер. Серверная часть веб-приложения и BI-сервер могут располагаться на одном физическом сервере или на разных.

Для настройки взаимодействия элементов конфигурации системы по протоколу HTTPS в ОС Linux:

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

Каталог Описание
/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, на котором установлена серверная часть веб-приложения.

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

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

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

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

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

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

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

sudo chmod +x enable_https.sh

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

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

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

Примечание. Пропустите шаг, если в системе отсутствует набор готовых сертификатов безопасности.

  1. Запустите скрипт с параметром service, если в поле serviceUrl файла config.json указан адрес веб-сервиса PP.SOM:

sudo ./enable_https.sh service

Если указан адрес обработчика запросов PPService.axd, то запустите скрипт без параметра:

sudo ./enable_https.sh

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

Если шаг 6 был пропущен, то после запуска скрипта выберите способ генерации сертификатов безопасности:

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

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

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

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

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

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

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

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

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

  2. Создайте запрос на сертификат сервера domain.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 *: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.

  1. Убедитесь, что в поле 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"]
}

  1. Перезапустите серверную часть веб-приложения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Убедитесь, что в поле serviceUrl файла config.json указан адрес обработчика запросов PPService.axd, и измените протокол HTTP на HTTPS в полях serviceUrl, baseUrl.

  4. Перезапустите серверную часть веб-приложения.

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

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

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

https://<веб-сервер>:<номер порта>/fp10.x/r/

https://<веб-сервер>:<номер порта>/FP_App_v10.x/r/

Где:

Примечание. В результате настройки веб-приложения по протоколу HTTPS в ОС Linux предусмотрено использование порта 8110 вместо 443.

См. также:

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