Pull to refresh
0

Пробрасываем толстый клиент через SSL туннель с шифрованием по ГОСТ

Reading time 7 min
Views 70K
Привет, Хабровчане!

Сегодня мы хотим рассказать о преимуществах технологии SSL VPN и о практике работы со шлюзом Stonesoft SSL. В статье будет описана настройка данного решения для проброса толстого клиента (на примере хорошо знакомой многим 1С Бухгалтерии) через протокол HTTPS с применением ГОСТовых алгоритмов шифрования. Это позволит нашему любимому главному бухгалтеру удаленно работать с базой 1С по зашифрованному каналу прямо с дачи, нам – быстро подключить к системе пару сотен разбросанных по стране небольших офисов, а нашей организации – выполнить требования законодательства по защите, например, персональных данных.

В статье описывается способ безопасной публикации клиент-серверных приложений через Веб, руководствуясь которым, можно организовать удаленный доступ практически к любому корпоративному ресурсу.

Что такое SSL VPN


Итак, давайте посмотрим, как SSL VPN может облегчить нам жизнь и сэкономить время и нервы. Описывать технологию смысла не вижу, чтобы не докучать сухой технической информацией продвинутому читателю. Освежить знания по SSL VPN можно здесь. Мы же остановимся на практике использования и подумаем, чем же так хорош SSL VPN в сравнении с классическим IPSec VPN.

Суть технологии SSL VPN состоит в следующем: клиент подключается по 443 порту к шлюзу, который в свою очередь инициирует соединение с удаленным сервером (в нашем случае – это 1С), как прокси-сервер.

Во-первых, это удобно. Можно организовать доступ к любому сервису/ресурсу с любого пользовательского устройства из любого места, где есть Интернет. Не надо устанавливать никаких VPN-клиентов, настраивать их, как в случае использования IPSec VPN, достаточно в браузере ввести адрес, аутентифицироваться и работать. Пользователь сможет получить удаленный доступ к корпоративному ресурсу даже через публичный или гостевой Wi-Fi, т.к. 443 порт открыт почти во всех сетях.

Во-вторых, это просто. Просто для всех. Вам не придется объяснять тетеньке-бухгалтеру пользователю, что для получения доступа к какому-то ресурсу ему надо в трее найти иконку VPN-клиента, нажать на ней правой кнопкой мыши, из списка выбрать адрес шлюза, нажать «Connect», ввести логин и пароль (снова привет IPSec VPN). Просто для администраторов, т.к. не надо выдавать пользователю рабочий ноутбук для командировок с установленным и настроенным VPN-клиентом, антивирусом и другим корпоративным ПО.

В-третьих, это безопасно. Есть много механизмов защиты, которые шлюз SSL VPN может применять к клиенту. Два главных механизма – это аутентификация и шифрование. Методы и средства аутентификации можно выбрать самые различные: по логину/паролю, RADIUS, сертификаты, одноразовые пароли, интеграция с Active Directory и многие другие, в зависимости от выбранного решения SSL VPN.

Шифрование тоже на любой вкус, все зависит от вендора. Например, Stonesoft SSL, который мы рассмотрим в этой статье, предлагает нам выбирать из следующих алгоритмов: AES, DES, 3DES, RC2, RC4 и, в версии для России, ГОСТ 28147-89, что очень радует наших гос. регуляторов. Так как мы живем в России и законы не нарушаем, то наличие у этого продукта сертификатов соответствия ФСТЭК и ФСБ позволяет существенно расширить область его применения.

Также можно выделить такие интересные механизмы защиты, как проверка конечного устройства пользователя на соответствие политике безопасности и удаление следов сессии по окончании соединения (cookies, история URL, данные из кэша и временные файлы).

Что имеем и что хотим


Задача стоит следующая: организовать защищенный доступ к серверу 1С по протоколу HTTPS с использованием ГОСТового шифрования с ноутбука бухгалтера, который любит отдыхать и работать на даче. По сути, мы будем прокидывать толстый клиент 1С, который работает по «своим» портам (1540 TCP, 1560-1591 TCP), через порт 443 TCP.

