Описание урока
В восьмом видеоуроке расскажем, как предоставить доступ для удаленных пользователей к внутренним ресурсам компании средствами UserGate. Настроим Remote access VPN, SSL VP и создадим Site-to-Site VPN.

Статья 10: L2TP, SSL VPN

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

Я покажу, как настроить Remote access VPN и SSL VPN. В первом случае UserGate необходимо настроить в качестве сервера, а пользователи со своей стороны должны будут настроить клиент для подключения к UserGate (UserGate поддерживает работу со стандартными клиентами большинства популярных операционных систем). Во втором случае пользователям необходим только браузер, но не ко всем типам ресурсов можно настроить доступ таким образом.

VPN для удаленного доступа клиентов

У UserGate нет собственного клиента VPN, поэтому для создания туннелей используется протокол Layer 2 Tunnelling Protocol (L2TP), а для защиты передаваемых данных - протокол IPSec. Так как протокол L2TP/IPsec поддерживается большинством современных операционных систем, это позволяет настроить подключение к UserGate средствами стандартных клиентов. Как я писал выше, UserGate выступает в качестве сервера. Для того, чтобы настроить его, необходимо выполнить следующие действия:

В разделе "Сеть" необходимо разрешить сервис VPN для зоны, из которой будут подключаться клиенты. У меня это зона "Untrusted". Далее в этом же разделе нужно создать зону, в которую помещаются клиенты, подключаемые через VPN. Можно использовать уже существующую зону "VPN for remote access".
Для того, чтобы трафик мог ходить из зоны "VPN for remote access" в необходимые нам зоны, создаем в разделе "Политики сети" правило NAT или используем предустановленное правило "NAT from VPN for remote access to Trusted and Untrusted". Оно разрешает трафик из зоны "VPN for remote access" в зоны "Trusted" и "Untrusted".
Следующим шагом будет создания правила межсетевого экрана. Для этого в разделе "Политики сети" включаем уже существующее правило "VPN for remote access to Trusted and Untrusted" или создаем свое правило (данное правило должно разрешать прохождения трафика из зоны "VPN for remote access" в зоны "Trusted" и "Untrusted").
Далее создаем профиль авторизации в разделе "Пользователи и устройства". Здесь можно использовать тот же профиль авторизации, что используется для авторизации пользователей для получения доступа к сети интернет, но согласно руководству UserGate для авторизации VPN нельзя использовать методы прозрачной авторизации, такие как Kerberos, NTLM, SAML IDP.
VPN поддерживает многофакторную авторизацию, но как видно из скриншота, я не буду настраивать MFA.

Создаем VPN-интерфейс, для этого переходим в раздел "Сеть", "Интерфейсы", где по умолчанию уже создан VPN-интерфейс tunnel1, который рекомендовано использовать для Remote access VPN, включаем его.
Приступаем к непосредственной настройке параметров VPN, для этого переходим в раздел "VPN".
В подразделе "Профили безопасности VPN" уже есть преднастроенный профиль "Remote access VPN profile", остается открыть его и на вкладке "Общие" изменить общий ключ шифрования (Preshared key). На вкладке "Безопасность" можно выбрать пары алгоритмов аутентификации и шифрования. Алгоритмы используются в порядке, в котором они изображены (сверху вниз) и при установлении соединения используется первая пара, которую поддерживают сервер и клиент. Алгоритмы авторизации и шифрования приведенные в примере подходят для большинства стандартных клиентов VPN. Допускается иметь несколько профилей и использовать их для построения соединений с разными типами клиентов.
Далее переходим в подраздел "Сети VPN". Либо создаем новую сеть VPN, либо меняем имеющуюся "Remote access VPN network":

Настроим диапазон IP-адресов, которые будут использованы клиентами. Исключаем из диапазона адреса, которые назначены VPN-интерфейсу, используемые совместно с данной сетью. Также не следует указывать широковещательный адрес.

Можно назначить свои DNS-сервера, которые будут переданы клиенту, или поставить галочку "Использовать системные DNS". Во втором случае клиенту будут назначены DNS-серверы, которые использует UserGate.

На вкладке "Маршруты VPN" указываются маршруты, передаваемые клиенту в виде бесклассовой адресации (CIDR). Например, если указать любой, то весь трафик удаленного пользователя будет уходить в туннель, а потом маршрутизироваться как локальный трафик шлюзом. Если же необходимо пускать трафик только в локальную сеть, то указываем здесь эту сеть, а остальной трафик будет идти мимо туннеля.
Создавая серверное правило в подразделе "Серверные правила" мы используем ранее настроенные сеть VPN, интерфейс VPN и профиль VPN. Также выбираем зону "Untrusted", с которой будут подключаться пользователи VPN, профиль авторизации "User auth profile" и пользователи VPN (у меня это локальная группа "VPN users" и доменный пользователь "test").
Также, если необходимо настроить MFA TOTP (Time-based One-time Password Algorithm), то здесь же производится первоначальная инициализация TOTP-устройства.
Следующим шагом является настройка VPN клиента на пользовательском компьютере. Для Windows 10 настройки показаны на скриншоте внизу, но есть несколько нюансов. Для подключения используется незашифрованный пароль (PAP), соответственно в настройках адаптера указываем данный протокол. Хоть здесь и используется незашифрованный пароль, но передается он по зашифрованному нашим общим ключом каналу. Также для корректной работы в данной системе необходимо изменение параметра реестра HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent в соответствии со статьей.
Для настройки на Linux клиентах, UserGate предлагает установить дополнительные пакеты network-manager-l2tp и network-manager-l2tp-gnome. После этого можно приступить к настройке:

