Для работы серверных компонентов Рутокен KeyBox на ОС Linux настройте веб-сервер Angie PRO в качестве обратного прокси-сервера:
Установите Angie PRO.
Установите SSL/TLS-сертификат.
Настройте конфигурационный файл angie.conf.
Выберите инструкцию в зависимости от ОС рабочей станции, где вы устанавливаете Angie PRO.
Debian-based
Angie PRO поставляется в закрытом репозитории, доступ к которому предоставляется вендором в рамках лицензии. Вместе с лицензией вы получите клиентский сертификат angie-repo.crt, закрытый ключ angie-repo.key и файл лицензии license.pem.
Скопируйте клиентский сертификат и ключ в отдельный каталог и выдайте apt права на чтение.
Сделайте сертификат доверенным в домене, например, с помощью групповых политик.
Выдайте системному пользователю Angie (задан в директиве user файла /etc/angie/angie.conf) права на чтение файлов сертификата.
Настройка конфигурационного файла
Для работы Рутокен KeyBox настройте Angie PRO, чтобы веб-сервер обслуживал запросы и отправлял их на проксируемый адрес — сервис Рутокен KeyBox.
Работа Angie PRO и его модулей определяется в конфигурационном файле angie.conf, расположенном в каталоге /etc/angie.
Контекст
Директива
Значение по умолчанию
Рекомендуемое значение
Комментарий
http
proxy_buffer_size
4k|8k
16k
Увеличивается размер прокси буферов для передачи информации в http-запросах
proxy_buffers
8 4k|8 8k
4 16k
Увеличивается размер прокси буферов для передачи информации в http-запросах
types_hash_max_size
1024
4096
Увеличивается размер хэш-таблиц для хранения информации из-за большого количества проксируемых сервисов
client_max_body_size
1m
10m
Увеличивается допустимый размер загружаемых в систему файлов
large_client_header_buffers
4 8k
4 16k
Увеличивается допустимый размер буферов для чтения больших заголовков запроса клиента. Например, длинные URL или файлы cookie
server
listen
80
443 ssl
Измените порт прослушивания на протокол HTTPS, по умолчанию Angie PRO настроен на HTTP
3003 ssl
Укажите порт 3003 для дополнительного контекста server, если Рутокен KeyBox настроен на работу с клиентскими агентами
ssl_certificate
—
/etc/ssl/private/SSL.crt
Для работы по HTTPS укажите путь к файлу с цепочкой сертификатов (SSL сертификат, сертификаты промежуточного и корневого УЦ)
ssl_certificate_key
—
/etc/ssl/private/SSL.key
Для работы по HTTPS укажите путь к закрытому ключу SSL сертификата
ssl_verify_client
off
optional_no_ca
Добавьте в случае авторизации по сертификату (используется клиентскими агентами)
location
proxy_pass
—
*
Один экземпляр контекста location направляет запросы на один адрес — сервис Рутокен KeyBox. Таким образом, количество контекстов location должно быть равно количеству сервисов Рутокен KeyBox.
Некоторые директивы описываются для каждого location. Для компактности конфигурационного файла рекомендуется создать файл с часто используемым набором директив и подключать его в каждый location вместо описывания набора целиком
proxy_http_version
1.0
1.1
Версия 1.1 рекомендуется для keepalive-подключений и NTLM-аутентификации
proxy_cache_bypass
—
$http_upgrade
Определяет условия, при которых ответ не берется из кеша
proxy_set_header
—
Upgrade $http_upgrade
Определяет переход с HTTP/1.1 на веб-сокет после установки соединения
Connection keep-alive
Для использования keepalive-подключений
Host $host
Для сохранения в заголовках имени сервера Angie PRO при их передаче сервисам Рутокен KeyBox
X-Real-IP $remote_addr
По умолчанию работа в режиме обратного прокси использует нестандартные заголовки о пользовательском IP адресе, что требует задания данной директивы
X-Forwarded-For $proxy_add_x_forwarded_for
Определяет формирование заголовка для корректного проксирования. Если в изначальном заголовке нет поля X-Forwarded-For, то $proxy_add_x_forwarded_for = $remote_addr
X-Forwarded-Proto $scheme
Веб-сервер принимает запросы по HTTPS и проксирует их к HTTP-сервисам Рутокен KeyBox для корректной подмены протокола
fastcgi_buffers
8 4k|8k
16 16k
Определяет количество и размер буферов для чтения ответов от FastCGI-сервера на одно подключение
fastcgi_buffer_size
4k|8k
32k
Определяет размер буфера для чтения первой части ответа от FastCGI-сервера
proxy_set_header
—
x-ssl-client-cert $ssl_client_escaped_cert
Директива передавать клиентский сертификат при проксировании. Используется клиентскими агентами для авторизации по сертификату
Из-за многократного описания контекстов location определенный набор директив повторяется. Для удобства конфигурации вынесите этот набор директив в отдельный файл и включите директивы из этого файла в описание контекста (директива include).
Создайте файл с многократно используемыми директивами. Можно разместить такой файл с расширением CONF в каталоге /etc/angie/conf.d/.
Рекомендуемое содержимое файла proxy.conf для работы с Рутокен KeyBox
Чтобы применить изменения в конфигурационном файле, перезагрузите конфигурацию или перезапустите Angie PRO.
sudo angie -s reload
RHEL-based
Angie PRO поставляется в закрытом репозитории, доступ к которому предоставляется вендором в рамках лицензии. Вместе с лицензией вы получите клиентский сертификат angie-repo.crt, закрытый ключ angie-repo.key и файл лицензии license.pem.
Скопируйте клиентский сертификат и ключ в отдельный каталог.
Сделайте сертификат доверенным в домене, например, с помощью групповых политик.
Выдайте системному пользователю Angie (задан в директиве user файла /etc/angie/angie.conf) права на чтение файлов сертификата.
Настройка конфигурационного файла
Для работы Рутокен KeyBox настройте Angie PRO, чтобы веб-сервер обслуживал запросы и отправлял их на проксируемый адрес — сервис Рутокен KeyBox.
Работа Angie PRO и его модулей определяется в конфигурационном файле angie.conf, расположенном в каталоге /etc/angie.
Контекст
Директива
Значение по умолчанию
Рекомендуемое значение
Комментарий
http
proxy_buffer_size
4k|8k
16k
Увеличивается размер прокси буферов для передачи информации в http-запросах
proxy_buffers
8 4k|8 8k
4 16k
Увеличивается размер прокси буферов для передачи информации в http-запросах
types_hash_max_size
1024
4096
Увеличивается размер хэш-таблиц для хранения информации из-за большого количества проксируемых сервисов
client_max_body_size
1m
10m
Увеличивается допустимый размер загружаемых в систему файлов
large_client_header_buffers
4 8k
4 16k
Увеличивается допустимый размер буферов для чтения больших заголовков запроса клиента. Например, длинные URL или файлы cookie
server
listen
80
443 ssl
Измените порт прослушивания на протокол HTTPS, по умолчанию Angie PRO настроен на HTTP
3003 ssl
Укажите порт 3003 для дополнительного контекста server, если Рутокен KeyBox настроен на работу с клиентскими агентами
ssl_certificate
—
/etc/ssl/private/SSL.crt
Для работы по HTTPS укажите путь к файлу с цепочкой сертификатов (SSL сертификат, сертификаты промежуточного и корневого УЦ)
ssl_certificate_key
—
/etc/ssl/private/SSL.key
Для работы по HTTPS укажите путь к закрытому ключу SSL сертификата
ssl_verify_client
off
optional_no_ca
Добавьте в случае авторизации по сертификату (используется клиентскими агентами)
location
proxy_pass
—
*
Один экземпляр контекста location направляет запросы на один адрес — сервис Рутокен KeyBox. Таким образом, количество контекстов location должно быть равно количеству сервисов Рутокен KeyBox.
Точка проксирования указывается в формате: http://localhost:*PORT*/cm/*SERVICENAME* http://localhost:*PORT*/*AGENTSERVICENAME* Где PORT — порт, на котором запущен сервис Рутокен KeyBox, SERVICENAME и AGENTSERVICENAME — имя запущенного сервиса
include
—
/etc/angie/conf.d/proxy.conf
Некоторые директивы описываются для каждого location. Для компактности конфигурационного файла рекомендуется создать файл с часто используемым набором директив и подключать его в каждый location вместо описывания набора целиком
proxy_http_version
1.0
1.1
Версия 1.1 рекомендуется для keepalive-подключений и NTLM-аутентификации
proxy_cache_bypass
—
$http_upgrade
Определяет условия, при которых ответ не берется из кеша
proxy_set_header
—
Upgrade $http_upgrade
Определяет переход с HTTP/1.1 на веб-сокет после установки соединения
Connection keep-alive
Для использования keepalive-подключений
Host $host
Для сохранения в заголовках имени сервера Angie PRO при их передаче сервисам Рутокен KeyBox
X-Real-IP $remote_addr
По умолчанию работа в режиме обратного прокси использует нестандартные заголовки о пользовательском IP адресе, что требует задания данной директивы
X-Forwarded-For $proxy_add_x_forwarded_for
Определяет формирование заголовка для корректного проксирования. Если в изначальном заголовке нет поля X-Forwarded-For, то $proxy_add_x_forwarded_for = $remote_addr
X-Forwarded-Proto $scheme
Веб-сервер принимает запросы по HTTPS и проксирует их к HTTP-сервисам Рутокен KeyBox для корректной подмены протокола
fastcgi_buffers
8 4k|8k
16 16k
Определяет количество и размер буферов для чтения ответов от FastCGI-сервера на одно подключение
fastcgi_buffer_size
4k|8k
32k
Определяет размер буфера для чтения первой части ответа от FastCGI-сервера
proxy_set_header
—
x-ssl-client-cert $ssl_client_escaped_cert
Директива передавать клиентский сертификат при проксировании. Используется клиентскими агентами для авторизации по сертификату
Из-за многократного описания контекстов location определенный набор директив повторяется. Для удобства конфигурации вынесите этот набор директив в отдельный файл и включите директивы из этого файла в описание контекста (директива include).
Создайте файл с многократно используемыми директивами. Можно разместить такой файл с расширением CONF в каталоге /etc/angie/conf.d/.
Рекомендуемое содержимое файла proxy.conf для работы с Рутокен KeyBox