Ниже рассмотрим 2 варианта исполнения подключения через шлюз SSL VPN:
  • 1С-клиент работает с сервером 1С по портам 1540 TCP, 1560-1591 TCP, база 1С хранится в СУБД, установленной на том же сервере
  • 1С-клиент работает напрямую с базой, которая находится в папке с общим доступом

Для реализации этих сценариев в лаборатории был собран стенд:
  • Сервер 1С: Windows Server 2008 R2 x64, MS SQL 2008 R2 Express, 1С 8.3.1.531
  • Клиент: Windows XP SP2, клиент 1С 8.3.1.531, КриптоПро CSP 3.6
  • Межсетевой экран (МЭ): Stonesoft FW/VPN 5.4.3.9685
  • Шлюз SSL VPN: Stonesoft SSL 1.5.200.2002 kc1 GOST, для клиента доступен по адресу https://ssl.sglab.ru/
  • Удостоверяющий центр: тестовый УЦ КриптоПро


МЭ стоит для эмуляции работы через интернет: на внешнем интерфейсе открыт только порт 443 TCP


и настроен NAT на интерфейс шлюза SSL VPN.


Как видно из схемы и правил на МЭ, доступа извне к серверу 1С нет (безопасность прежде всего!).

Настраиваем SSL VPN


Описывать процесс установки прошивки с поддержкой ГОСТ на шлюз SSL VPN и его первоначальной настройки не буду, все это можно найти в Интернетах и гайдах. Так что условимся, что у нас есть чистый Stonesoft SSL с установленными криптобиблиотеками КритоПро CSP, сгенерированными ключами, импортированными сертификатами шлюза и доверенного Удостоверяющего центра.

Ниже приведены сертификаты шлюза Stonesoft SSL и пользователя, выпущенные на тестовом Удостоверяющем центре.

Сертификат шлюза SSL VPN:


Сертификат пользователя:


Настройку шлюза SSL VPN можно разделить на следующие шаги:
  • Настройка аутентификации пользователей
  • Публикация ресурсов на портале приложений шлюза SSL VPN
    • Вариант №1: 1С-клиент работает с сервером 1С по портам 1540 TCP, 1560-1591 TCP
      • Создание туннельного ресурса
      • Создание объекта на портале приложений
    • Вариант №2: 1С-клиент работает напрямую с базой, которая находится в папке с общим доступом
      • Создание стандартного ресурса

Ниже приведено подробное описание настроек со скриншотами.

Настройка аутентификации пользователей

Сначала настроим аутентификацию пользователей. Мы выбрали следующую схему: аутентификация по сертификатам, выданным только доверенным УЦ без привязки к какому-либо хранилищу пользователей. Т.е. если у пользователя есть сертификат, выданный УЦ, который шлюз считает доверенным, то пользователь может аутентифицироваться. Итак, заходим на https://10.30.0.213:8443/ и попадаем на консоль администрирования шлюза Stonesoft SSL.

Идем на вкладку Manage System – Authentication Methods.


Добавляем новый метод – жмем Add Authentication Method…, выбираем тип User Certificate, задаем имя методу и выбираем УЦ, который будет использоваться для данного типа аутентификации.


По умолчанию аутентифицироваться может не любой пользователь, а только тот, чья учетная запись известна шлюзу. Для нашей схемы нужно добавить новый атрибут для созданного метода аутентификации: жмем Add Extended Property…, выбираем атрибут Allow user not listed in Any User Storage и выставляем значение атрибута true.


Все, новый метод аутентификации готов, для применения изменений жмем кнопку Publish. Это, наверное, самая важная кнопка при работе с Stonesoft SSL, не забывайте жать ее каждый раз, когда что-то меняете.


Публикация ресурса. Вариант №1

Теперь надо опубликовать ресурс, чтобы он был доступен пользователю на портале приложений шлюза SSL VPN. Сначала рассмотрим Вариант №1: 1С-клиент подключается к серверу 1С и работает с базой в СУБД.

