На прошлой неделе я осознанно ушел с Хабра, ибо сайт превратился из уютного ресурса увлеченных айтишников в сборище платных статей и чисто коммерческий проект. Мне это не по душе.
Поэтому я перенесу в ЖЖ все свои статьи с Хабра, не зря же я писал их в течение последних двух лет :-)
Я понимаю, что статьи технические и для ЖЖ скорее всего не формат. Я старался писать их как можно проще и понятнее.
Более года назад я писал длинную и скучную статью про стремительное изменение рабочей среды, про глобализацию, мобильность и безопасность различных типов удаленного доступа. Из-за отсутствия картинок и сухого слога статья не вызвала оживленной дискуссии, но лично мне дала сильный импульс в нужном направлении. Мысли об удобной и безопасной реализации удаленного доступа для сотрудников к ресурсам корпоративной сети воплотились в реальном продукте с кодовым названием «VPN Box».
Хочу рассказать, что получилось через год исследований и разработок. Все работы велись мною в норвежской компании
INFOSS AS, поэтому их логотип стоит на конечном устройстве.
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Клевые надписи сделаны методом лазерной гравировки в ближайшем рекламном бюро
С самого начала было необходимо определится с целевой аудиторией.
Нет никакого смысла разрабатывать очередное решение для крупных корпораций: у них достаточно средств и ресурсов для внедрения систем от именитых брендов: Cisco, CheckPoint или Juniper. Подобные установки подразумевают наличие в штате компании квалифицированных технических специалистов, для которых поставщик решения проводит обучение и сертификацию.
Другой крайностью являются компании с крайне ограниченным бюджетом и местным администратором-эникейщиком. Там любые задачи пытаются решить собственными силами, независимо от качества конечного результата. Очень часто компетенции местного администратора не хватает (нельзя объять необъятное), знания черпаются из поисковых систем, времени на анализ и тестирование нет, лишь бы работало - и ладно!
Остается достаточно обширный сегмент корпоративного рынка, где компании уже готовы платить за профессиональные решения, но топовые продукты пока еще слишком дороги. Именно на этот сегмент я и нацелился. Необходимо создать продукт, который по уровню безопасности и надежности близок к именитым корпоративным системам, но при этом не требует в штате компании квалифицированных технарей и стоит разумные деньги.
Локальная сеть большинства небольших компаний содержит клиентские компьютеры и корпоративный сервер с общими сетевыми ресурсами, базой данных, внутренними web- и почтовыми службами. Настройки файервола обычно запрещают входящие соединения и разрешают исходящие. Локальные IP-адреса раздаются по DHCP. Внешний IP-адрес динамический.
Идея состоит в том, что компания размещает в своей локальной сети некое устройство (виртуальное или физическое), которое само подключается к VPN-шлюзу и постоянно держит это соединение. При этом устройство имеет доступ к ресурсам локальной сети. Так как исходящие соединения разрешены, то нет необходимости настраивать файервол.
Администратор компании регистрирует сотрудников на предоставленном web-портале, после этого для каждого мобильного устройства сотрудника формируется свой собственный профиль доступа, ссылка на который высылается по почте или СМС. После установки профиля на смартфон или ноутбук устанавливается VPN-соединение с VPN-шлюзом, а далее начинается самое интересное: два VPN-туннеля соединяются, мобильное устройство получает доступ к локальной сети компании.
В итоге компания как бы получает в аренду профессионально настроенную систему удаленного доступа со всеми плюшками и очень простым администрированием. Нет необходимости привлекать технических специалистов для настройки сетевого оборудования.
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Красивая картинка для гуманитариев, тропинка символизирует трудности самостоятельной настройки VPN
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Схема инфраструктуры VPN Box
Опыт работы с PKI и VPN позволили достаточно быстро создать прототип.
За основу была взята платформа ALIX2D13 швейцарской компании
PC Engines. Выбор обусловлен наличием трех Ethernet портов, слотов расширения, универсальностью и модульностью. Разработчик охотно отвечает на вопросы, так же нет проблем с логистикой, в том числе и в России. Приемником ALIX недавно стала платформа APU той же компании PC Engines. Форм-фактор платы позволяет использовать один и тот же корпус для ALIX и APU, очень практично. Корпус не содержит маркировок, что удобно для брендирования конечного продукта.
Технически возможно перепрошить обычные домашние роутеры, все будет работать на 99%. Но выгоды особой нет, так как близкие по производительности роутеры стоят не дешевле ALIX, а проблем с поддержкой возникает намного больше. Я в качестве эксперимента перепрошил старенький ASUS WL500gP v1, все заработало, вот только при скорости VPN IPSec выше 10 Мбит/с роутер перезагружался по сигналу от watchdog. Поэтому остановился на проверенном и стабильном варианте.
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Фотография первого прототипа
В качестве операционной системы рассматривалось несколько вариантов. Сначала достаточно долго бился с
pfSense на базе NetBSD, но в итоге оптимально подошла кастомизированная сборка
OpenWRT. Все-таки у Линукс-сообществ намного больше последователей, и, как следствие, живые ветки разработки.
Серверная часть включает в себя VPN-шлюз, сервер генерации профилей, портал для администратора, центр сертификации (PKI), сервер авторизации, маршрутизатор и систему мониторинга.
VPN-шлюз поддерживает Cisco IPSec и OpenVPN, авторизация двухэтапная, сначала по сертификатам, затем по имени-паролю. Все серверные службы продублированы, а VPN-шлюзы легко масштабируются географически. При инициализации VPN Box автоматически регистрируется в системе мониторинга, любые нарушения в работе регистрируются, приходят оповещения, рассчитывается SLA.
Продукт уже готов и прекрасно работает, бета-тестирование прошло удачно, отзывы только положительные. Был создан и запущен
промо-сайт со смешными картинками.
Однако останавливаться на достигнутом не стоит. Как показала практика, концепт прекрасно подходит для полной замены обычного роутера, который стоит на границе локальной сети и интернета. VPN Box, помимо основной функции, может использоваться как файервол, как балансировщик трафика между несколькими провайдерами (включая 3G/LTE/Yota модемы), как прокси-сервер системы мониторинга локальной сети, как локальный кеш облачного сервиса, как точка доступа Wi-Fi (IEEE 802.11n или новомодный IEEE 802.11ac).
Удаленный доступ для малых и средних предприятий
VPN Box с установленным модулем Wi-Fi, но без антенн
При использовании модуля Wi-Fi добавляется очень приятная функциональность: когда мобильное устройство подключено к беспроводной сети VPN Box, профиль VPN автоматически отключается, но как только устройство подключается к любой другой сети, сразу же устанавливается VPN, и пользователю все так же доступны все сетевые ресурсы локальной сети.
На практике это означает, что сотрудник может спокойно передвигаться из офиса в любое место, где есть доступ в интернет, и продолжать работать с локальными ресурсами компании, не предпринимая никаких дополнительных действий. Необходимо отметить, что такая настройка полноценно работает только на устройствах под управлением Apple iOS и OS X (iPhone, iPad, MacBook), в скором будущем будет работать на Android-устройствах. Для этого ведется open-source разработка
Open Configuration Profiles for Android. Про этот проект я напишу отдельную статью. Разработчики, если есть желание поучаствовать - присоединяйтесь!
В некоторых случаях использование внешнего VPN-шлюза нежелательно или невозможно по корпоративным стандартам безопасности. Для таких случаев предусмотрена особенная конфигурация VPN Box Active, при которой функции VPN-шлюза перенесены в коробочку. Мобильные клиенты подключаются напрямую к VPN Box. К недостаткам можно отнести необходимость проброса портов (в случае если VPN Box стоит за файерволом) и наличие статического IP (или DynDNS, что не рекомендуется).
Удаленный доступ для малых и средних предприятий
Удаленный доступ для малых и средних предприятий
Cхема инфраструктуры VPN Box Active
VPN Box прекрасно работает в виде виртуальной машины. Для компании, у которой уже есть инфраструктура виртуальных машин, нет необходимости заказывать физическое устройство и ждать посылку. Достаточно получить готовый образ в требуемом формате и импортировать на сервер виртуальных машин.
Несколько ремарок насчет производительности. Процессора AMD Geode LX800 в идеальных условиях хватает на прокачку 50Мбит/с IPSec AES-128. Если использовать AES-256, то скорость падает в разы, так как перестает использоваться встроенный в AMD Geode крипто-акселератор. Следующим шагом является платформа на базе AMD G T40E, там уже можно говорить о гигабите в секунду. Модификация VPN Box Pro использует именно такую платформу. Производительность виртуального VPN Box ограничена выделяемыми ресурсами.
Для одного клиента группа из нескольких VPN Box’ов использовалась в качестве узлов внутренней сети для географически удаленных точек с оборудованием. Были там и агрегирующие модули (VPN Box Active), принимающие соединения от нескольких обычных коробочек VPN Box. Были коробочки с мощными Wi-Fi модулями и направленными антеннами, для передачи сигнала с одного берега фьорда на другой над морской поверхностью. Пришлось проводить полевые морские тесты, с приключениями, падением в море и битвой с чайками. В итоге получилась отличная система доставки конфиденциальных данных в режиме реального времени из множества различных локаций.
Более привычный сценарий - объединение всех платежных терминалов розничной сети в единую защищенную сеть.
Мне кажется, что год был потрачен не зря. Приятно видеть, когда идеи находят реальное воплощение в готовых продуктах и услугах.