Решения nginx и Apache HTTP Server (далее — Apache) — два самых широко распространенных веб-сервера с открытым исходным кодом в мире. Каждый из них обладает собственными преимуществами, при этом одной из основных функциональных возможностей обоих серверов является построение защищенного с использованием протокола TLS соединения между клиентом и сервером с обеспечением целостности и конфиденциальности передаваемых данных, в том числе с применением российских криптографических алгоритмов ГОСТ.
Возможность использования TLS с ГОСТ обеспечивается с помощью вызова функций СКЗИ КриптоПро CSP (далее — СКЗИ):
- в nginx — применением к исходным текстам специальных патчей, входящих в состав отдельных версий СКЗИ;
- в Apache — использованием бинарного модуля mod_ssl из состава СКЗИ.
Таким образом, СКЗИ можно эксплуатировать совместно с серверами nginx и Apache определенных версий для реализации TLS с ГОСТ без проведения исследований по оценке влияния указанных серверов на СКЗИ, что делает возможным использование данного решения для обеспечения криптографической защиты передаваемых между клиентом и сервером конфиденциальных данных (в том числе персональных данных) в соответствии с требованиями законодательства РФ по информационной безопасности. При эксплуатации иных версий nginx/Apache или СКЗИ проведение оценки влияния является обязательным во всех случаях, предусмотренных законодательством. Подробнее о работе TLS с ГОСТ можно ознакомиться в нашей статье.
Процесс установки и настройки совместной работы СКЗИ с веб-серверами nginx описан в Руководстве администратора безопасности к соответствующей версии СКЗИ. Необходимые компоненты для работы решения можно скачать в составе СКЗИ. Программное обеспечение nginx и Apache не входит в комплект поставки СКЗИ. Исходные тексты nginx необходимо скачать с официального сайта с последующей проверкой контрольной суммы, а дистрибутив Apache обычно входит в состав ОС.
По сравнению со штатным использованием серверов nginx и Apache, при реализации TLS с ГОСТ на nginx или Apache в качестве криптографического ядра вместо OpenSSL используется СКЗИ КриптоПро CSP и поэтому функциональность решения имеет некоторые особенности:
- Общий кэш при работе в рабочих процессах отсутствует;
- Поддержка директив конфигурации, указанных в файле конфигурации и относящихся к TLS, реализована частично.
Для реализации TLS с ГОСТ на nginx или Apache необходимо приобрести годовую или бессрочную клиентскую лицензию (обязательно при реализации двухстороннего TLS с ГОСТ), специальную бессрочную серверную лицензию с поддержкой TLS и при необходимости сертификаты технической поддержки на указанные лицензии. С полным перечнем необходимых для реализации решения лицензий и сертификатов технической поддержки можно ознакомиться на нашем сайте.
В настоящее время в состав СКЗИ КриптоПро CSP версий 5.0 R2 KC1 (исполнение
- Патч для nginx версии 1.18.0;
- Модуль mod_ssl для Apache версии 2.4.25+ (для ОС Astra Linux SE) и Apache 2.4.41+ (для других ОС семейства Linux).
Отдельно стоит отметить возможность реализации TLS с ГОСТ на веб-сервере Apache Tomcat, используемом для исполнения веб-приложений, написанных на Java. Для решения данной задачи можно использовать криптопровайдер КриптоПро JCP, реализующий SSL и TLS протоколы на базе российских криптографических алгоритмов ГОСТ. При этом, в случае использования КриптоПро JCP 2.0 R4, проведение оценки влияния Apache Tomcat на СКЗИ не потребуется.
В качестве альтернативы предлагаем также рассмотреть более функциональное и производительное решение — TLS-шлюз и VPN КриптоПро NGate, сертифицированный ФСБ России и позволяющий одновременно реализовать TLS с ГОСТ для большого количества веб-серверов, также без необходимости проведения оценки влияния среды функционирования.