Процесс создания и публикации ресурса можно описать следующим образом:
  • Создание хоста (в нашем случае это сервер 1С)
  • Создание ссылки на портале приложений шлюза SSL VPN

Идем на вкладку Manage Resource Access – Tunnel Resources, жмем Add Tunnel Resource Host… Заполняем имя ресурса, IP-адрес и порты, по которым мы хотим получить доступ к серверу 1С.


Теперь нужно создать элемент на портале приложений. Идем на вкладку Manage Resource Access – Tunnel Sets, жмем Add Tunnel Set и заполняем имя, выбираем иконку, которая будет видна пользователю (можно выбрать из готовых или загрузить свою), в поле Link Text пишем текст, который будет отображаться под иконкой.


На следующем шаге мы должны указать шлюзу SSL VPN, какой трафик заворачивать в SSL, для этого добавляем динамический туннель, для чего жмем Add Dynamic Tunnel to the Set… и из выпадающего списка в поле Resource выбираем хост с сервером 1С. Все остальные поля заполняются автоматически в соответствии со свойствами ресурса, который мы выбрали.


Теперь самый ответственный момент, необходимо правильно написать команду, которая будет выполняться на клиентском ПК, автоматически запуская клиент 1С с требуемыми параметрами подключения к серверу. У меня она выглядит следующим образом: «C:\Program Files\1cv8\8.3.1.531\bin\1cv8c.exe» /S«10.30.0.238\1c». Стоит помнить о том, что если пользователей несколько, то у всех путь к исполняемому файлу должен быть одинаковым. Если это по каким-то причинам невозможно, то можно поле Startup Command оставить пустым, тогда клиент 1С придется запускать вручную и указывать все параметры после открытия ресурса на портале приложений.


После всех проделанных действий жмем Publish.


Теперь можем проверить, что у нас вышло. Запускаем браузер, пишем в адресной строке https://ssl.sglab.ru/ и видим окно с выбором сертификата.


После аутентификации попадаем на портал приложений.


Жмем на и видим, как загружается Access Client, запускается команда, которую мы писали в свойствах Tunnel Set и в итоге стартует клиент 1С: Предприятие и подключается к серверу.


В момент подключения можно посмотреть логи на МЭ и убедиться, что все работает через HTTPS.


Публикация ресурса. Вариант №2

Теперь настроим другой сценарий – пользователь жмет на иконке 1С на портале приложений и получает доступ к папке с базой на сервере 1С.

Заходим на консоль администрирования шлюза, идем на вкладку Manage Resource Access – Standard Resources – File Sharing Resources – Microsoft Windows File Share и жмем Add this Standard Resource.


Заполняем имя ресурса, IP-адрес сервера 1С, имя папки с базой, к которой открыт общий доступ, выбираем иконку для портала приложений и пишем отображаемое имя.


Собственно, все. Не забываем опубликовать изменения на портале.


Теперь с клиентского ПК снова заходим на https://ssl.sglab.ru/ и жмем на созданной иконке База 1С.


После чего мы видим папку с базой 1С.


Далее все просто и понятно – добавляем в клиенте 1С новую информационную базу, указываем путь \\10.30.0.238\1cbase и работаем с ней по защищенному каналу через HTTPS.

Заключение


Таким образом, мы настроили шлюз SSL VPN для удаленной работы с сервером 1С в двух вариантах по зашифрованному ГОСТовыми алгоритмами каналу и позволили нашим пользователям безопасно работать с корпоративными ресурсами через толстые клиенты.

Это далеко не все, на что способен Stonesoft SSL VPN. Приведенную конфигурацию несложно будет «оттюнинговать» под свои потребности.

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

Всем спасибо за внимание!

newmaxidrom
Tags:
Hubs:
+16
Comments 88
Comments Comments 88

Articles

Information

Website
it.ru
Registered
Founded
Employees
1,001–5,000 employees
Location
Россия