КриптоПро Stunnel (Client-Server)
Опубликовано on 2013-09-30 12:08

Ниже показан пример шифрования трафика между экземпляром Stunnel (режим "клиента") на ОС Linux и экземпляром Stunnel (режим "сервера") на ОС Windows. В режиме "клиента" Stunnel принимает трафик от клиентского приложения, зашифровывает его и отправляет на сервер. На сервере трафик расшифровывается и передаётся конечному приложению или другой службе на этом сервере.  

Клиент Stunnel (Linux) принимает трафик на указанном порте 1500 по адресу 192.168.69.180, шифрует все поступившие на него данные и передает их на Stunnel Сервер (Windows) с IP адресом 192.168.69.61 на порт 1502. Сервер расшифровывает все поступившие на этот порт данные и передает на указанный в настройках порт и адрес (google.ru, порт 80). 

Если требуется проверка сертификата клиента, нужно назначить параметр "Verify=2".

Установка на ОС Linux

Для работы необходимо установить КриптоПро CSP - http://www.cryptopro.ru/products/csp/downloads

Обязательные пакеты:

  • lsb-cprocsp-base
  • sb-cprocsp-rdr
  • lsb-cprocsp-capilite
  • lsb-cprocsp-kc1 ( или lsb-cprocsp-kc2)

Дополнительный пакет (входит в состав дистрибутива):

  • cprocsp-stunnel

Установка пакета Stunnel

Для дистрибутивов Linux, основанных на rpm, это утилита rpm:

  • rpm -i cprocsp-stunnel-*.rpm

Для дистрибутивов, основанных на deb, это утилита dpkg:

  • dpkg -i cprocsp-stunnel-*.deb

После установки пакета бинарные файлы, предназначенные для запуска Stunnel, будут помещёны в /opt/cprocsp/sbin/<архитектура>/. Существует две реализации службы Stunnel: с использованием библиотеки thread и с использованием fork; бинарные файлы называются stunnel_thread и stunnel_fork соответственно. Stunnel с использованием fork возможно использовать только с КриптоПро CSP исполнение КС2.

Установка сертификата

Устанавливаем сертификат клиента в хранилище "Личные" локального компьютера с привязкой к контейнеру закрытого ключа. В сертификате требуется наличие OID - "Проверки подлинности клиента". 

/opt/cprocsp/bin/<архитектура>/certmgr -inst -file client.cer -cont '\\.\HDIMAGE\client'

Требуется установить необходимые сертификаты:

а) сертификат корневого Центра Сертификации (ЦС) – в хранилище "Доверенные корневые Центры Сертификации" локального компьютера

/opt/cprocsp/bin/<архитектура>/certmgr -inst -file root.cer -store ROOT

б) если сертификат клиента выдан на подчинённом ЦС - сертификаты всех подчиненных ЦС в цепочке должны быть установлены в хранилище "Промежуточные Центры Сертификации" локального компьютера

/opt/cprocsp/bin/<архитектура>/certmgr -inst -file ca.cer -store CA

 

Запуск службы

Запуск службы будет выполняться под тем пользователем, под которым был установлен сертификат.

Пример:

root@ubuntu:/opt/cprocsp/sbin/ia32# ./stunnel_thread /etc/stunnel/stunnel.conf

 

Установка на ОС Windows

Для работы необходимо установить:

Установка службы Stunnel

Установка делается путём запуска stunnel.exe – install

В дальнейшем служба для старта будет использовать файл stunnel.exe из той папки, откуда была проведена установка.

Перед установкой нужно выбрать режим работы службы, установить сертификаты и сформировать файл конфигурации. 

Установка сертификата

Устанавливаем сертификат сервера в хранилище "Личные" локального компьютера с привязкой к контейнеру закрытого ключа. Для TLS-сервера требуется, чтобы в сертификате сервера был OID - "проверка подлинности сервера". Имя сертификата (Common Name) должно совпадать с именем компьютера.

Требуется установить необходимые сертификаты:

а) сертификат корневого Центра Сертификации (ЦС) – в хранилище "Доверенные корневые Центры Сертификации" локального компьютера;

б) если сертификат сервера выдан на подчинённом ЦС - сертификаты всех подчиненных ЦС в цепочке должны быть установлены в хранилище "Промежуточные Центры Сертификации" локального компьютера.

Запуск службы по умолчанию выполняется от пользователя "SYSTEM"

Пуск -> Панель управления -> Администрирование -> Службы -> Stunnel Service -> Пуск (Запустить).

В браузере Internet Explorer обращаемся по адресу - 192.168.69.180:1500, открывается адрес - google.ru:80

Получается следующая цепочка:

данные_в_открытом_виде ->192.168.69.180:1500 ->шифрование ->
данные_в_зашифрованном_виде ->192.168.69.61:1502 ->дешифровка ->
данные_в_открытом_виде ->google.ru:80

Данная программа позволяет создавать TLS-"туннель", обеспечивающий шифрование трафика от клиента до сервера с использованием сертифицированного СКЗИ произвольного TCP-соединения.

Подробные настройки по использованию Stunnel

http://www.cryptopro.ru/sites/default/files/products/stunnel/userguidestunnel_linux.pdf

http://www.cryptopro.ru/sites/default/files/products/stunnel/userguidestunnel_windows.pdf



Вложения 
 
 stunnel linux(ubuntu) client.jpg (298.45 КБ)
 stunnel windows server.jpg (184.08 КБ)
(19 плюсик(ов))
Класс!
Не очень :(

Коментарии (0)