Перейти к основному содержимому

Приложение 5. Настройка SSL для Web-приложения

Настройка шифрования трафика между Пользователем и Luxms BI позволяет обеспечить защиту передаваемых данных, защиту Web приложения и безопасность использования API.

Наша основная рекомендация - при использовании Luxms BI как внутреннего корпоративного ИТ-сервиса, в доверенных(защищенных) сетях - нет необходимости настраивать максимально возможный уровень защищенности.
Излишнее увеличение уровня защищенности в любом случае увеличит нагрузку на вычислительные ресурсы. Что может привести к необходимости их масштабирования. При этом вероятность угроз, которые будут компенсированы в доверенных сетях имеют очень низкое значение.
Вы просто потратите ресурсы на то, что вообще никогда не случится или может быть компенсировано другими методами.

осторожно

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

Также рекомендуем терминировать SSL трафик на аппаратных балансировщиках нагрузки и использовать обычный HTTP между балансировщиками и Web-серверами Luxms BI во внутренних(доверенных) сетях.

Мы предоставляем минимальную конфигурацию, которая достаточна для обеспечения безопасности. Но Клиент может добавить в нее настройки, позволяющие соответствовать требуемому уровню защиты в соответствии с ВНД.

Настройка конфигурации

Конфигурация Web-сервера, поставляемая для нашего приложения, содержит отключенные (комментированные) директивы для подключения SSL-шифрования сессий пользователя.

В файле /opt/luxmsbi/conf/nginx/conf.d/entrypoint.conf раскомментировать строку с подключением конфигурационного файла /opt/luxmsbi/conf/nginx/conf.d/luxmsbi.ssl:

--- entrypoint.conf.old 2021-10-08 17:36:21.173807998 +0300
+++ entrypoint.conf 2021-10-08 17:36:43.564734068 +0300
@@ -3,7 +3,7 @@
listen 80;

# Uncomment next line to allow SSL
- #include /opt/luxmsbi/conf/nginx/conf.d/luxmsbi.ssl
+ include /opt/luxmsbi/conf/nginx/conf.d/luxmsbi.ssl

# access_log /var/log/luxmsbi/nginx/luxmsbi.access.log with_timing;
error_log /var/log/luxmsbi/nginx/luxmsbi.errors.log;

Содержимое конфигурационного файла /opt/luxmsbi/conf/nginx/conf.d/luxmsbi.ssl тоже подлежит корректировке:

    listen       443 ssl;

ssl_certificate /opt/luxmsbi/conf/ssl/host-full.cer;
ssl_certificate_key /opt/luxmsbi/conf/ssl/host.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

Необходимо откорректировать путь и имена файлов в параметрах конфигурации:

  • ssl_certificate
  • ssl_certificate_key
осторожно

В конфигурационных файлах Nginx не забывайте писать символ ; в конце строки при корректировке имени и пути к файлам.

Конфигурационный файл предполагает хранение сертификатов по пути /opt/luxmsbi/conf/ssl/. Убедитесь, что эти файлы расположены там, где они должны быть, и имеют правильные разрешения доступа и корректного владельца:

ls -la /opt/luxmsbi/conf/ssl

chown -R bi.bi /opt/luxmsbi/conf/ssl
chmod 640 /opt/luxmsbi/conf/ssl/*

Проверка работоспособности

До применения измененной конфигурации запустите команду проверки:

sudo nginx -c /opt/luxmsbi/conf/nginx/nginx.conf -t

Перезапустить сервис luxmsbi-web и проверить журналы на отсутствие ошибок после перезапуска:

sudo systemctl restart luxmsbi-web
sudo systemctl status luxmsbi-web -l
sudo journalctl -u luxmsbi-web