Создаем новое подключение VPN выбрав Layer 2 Tunneling Protocol (L2TP).
После этого настраиваем параметры подключения и указываем данные для аутентификации. В настройках PPP оставляем в качестве метода аутентификации PAP и отключаем все виды компрессии. В настройках IPsec указываем Pre-shared key и указываем следующие параметры:

Phase1 algorithms: aes128-sha1-modp1024!

Phase2 algorithm: aes128-sha1!

Веб-портал (SSL VPN)

Веб-портал позволяет предоставить доступ к внутренним веб-ресурсам, терминальным и ssh-серверам компании для удаленных или мобильных пользователей, используя при этом только протокол HTTPS.

Включить веб-портал необходимо в разделе "Настройки" кликнув на соответствующую кнопку.
В открывшемся окне настроек включаем чекбоксом "Включено" портал, задаем имя хоста, указываем порт, который будет использоваться сервисом веб-портала, профиль авторизации, шаблон страницы авторизации, шаблон портала. По желанию можно добавить на странице портала выбор домена AD/LDAP, а также показ CAPTCHA. Если не назначить свой сертификат для создания HTTPS-соединения, то будет использоваться сертификат для роли SSL Captive-портала. Также можно включить авторизацию пользователей по сертификату, но тогда необходимо добавить пользовательский сертификат в список сертификатов UserGate с ролью "Пользовательский сертификат" и сопоставить его с пользователем.
Чтобы разрешить доступ к сервису, нужно для зоны, из которой будут подключаться пользователи поставить, поставить галочку напротив веб-портала.
Теперь у пользователей есть доступ на портал. Осталось добавить внутренние ресурсы. Для этого необходимо перейти в раздел "Глобальный портал" и в подразделе "Веб-портал" создать записи публикаций внутренних ресурсов.
Нажав кнопку "Добавить" в подразделе "Веб-портал", появляется окно настроек ресурса. Включив ресурс и заполнив название, переходим к полю "URL", здесь необходимо указывать полный URL, начиная с http://, https://, ftp://, ssh:// или rdp://. Для работы RDP доступа необходимо отключить опцию Network Level Authentication на сервере терминалов. Поле "Домен прямого доступа" необязательно к заполнению, если указать домен, то пользователь может получить доступ к публикуемому ресурсу, минуя веб-портал. В поле "Иконка" можно выбрать иконку, которая будет отображаться на веб-портале для данной закладки. На вкладке "Вспомогательные URL" указываются URL, необходимые для работы основного URL. На вкладке "Пользователи" выбираем пользователей, у которых будет отображаться ресурс.

Заключение

В данной статье были рассмотрены два метода доступа к ресурсам компании для удаленных пользователей. Также можно предоставить доступ к некоторым ресурсам с помощью DNAT/Порт-форвардинга и Reverse-прокси, но DNAT/Порт-форвардинг уже рассматривался ранее, а Reverse-прокси используется для публикации серверов HTTP/HTTPS только с некоторыми преимуществами (в отличие от DNAT/Порт-форвардинга):

  1. Публикация по HTTPS серверов, работающих по HTTP и наоборот.
  2. Балансировка запросов на ферму веб-серверов.
  3. Возможность ограничения доступа к публикуемым серверам с определенных Useragent.
  4. Возможность подмены доменов и путей публикуемых серверов.

Следует также отметить, что при публикаций внутренних ресурсов с помощью DNAT/Порт-форвардинга, Reverse-прокси и веб-портала порядок применения правил следующий: 1. Правила DNAT. 2. Правила Reverse-прокси. 3. Правила веб-портала.

Автор статьи: Дмитрий Лебедев, инженер TS Solution.

Статья 11: Site-to-site

Site-to-Site VPN — способ реализации VPN-соединения. Данное соединение позволяет устанавливать безопасные соединения между сетями через общедоступную сеть (например, между центральным офисов в г. Санкт-Петербург и филиалом в г. Москва).

Для этого через общедоступную сеть создается VPN туннель (виртуальный сегмент сети), который шифруется с помощью ряда алгоритмов. В Usergate для создания туннелей используется протокол Layer 2 Tunnelling Protocol (L2TP), а для защиты передаваемых данных — протокол IPSec.

Для создания Site-to-Site VPN необходимо настроить один шлюз в качестве VPN-клиента, а другой — в качестве VPN-сервера. Соответственно, необходимо сначала настроить сервер, а затем подключить к нему клиент.

