Объединение сетей удаленных офисов. Развертывание VPN-сети

В этой статье подробно рассмотрим процесс настройки VPN сервера в операционной системе Windows Server, а также ответим на вопросы: Что такое VPN и как настроить VPN соединение?

Что такое VPN соединение?

VPN (Virtual Private Network) – это виртуальная частная сеть, которая используются для обеспечения защищенного подключения к сети. Технология, позволяющая объединить любое количество устройств в частную сеть. Как правило, через интернет.

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

Такой способ соединения называется VPN туннель. Подключится к VPN можно с любого компьютера, с любой операционной системой, которая поддерживает VPN соединение. Либо установлен VPN-Client, который способен делать проброс портов с использованием TCP/IP в виртуальную сеть.

Что делает VPN

VPN обеспечивает удалённое подключение к частным сетям

Так же вы можете безопасно объединить несколько сетей и серверов

Компьютеры с ip адресами с 192.168.0.10 по 192.168.0.125 подключается через сетевой шлюз, который выполняет роль VPN сервера. Предварительно на сервере и маршрутизаторе должны быть прописаны правила для соединений по каналу VPN.

VPN позволяет спокойно использовать интернет при подключении даже к открытым wi-fi сетям в общедоступных зонах (в торговых центрах, отелях или аэропортах)

А так же обойти ограничения на показ контента в определенных странах

VPN предотвращает киберугорозы по перехвату злоумышленником информации на лету, незаметным для получателя.

Принцип работы VPN

Давайте рассмотрим, как в принципе работает VPN соединение.

Представим, что передача это движение пакета по автомобильной дороге из точки А в точку Б, на пути движения пакета встречаются контрольные пункты пропуска пакета данных. При использовании VPN, этот маршрут дополнительно защищён системой шифрования и аутентификацией пользователя, что бы обезопасить трафик, в котором содержится пакет данных. Такой метод называется «Туннелированнем» (tunneling – использование туннеля»

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

VPN обеспечит приватность вашей информации вместе с комплексным антивирусом.

VPN поддерживает такие сертификаты как OpenVPN, L2TP, IPSec, PPTP, PPOE и получается вполне защищенный и безопасный способ передачи данных.

VPN туннелирование применяется:

  1. Внутри корпоративной сети.
  2. Объединение удалённых офисов, а так же мелких филиалов.
  3. Доступ к внешним it-ресурсам.
  4. Для построения видеоконференций.

Создание VPN выбор и настройка оборудования.

Для корпоративной связи в крупных организациях или объединения удаленных друг от друга офисов используется аппаратное оборудования способное поддерживать бесперебойную работу и защищенность в сети.

Для использования vpn-сервиса, в роли сетевого шлюза могут выступать: сервера linux/Windows, маршрутизатор и сетевой шлюз на котором поднят VPN.

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

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

Если вы хотите установить и использовать VPN сервер на базе семейства Windows , то необходимо понимать, что клиенские машины Windows XP/7/8/10 данную функцию не поддерживают, вам необходима система виртуализации, либо физический сервер на платформе Windows 2000/2003/2008/2012/2016, но мы рассмотрим данную функцию на Windows Server 2008 R2.

1. Для начала необходимо установить роль сервера "Службы политики сети и доступа" Для этого открываем диспетчер сервера и нажимаем на ссылку "Добавить роль":

Выбираем роль "Службы политики сети и доступа" и нажимаем далее:

Выбираем "Службы маршрутизации и удаленного доступа" и нажимаем Далее и Установить.

2. После установки роли необходимо настроить ее. Переходим в диспетчер сервера, раскрываем ветку "Роли", выбираем роль "Службы политики сети и доступа", разворачиваем, кликаем правой кнопкой по "Маршрутизация и удаленный доступ" и выбираем "Настроить и включить маршрутизацию и удаленный доступ"

После запуска службы считаем настройку роли законченной. Теперь необходимо разрешить пользователям доступ до сервера и настроить выдачу ip-адресов клиентам.

Порты которые поддерживает VPN. После поднятие службы они открываются в брендмауэре.

Для PPTP: 1723 (TCP);

Для L2TP: 1701 (TCP)

Для SSTP: 443 (TCP).

Протокол L2TP/IpSec является более предпочтительным для построения VPN-сетей, в основном это касается безопасности и более высокой доступности, благодаря тому, что для каналов данных и управления используется одна UDP-сессия. Сегодня мы рассмотрим настройку L2TP/IpSec VPN-сервера на платформе Windows Server 2008 r2.

Вы же можете попробовать развернуть на протоколах: PPTP, PPOE, SSTP, L2TP/L2TP/IpSec

Переходим в Диспетчер сервера: Роли - Маршрутизация и удалённый доступ , щелкаем по этой роли правой кнопкой мыши и выбираем «Свойства» , на вкладке «Общие» ставим галочку в полях IPv4-маршрутизатор, выбираем «локальной сети и вызова по требованию», и IPv4-сервер удаленного доступа:

Теперь нам необходимо ввести предварительный ключ. Переходим на вкладку Безопасность и в поле Разрешить особые IPSec-политики для L2TP-подключения поставьте галочку и введите Ваш ключ. (По поводу ключа. Вы можете ввести туда произвольную комбинацию букв и цифр главный принцип, чем сложнее комбинация - тем безопаснее, и еще запомните или запишите эту комбинацию она нам еще понадобиться). Во вкладке «Поставщик службы проверки подлинности» выберите «Windows - проверка подлинности».

Теперь нам необходимо настроить Безопасность подключений . Для этого перейдем на вкладку Безопасность и выберем Методы проверки подлинности , поставьте галочки на Протокол EAP и Шифрованная проверка (Microsoft, версия 2, MS-CHAP v2):

Далее перейдем на вкладку IPv4 , там укажем какой интерфейс будет принимать подключения VPN, а так же настроим пул выдаваемых адресов клиентам L2TP VPN на вкладке IPv4 (Интерфейсом выставьте «Разрешить RAS выбирать адаптер»):

Теперь перейдем на появившуюся вкладку Порты , нажмем правой кнопкой мыши и Свойства , выберем подключение L2TP и нажмем Настроить , в новом окне выставим Подключение удаленного доступа (только входящие) и Подключение по требованию (входящие и исходящие) и выставим максимальное количество портов, число портов должно соответствовать или превышать предполагаемое количество клиентов. Неиспользуемые протоколы лучше отключить, убрав в их свойствах обе галочки.

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

На этом настройка сервера закончена. Осталось только разрешить пользователям подключатся к серверу. Перейдите в Диспетчере сервера Active Directory пользователи – находим пользователя которому хотим разрешить доступ нажимаем свойства , заходим в закладку входящие звонки

Мультисервисные и беспроводные сети

Объединение офисов предприятия на основе технологий VPN

Корпоративные сети передачи данных предназначены для обеспечения эффективного функционирования информационной инфраструктуры предприятия. КСПД позволяют объединить разрозненные и удаленные территории и офисы компании в единую корпоративную сеть , создать единое информационное пространства и защищенные соединения удаленных офисов на основе технологий VPN (см. рис.1). Защищённая корпоративная виртуальная частная сеть, обеспечивает шифрование данных, передаваемых между офисами компании.ИЦ "Телеком-Сервис" предлагает комплексные решения по построению корпоративных VPN сетей на основе оборудования Cisco Systems, Juniper Networks и Huawei Technologies.

Рис.1 Схема организации корпоративной VPN сети


Организация корпоративной VPN сети на основе оборудования Cisco Systems

В настоящее время компания Cisco Systems предлагает высокотехнологичные VPN-решения полностью соответствующие требованиям российского технического регулирования в сфере информационной безопасности.

Компаниями Cisco Systems и С-Терра СиЭсПи разработана новая версия VPN-модуля NME-RVPN (MCM), поддерживающий российские крипто алгоритмы и тесно интегрируемый в интеллектуальную информационную сеть.Интеграция модуля NME-RVPN в исполнении МСМ в маршрутизаторы Cisco ISR серий 2800/3800 и 2900/3900 позволяет потребителям получить единое решение, обеспечивающее защиту передаваемой информации в соответствии с требованиями российских стандартов, развитую маршрутизацию, поддержку механизмов качества обслуживания приоритетного трафика (QoS), а также сервисы IP-телефонии и передачи видео. Подобные качества, дополненные управляемостью и надежностью платформ на базе операционной системыВ качестве альтернативного решения предлагается построение защищенной VPN сети на основе межсетевых экранов Cisco ASA 5500. Линейка межсетевых экранов ASA 5500 позволяет разворачивать VPN сети на основе протокола IPSec с использованием симметричного алгоритма шифрования DES (Data Encryption Standard ). Для шифрования использует ключ с длиной 56 бит, что соответствует требованиям российского технического регулирования в сфере информационной безопасности. Решение является бюджетным по сравнению с вариантом на основе модуля NME-RVPN. Недостатком такого решения является низкая стойкость алгоритма шифрования DES по сравнению с существующими алгоритмами шифрования.


Организация корпоративной VPN сети на основе оборудования Juniper Networks

Реализацию защищенной VPN сети предлагается выполнять на основе серии сервисных шлюзов Juniper SRX. Серия сервисных шлюзов SRX позволяет разворачивать VPN сети на основе протокола IPSec без ограничений по используемым алгоритмам шифрования. В сервисных шлюзах SRX консолидирован функционал маршрутизации, коммутации и сетевой безопасности. Серия шлюзов SRX имеет высокую производительность в части функционала межсетевого экрана, функции IPS и большую плотность GE портов с поддержкой функции PoE. Т.о. данное решение можно отнести к классу бюджетных решений, позволяющих разворачивать VPN сети без ограничений по применяемым алгоритмам шифрования.


Организация корпоративной VPN сети на основе оборудования Huawei Symantec

Реализацию защищенной VPN сети предлагается выполнять на основе шлюзов безопасности USG. Шлюзы безопасности USG позволяет разворачивать VPN сети на основе протокола IPSec без ограничений по используемым алгоритмам шифрования. Универсальные шлюзы безопасности USG представляют собой новое поколение многофункциональных шлюзов безопасности, предназначенных для предприятий среднего бизнеса, филиалов крупных предприятий. Благодаря модульной структуре, USG объединяет различные функции, такие как безопасность, маршрутизация, коммутация и функции беспроводной связи.Также предлагается решение по организации VPN сетей полностью соответствующих требованиям российского технического регулирования в сфере информационной безопасности. Для защиты данных используется программно-аппаратный комплекс (далее - ПАК) «ViPNet Coordinator HW-VPNM», являющийся совместной разработкой компаний ИнфоТеКС и Huawei Symantec. ПАК «ViPNet Coordinator HW-VPNM» является универсальным средством защиты информации в локальных и глобальных сетях связи (включая Интернет) и выполняет функции межсетевого экрана и криптошлюза. Особенностями ПАК являются его исполнение в виде модуля расширения к маршрутизаторам Huawei Symantec USG, а также высокая производительность в задаче шифрования реального IP-трафика – до 180 Мбит/с трафика без ограничения на число одновременно поддерживаемых сессий. Следует отметить, что при этом осуществляется полное шифрование всего IP-трафика по алгоритму ГОСТ 28147-89 с одновременной инкапсуляцией (сокрытием структуры информации) исходных IP-пакетов в UDP-пакеты. Это обеспечивает беспрецедентную стойкость к попыткам анализа и несанкционированного доступа к защищаемой информации. ПАК «ViPNet Coordinator HW» имеет сертификат соответствия ФСБ РФ №СФ/124-1459 от 9 мая 2010 года, удостоверяющего его соответствие требованиям ФСБ России к СКЗИ класса КС3 и возможность использования для криптографической защиты информации (шифрование и имитозащиты IP-трафика) информации, не содержащей сведений, составляющих государственную тайну.


Организация корпоративной VPN сети на основе системы ViPNet компании ИнфоТеКС

Концепция построения виртуальных частных сетей в полном соответствии с современными законодательными требованиями российских регуляторов. Предлагаемое решение соответствует следующим требованиям:
  • Использование только отечественных алгоритмов симметричного шифрования, хэширования, а также асимметричного шифрования и электронно-цифровой подписи (ГОСТ 28147-89, ГОСТ 34.11-94, ГОСТ 34.10-2001)
  • Наличие сертификатов ФСТЭК и ФСБ как на криптографические продукты, так и на изделия в целом (для программно-аппаратных комплексов)
  • Сертифицированные решения по межсетевому экранированию
  • Организация особых условий доступа к открытым сетям (невозможность одновременного доступа к ресурсам открытых сетей и защищённой сети)
  • Защита передаваемых данных посредством шифрования на всех сегментах сети (всех участках прохождения данных начиная от рабочей станции).

Типовое решение состоит из следующих функциональных компонентов (см. рис.2):

Рис.2

  • Рабочее место администратора – комплект программного обеспечения для первоначальной настройки и управления виртуальной частной сетью.
  • Программное обеспечение ViPNet Client (клиентское ПО) – программный продукт, устанавливаемый на каждой рабочей станции (или сервере с операционной системой MS Windows), для которой необходимо обеспечить криптографическую защиту передаваемых данных – реализует функции шифрования трафика и персонального межсетевого экрана.
  • Криптошлюз – программно-аппаратный комплекс (специализированное устройство), выполняющий функции маршрутизации, терминирования туннелей виртуальной частной сети и корпоративного межсетевого экрана
  • Сервер открытого Интернета – программно-аппаратный комплекс, выполняющий функцию защищённого прокси-сервера для доступа к ресурсам Интернет.

Инструкция

Нажмите на меню «Пуск» и выберите пункт «Панель управления». Найдите раздел «Сеть и интернет». Для организации VPN-соединения необходимо запустить оснастку «Центр управления сетями и общим доступом». Также можно нажать на значок сети в трее и выбрать аналогичную команду. Перейдите к созданию нового подключения или сети, отметив, что необходимо организовать подключение к рабочему столу. Нажмите кнопку «Далее». Появится запрос использования существующего подключения. Поставьте галочку на пункте «Нет, создать новое подключение» и перейдите к следующему этапу настроек.

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

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

Откройте вкладку «Безопасность». Установите «Тип VPN» - «Автоматически» и «Шифрование данных» - «Необязательное». Отметьте пункт «Разрешить следующие протоколы» и выберите протоколы CHAP и MS-CHAP. Перейдите на вкладку «Сеть» и оставьте галочку только возле пункта «Протокол интернета версии 4». Нажмите кнопку «Ок» и подключите VPN -соединение.

Любая vpn-сеть предусматривает наличие определенного сервера, который будет обеспечивать связь сетевых компьютеров и других устройств. Одновременно с этим она обеспечивает некоторым из них (или всем) доступ к внешней сети, например – интернету.

Вам понадобится

  • - сетевой кабель;
  • - сетевая карта.

Инструкция

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

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

Настройте подключение к интернету. Это может быть LAN или DSL-соединение. В данном случае это совершенно не важно. Завершив создание и настройку нового подключения, перейдите к его свойствам.

Откройте меню «Доступ» в появившемся окне. Разрешите использовать это соединение с интернетом всем компьютерам, входящим в состав определенной локальной сети. Укажите сеть , образованную вашими двумя компьютерами.

Хотя тема и избита, но тем не менее, часто многие испытывают затруднения – будь то начинающий системный администратор или же просто продвинутый пользователь, которого начальство заставило выполнять функции эникейщика. Парадоксально, но несмотря на обилие информации по VPN, найти внятный вариант — целая проблема. Более того, даже складывается впечатление, что один написал – другие же нагло скопировали текст. В итоге, поисковая выдача буквально захламлена обилием ненужной информации, из которой стоящее редко можно вычленить. Поэтому я решил в своей манере разжевать все нюансы (может, кому и пригодится).

Итак, что такое VPN? VPN (Virtual Private Network - виртуальная частная сеть) - обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (в том числе и интернет). В зависимости от применяемых протоколов и назначений, VPN может обеспечивать соединения трёх видов: узел-узел , узел-сеть и сеть-сеть. Как говорится, без комментариев.

Стереотипная схема VPN

VPN позволяет легко объединить удаленный хост с локальной сеткой фирмы или другого хоста, а также объединить сети в одну. Выгода вполне очевидна – мы легко с клиента VPN получаем доступ к сети предприятия. Кроме того, VPN еще и защищает ваши данные посредством шифрования.

Я не претендую на то, чтобы вам описать все принципы работы VPN, так как есть масса специальной литературы, да и если честно, я и сам много чего не знаю. Тем не менее, если у вас стоит задача «Сделай!», нужно срочно вливаться в тему.

Давайте рассмотрим задачу из моей личной практики, когда нужно было объединить по VPN два офиса –головной и филиал. Ситуацию еще и осложнял тот факт, что в головном офисе стоял видео-сервер, который должен принимать видео с IP камеры филиала. Вот вам вкратце задача.

Способов решения много. Все зависит от того, что у вас есть под рукой. Вообще, VPN легко построить с помощью железного решения на базе различных роутеров Zyxel. В идеале, может случиться и то, что интернет обоим офисам раздает один провайдер и тогда у вас вообще проблем не возникнет (достаточно просто обратиться к прову). Если фирма богата, то может себе позволить и CISCO. Но обычно все решается программными средствами.

А тут выбор велик – Open VPN, WinRoute (учтите, что он платный), средства операционной системы, программы типа Hamanchi (честно говоря, в редких случаях она может и выручит, но полагаться на нее не рекомендую – бесплатная версия имеет ограничение в 5 хостов и еще один существенный минус заключается в том, что все ваше соединение зависит хоста Hamanchi, что не всегда гуд). В моем случае идеально было бы воспользоваться OpenVPN – бесплатной программой, способной незатейливо создать надежное VPN-соединение. Но мы, как всегда, пойдем по пути наименьшего сопротивления.

У меня в филиале интернет раздает шлюз на базе клиентской Windows. Согласен, не самое лучшее решение, но для тройки клиентских компьютеров хватит с головой. Мне нужно сделать VPN-сервер из этого шлюза. Так как вы читаете эту статью, то наверняка уверен, что являетесь новичком в VPN. Поэтому для вас я привожу самый простой пример, который, в принципе, устраивает и меня.

В Windows семейства NT уже вшиты зачаточные возможности серверов. Поднять VPN-сервер на одной из машин не составит труда. В качестве сервера я буду приводить примеры скриншотов Windows 7, но общие принципы будут теми же самыми, что и для старушки XP.

Учтите, что для соединения двух сетей, нужно чтобы они имели разный диапазон ! Например, в головном офисе диапазон может быть 192.168.0.x, а в филиале – 192.168.20.x (или любой диапазон серых ip). Это очень важно, так что будьте внимательны. Теперь, можно приступать к настройке.

Зайдите на сервере VPN в Панель управления -> Центр управления сетями и общим доступом ->изменение параметров адаптера.

Теперь нажмите клавишу Alt, вызвав меню. Там в пункте Файл нужно выбрать «Новое входящее подключение».

Поставьте галочки тем пользователям, которые могут входить в систему по VPN. Я настоятельно рекомендую Добавить нового пользователя, назвать его понятным именем и назначить пароль.

После того, как вы это сделали, нужно в следующем окне выбрать как будут подключаться пользователи. Ставьте галку «Через интернет». Теперь вам остается назначить диапазон адресов виртуальной сети. Причем, можно выбрать сколько всего компьютеров может участвовать в обмене данных. В следующем окне выберите протокол TCP/IP версии 4 нажмите «Свойства»:

У вас появится то, что у меня на скриншоте. Если вы хотите, чтобы клиент получил доступ к локальной сети, в которой находится сервер, просто ставьте галку «Разрешить звонящим доступ к локальной сети». В пункте «Назначение IP адресов» я рекомендую указать адреса вручную по принципу, который я выше описал. В моем примере я дал диапазону всего двадцать пять адресов, хотя мог указать просто и два и 255.

После этого жмем на кнопку «Разрешить доступ».

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

Теперь остается дело за малым – настроить VPN-клиента. На клиентской машине также идете в Центр управления сетями и общим доступом и выбираете Настройка нового подключения или сети . Теперь вам нужно будет выбрать пункт «Подключение к рабочему месту»

Жмете на «Использовать мое подключение к Интернету и теперь вас выбросит в окно, где нужно будет ввести адрес нашего интернет-шлюза в филиале. У меня он имеет вид 95.2.x.x

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

Как вариант, при подключении может выскочить ошибка 800, сигнализируящая о том, что с подключением что-то не то. Это проблема брэндмауэра либо клиента, либо сервера. Конкретно я сказать вам не могу – все определяется экспериментально.

Вот так незатейливо мы создали VPN между двумя офисами. Таким же образом можно объединить и игроков. Однако не стоит забывать, что это будет все-таки не полноценный сервер и лучше использовать более продвинутые средства, о которых я расскажу в следующих частях.

В частности, в части 2 мы с вами рассмотрим настройку OPenVPN под Windows и Linux.

  • Сетевые технологии
  • Кому нужен VPN?

    На март 2017 г. доля вакансий о работе с удаленным доступом, размещенных на hh.ru составляла 1,5% или 13 339 вакансий. За год их число удвоилось . В 2014 г. численность удаленных сотрудников оценивалась в 600 тыс. чел или 1% от экономически-активного населения (15–69 лет). J"son & Partners Consulting прогнозирует , что к 2018 г. около 20% всех занятых россиян будут работать удаленно. Например, до конца 2017 г. Билайн планирует перевести на удаленное сотрудничество от 50% до 70% персонала.


    Зачем компании переводят сотрудников на удаленку:

    • Сокращение затрат компании на аренду и содержание рабочих мест.
    • Отсутствие привязки к одной локации дает возможность собирать команду
      проекта, которую никогда нельзя было бы собрать в пределах одного города. Дополнительный плюс – возможность использования более дешевой рабочей силы.
    • Удовлетворение потребности сотрудников в связи с их семейными обстоятельствами.

    Мы для себя открыли потребность в VPN более 10 лет назад. Для нас мотиватором предоставления VPN доступа сотрудникам была возможность оперативного доступа в корпоративную сеть из любой точки мира и в любое время дня и ночи.

    Путь выбора идеального VPN решения

    Вариантов решений достаточно много. Зачастую решение стоит принимать исходя из того, какое оборудование и софт уже используются в компании, навыком настройки какого ПО обладает системный администратор. Начну с того от чего мы отказались сразу, а затем расскажу что мы попробовали в на чем мы в итоге остановились.

    VPN в роутерах

    Так называемых “китайских решений” на рынке много. Практически любой роутер имеет функциональность встроенного VPN сервера. Обычно это простое вкл/выкл функционала и добавление логинов паролей для пользователей, иногда интеграция с Radius сервером. Почему мы не стали рассматривать подобное решение? Мы прежде всего думаем о своей безопасности и непрерывности работе сервиса. Подобные же железки не могут похвастаться ни надежной защитой (прошивки выходят обычно очень редко, или не выходят в принципе), да и надежность работы оставляет желать лучшего.

    VPN Enterprise класса

    Если посмотреть на квадрат Гартнера то на VPN рынке уже давно лидирующие позиции занимают компании, которые производят сетевое оборудование. Juniper, Cisco, Check Point: все они имеют комплексные решения решения, в составе которых есть и VPN сервис.



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

    Microsoft VPN

    10 лет назад мы были компанией, ориентированной прежде всего на Windows. Microsoft предлагает бесплатное решение для тех, у кого вся инфраструктура построена на их базе. В простых случаях настройка не вызывает сложностей даже у начинающего системного администратора. В нашем случае мы хотели выжать из VPN все с точки зрения безопасности, соответственно, использование паролей было исключено. Мы естественно хотели использовать сертификаты вместо паролей и для хранения ключевой пары использовать свой продукт Рутокен ЭЦП . Для реализации проекта нам нужно было: контроллер домена, радиус сервер и правильно поднятая и настроенная инфраструктура PKI. Подробно на настройке я останавливаться не буду, в интернете есть достаточно много информации по данным вопросам, а правильная настройка PKI вообще может потянуть на десяток статей. Первым протоколом, который мы использовали у себя, был протокол PPTP. Долгое время данный вариант VPN нас устраивал, но в конечном итоге нам пришлось отказаться от него по двум причинам: PPTP работал далеко не везде и мы начинали пользоваться не только Windows, но и другими операционными системами. Поэтому мы стали искать альтернативы. Замечу, что поддержка PPTP не так давно была прекращена apple . Для начала мы решили посмотреть, что еще из протоколов может предложить на Microsoft. SSTP/L2TP. SSTP нас устраивал всем, за исключением того, что он работал только на Windows. L2TP данным недостатком не обладал, но его настройка и поддержание его в работе показались нам достаточно затратными и мы решили попробовать альтернативы. Хотелось более простого решения, как для пользователей, так и для администраторов.

    OpenVPN

    Мы в компании “Актив” искренне любим open source. Выбирая замену Microsoft VPN мы не могли обойти стороной решение OpenVPN. Основным плюсом для нас было то, что решение "из коробки" работает на всех платформах. Поднять сервер в простом случае достаточно просто. Сейчас, используя docker и, к примеру готовый образ , это можно сделать за несколько минут. Но нам хотелось большего. Нам хотелось добавить в проект интеграцию с Microsoft CA, для того, чтобы использовать выданные ранее сертификаты. Нам хотелось добавить поддержку используемых нами токенов. Как настраивать связку OpenVPN и токены описано к примеру вот в этой . Сложнее было настроить интеграцию Microsoft CA и OpenVPN, но в целом тоже вполне реализуемо. Получившимся решением мы пользовались около трех лет, но все это время продолжали искать более удобные варианты. Главной возможностью, которую мы получили, перейдя на OpenVPN, был доступ из любой ОС. Но остались еще две претензии: сотрудникам компании нужно пройти 7 кругов ада Microsoft CA для выписывания сертификата, а администраторам по-прежнему приходилось поддерживать достаточно сложную инфраструктуру VPN.

    Рутокен VPN

    У нас есть знание, как использовать токены в любых операционных системах, у нас есть понимание, как правильно готовить инфраструктуру PKI, мы умеем настраивать разные версии OpenVPN и мы имеем технологии, которые позволяют управлять всем этим удобным для пользователя образом из окна браузера. Так возникла идея нового продукта.



    Настройка Рутокен VPN

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




    На втором шаге нужно ввести название компании и подождать несколько минут, пока устройство произведет настройку встроенного центра сертификации.







    Третьим шагом необходимо настроить сам VPN сервис. Указать внешний IP, на который будет происходить подключение. Выбрать тип шифрования и адресацию сети.




    Четвертым шагом настройки мы создаем локальных пользователей, или добавляем их из AD




    Личный кабинет сотрудника




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




    После установки плагина/расширения нам остается лишь сгенерировать сертификат себе на Рутокен ЭЦП.







    И установить клиент под нужную операционную систему:



    Как все это работает?

    Немного об аппаратной части. Изначально мы долго думали, какую “базу” использовать для нашего решения, так как нужно было соблюдать баланс между стоимостью, удобством, производительностью. После исследований, что предлагается на рынке, мы остановились на двух вариантах реализации и дальнейшего распространения решения:

    • x86 (Enterprise) – программное решение, которое предоставляется конечному потребителю в виде образа виртуальной машины, который можно развернуть в рамках своей ит-инфраструктуры.
    • Raspberry Pi – уже достаточно известный микрокомпьютер, который обладает вполне неплохой производительностью при не самой высокой стоимости и который можно начать использовать как VPN-сервер уже через 10 минут после того, как его в прямом смысле вынули из коробки.

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


    Но изначально, нам все же нужно осуществить настройку сервисов, которые требуются для корректной работы продукта. Настройка сервисов осуществляется на текущий момент специалистами нашей компании в полуавтоматическом режиме. Это значит, что автоматизирован процесс деплоя программного обеспечения и первичных настроек, но инициализация данного процесса пока остается привилегией человека. Во время первичной настройки устанавливаются системные пакеты, python, django, OpenVPN, supervisor, OpenSSL и пр.


    А что же дальше? Далее необходимо настроить всю инфраструктуру, которая собственно и отвечает в целом за безопасность. А именно: CA (центр сертификации), PKI (инфраструктура открытых ключей), выписать необходимые ключи и сертификаты.


    Создание PKI и CA, а также формирование файла конфигурации OpenVPN-сервера, генерация ключей и выписывание сертификатов осуществляется уже после передачи продукта клиенту. Но это не значит, что для этого необходимо иметь какие-то специфические знания и прямой доступ к операционной системе. Все реализовано в бизнес-логике бэкенда системы администрирования, доступ к которой предоставляется через Web-интерфейс. От клиента требуется только ввести минимальный набор атрибутов (описано выше), после чего стартует процесс инициализации PKI и создания СА. Описывать конкретные вызовы системных команд смысла особого нет, так как уже давно все описано и разжевано до нас. Главное, что мы сделали - это автоматизировали данный процесс, избавив пользователя от необходимости обладать специфическими знаниями в администрировании.


    Для работы с ключами и сертификатами мы решили не изобретать велосипед (хотя очень хотелось и до сих пор вынашиваем мысль его изобрести исходя из наших дальнейших планов развития продукта) и используем easy-rsa.


    Самый долгий процесс при настройке инфраструктуры – это генерация файла Diffie-Hellman. Мы долго экспериментировали с параметрами и пришли к балансу “качество-производительность”. Хотя были мысли вообще избавиться от данного шага, нагенерировать таких файлов заранее, используя наши серверные мощности и просто “раздавать” их во время первичной инициализации. Тем более, что данные, содержащиеся в этом файле не являются приватными. Но пока мы оставили эти мысли для дальнейших “изысканий”.


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


    Первую задачу мы решили благодаря нашему плагину который реализует функциональность электронной подписи, шифрования и двухфакторной аутентификации для Web- и SaaS-сервисов. Для того, чтобы выписать сертификат и записать его на токен, пользователь должен установить данный плагин, перейти по ссылке чтобы попасть в личный кабинет сервиса RutokenVPN, предварительно подключив токен к компьютеру (подробнее о плагине можно прочитать на нашем ресурсе)


    При инициализации процесса выписывания сертификата, осуществляется запрос на токен для генерации ключевой пары а также запрос на выписку сертификата в CA. Приватный ключ записывается на токен, а запрос на выписку сертификата отправляется в СА, который в свою очередь осуществляет его выписывание и возвращает в ответе. После чего сертификат так же записывается на токен.


    Почти все готово для установления VPN-соединения. Не хватает клиента, который “знает”, как работать с сервером и нашими токенами.




    Наш клиент реализован на Electron. Кто не в курсе, что это за зверь, то если совсем кратко – возможность реализовать десктопное приложение, используя js, css и html. Не вдаваясь в подробности, клиент является неким “враппером” над OpenVPN-клиентом, позволяющим осуществлять его вызовы с нужными параметрами. Почему именно так? На самом деле нам было так удобней, хотя выбранное решение и накладывает определенные ограничения.


    Так как мы используем токен как носитель ключевой информации, необходимой для аутентификации при установлении VPN-сессии, то нам нужно сконфигурировать OpenVPN-клиент для работы с ним. Провайдером PKCS#11 является библиотека собственной разработки для работы с нашими токенами, путь к которой и прописывается в настройках OpenVPN клиента. Подробнее о ней можно почитать .


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


    Немного о наших планах. Основное, над чем сейчас мы работаем - это реализация ГОСТ-шифрования. Уже пройден достаточно большой путь исследований, позволивший нам максимально приблизиться к ее реализации. В ближайшее время сможем удовлетворить интерес потенциальных клиентов в данной функциональности.

    Теги:

    • vpn
    • openvpn
    • raspberry pi
    • рутокен
    • openssl
    Добавить метки