Настройка сервера

Схема тестирования функционала:
Схема
Настройка VPN-сервера:

1. В разделе «Пользователи и устройства» – «Пользователи» необходимо создать пользователя для каждого из удаленных Usergate, выступающих в роли VPN-клиентов. Данных пользователей рекомендуется поместить в отдельную группу.
Создание пользователей
2. Затем необходимо разрешить сервис VPN на зоне, к которой буду подключаться VPN-клиенты. В нашем случае это зона Untrusted.

Также требуется создать специальную зону, в которую будут помещены VPN-сервера. По умолчанию уже создана зона «VPN for Site-to-Site»

3. В разделе «Политики сети» – «Межсетевой экран» необходимо создать правило, разрешающее прохождение трафика из VPN зоны в другие зоны. По умолчанию такое правило уже создано.
4. В разделе «Пользователи и устройства» – «Профили авторизации» требуется создать профиль для авторизации пользователей VPN.
Следует учесть, что для авторизации VPN нельзя использовать методы прозрачной аутентификации (Kerberos, NTLM, SAML IDP).

5. Создать профиль безопасности VPN.

Данный профиль определяет такие параметры как общий ключ шифрования и алгоритмы для шифрования и аутентификации. Для создания профиля безопасности: «VPN – «Профили безопасности VPN» – «Добавить». По умолчанию уже создан профиль безопасности, необходимо только задать общий ключ шифрования.
В разделе «Безопасность – Методы аутентификации» определяются пары алгоритмов шифрования и аутентификации. Для совместимости со стандартными клиентами VPN рекомендуется оставить значения по умолчанию.
Более криптостойкими считаются алгоритмы хэширования SHA512 и SHA386 и 256-битное шифрование AES, но за счет этого они являются более ресурсозатратными.
Алгоритмы используются в порядке, в котором они изображены (сверху вниз). При установлении соединения используется первая пара, которую поддерживают сервер и клиент.
6. Следующий шаг — создать VPN-интерфейс. VPN-интерфейс — виртуальный сетевой адаптер, который используется для подключения клиентов VPN. По умолчанию в системе уже создан VPN-интерфейс tunnel2, который рекомендовано использовать для Site-to-Site VPN на VPN-сервере.
7. Создать VPN-сеть, которая определяет сетевые настройки, необходимые при подключении клиента к серверу. В первую очередь, определяет ip-адреса клиентам внутри туннеля.

Для создания VPN-сети: «VPN» – «Сети VPN» – «Добавить». По умолчанию в системе уже создана сеть для Site-to-Site VPN.
8. Создать серверное правило VPN: «VPN» – «Серверные правила» – «Добавить».

Необходимо указать созданные ранее атрибуты: профиль безопасности, профиль авторизации, VPN-сеть и интерфейс.
Во вкладке «Исходная зона» указывается зона, к которой будут подключаться VPN-клиенты.

Во вкладке «Пользователи» указываются пользователи, созданные на первом шаге. Проверка пользователей происходит после установления VPN-соединения.
На этом настройка со стороны VPN-сервера закончена.

Подключение клиента

Следующий этап — настройка подключения VPN-клиента к VPN-серверу. На стороне клиента:

1. Создать зону для помещения в нее VPN-интерфейсов. По умолчанию уже создана VPN Site-to-Site.

2. Создать правило межсетевого экрана, разрешающее прохождение трафика из зоны VPN Site-to-Site до зон Trusted и Untrusted. По умолчанию уже создано такое правило, необходимо его только активировать.

3. Создать VPN-интерфейс. По умолчанию в системе уже создан VPN-интерфейс tunnel3, который рекомендовано использовать для клиентского подключения Site-to-Site VPN. Данный интерфейс будет получать ip-адреса из диапазона, который был задан при настройке VPN-сервера.
4. Далее необходимо создать клиентское правило, которое будет инициировать подключение к VPN-серверу.

«Профиль безопасности» — необходимо выбрать профиль безопасности, который содержит схожие алгоритмы шифрования и аутентификации, а также прописать в нем общий ключ, заданный при настройке VPN-сервера.

«Интерфейс» — выбираем, созданный выше интерфейс для VPN-клиента.

В строке «Адрес сервера» необходимо указать ip-адрес шлюза, к которому будем подключаться.

«Протокол VPN» — возможно выбрать вариант L2TP (для подключения к VPN-серверу UserGate) или IPSec туннель для подключения к VPN-серверу Cisco.

«Подсети для Cisco VPN» — ip-адрес сети, к которой будет выполнено подключение.

«Имя пользователя и пароль» (только для L2TP) — имя пользователя и пароль, созданные при настройке VPN-сервера.
В результате, если все настроено верно, то у правила появится зеленый индикатор, сигнализирующий о том, что VPN-соединение установлено.
Как видно по дампу трафика, между шлюзами происходит защищенный обмен данными по протоколам IPSec.
Автор статьи: Дмитрий Лебедев, инженер TS Solution.