Неделю назад на сайте ruvpn.net было запущено функциональное бета-тестирование нового сервиса IPSec VPN-on-Demand. О результатах расскажу в конце статьи, а пока немного информации о проекте в целом. Сейчас проходит самый первый этап — IPSec VPN для устройств на базе Apple iOS.
Существует множество подобных решений, какой смысл делать еще одно? Все достаточно просто — аналогичные решения делались специалистами по сетям. Данное решение реализовано специалистами по безопасности сетей и цифровым сертификатам. Был использован опыт работы с очень крупными финансовыми компаниями, детально изучены корпоративные технологии в области информационной безопасности.
Эти знания натолкнули на мысль — а что если взять все лучшее из корпоративного сектора и попробовать внедрить для обычных пользователей? В частности, можно использовать технологии корпоративных VPN при развертывании нового сервиса.
В итоге можно получить все преимущества подобных решений:
- автоматическая настройка VPN на устройстве,
- авторизация на базе цифровых сертификатов,
- автоматическое подключение VPN при любой сетевой активности устройства (VPN-on-Demand).
Закрытые ключи генерируются и хранятся непосредственно на устройстве, профиль с параметрами VPN шифруется, выпуск сертификатов происходит по протоколу SCEP. Идеальное решение для пользователей, всерьез обеспокоенных безопасностью соединений своего мобильного устройства.
Цена за все эти преимущества достаточно высока. Помимо сетевой составляющей решения, а именно сервера VPN с модулем авторизации, необходимо было развернуть полноценную инфраструктуру открытых ключей (PKI). Это включает в себя создание профилей для корневого и издающего центров сертификации, для серверных и клиентских сертификатов; развертывание центров сертификации; настройку OCSP и выпуск листов отзыва (CRL); подключение к издающему центру сертификации через API.
Для автоматической доставки профилей на устройства под управлением Apple iOS был разработан специальный сервер приложений, взаимодействующий с устройством через XML поверх https.
— Nginx в качестве Front-End,
— СУБД PostgreSQL,
— Сервер авторизации FreeRadius,
— Центр сертификации EJBCA,
— IPSec VPN сервер StrongSWAN,
— Полнотекстовый поиск Sphinx.
— Виртуализация выполнена на базе кластера Proxmox,
— Сервер приложений написан на Java,
— Web-сервер разработан на Scala.
Дополнительно настроены почтовые сервера, DNS, все это контролируется с помощью системы мониторинга Zabbix.
Операционные системы: Debian 6.0 и FreeBSD 9.0.
Типичный выбор ПО для современных стартапов.
Используются сервера HP Proliant DL360 и DL380, пятого поколения, в максимальной комплектации. Все сетевое оборудование Cisco. Кластер имеет 100% аппаратное дублирование, виртуальные машины настроены в режиме High-Avaliability с использованием iLO fencing.
Приходилось работать так, что глаза не выдерживали, а голова гудела. Планирование, разработка и внедрение заняло почти полгода. По времени отвечу сразу — инвесторов у проекта не было, все приходилось выполнять лично или заказывать на собственные средства. Проект двигался от зарплаты до зарплаты. На текущей работе тоже приходилось работать, так что разработка шла преимущественно по ночам. Это тяжело, но терпимо. Ощущения от результатов собственного труда того стоят. В итоге кое-что получилось, под названием ruVPN. То есть русский VPN. Это против цензуры в интернете, против абсурдных запретов и списков, просто для безопасности.
В качестве платформы для первой стадии проекта были выбраны устройства на базе Apple iOS, это iPhone, iPad, iPod touch. В них полностью поддержаны технологии загрузки профилей и автоматическое подключение VPN.
Как я уже писал в начале статьи, неделю назад было анонсировано функциональное тестирование сервиса. Все тридцать свободных приглашений были использованы в течение первых десяти минут. Спасибо всем участникам тестирования, было найдено и исправлено несколько небольших ошибок. Сейчас нам снова нужна помощь сообщества. Начитается нагрузочное тестирование сервиса. Это значит, что необходимо проверить способность решения выдерживать большие нагрузки. Необходим классический Хабраэффект!
Прошу всех владельцев iPhone, iPad принять участие. Перейдите по ссылке и зарегистрируйтесь в системе. На устройство будет установлен профиль VPN в конфигурации VPN-on-Demand. После этого можно пользоваться мобильным устройством как обычно, при этом весь трафик будет передаваться по защищенному каналу до серверов в Норвегии, а далее – на запрашиваемый ресурс. На время тестирования доставка профиля по СМС отключена, ссылка может быть получена только по электронной почте. Ссылка на профиль действительна 24 часа должна открываться в браузере Safari, иначе система не подхватит файл с профилем.
Желательно не отключать VPN до понедельника 27 мая, стараться использовать канал полностью, смотреть видео, например. В понедельник ночью профиль будет автоматически удален с мобильного устройства.
Если возникнет необходимость временно отключить VPN, то зайдите в меню Settings—General—VPN—ruVPN IPSec и передвиньте ползунок On-Demand в положение Off.
Количество регистраций по данному коду приглашения (HabrHLtest) ограничено цифрой 500. Любой участник сможет пригласить до десяти друзей присоединиться к тестированию из Личного Кабинета.
Присоединяйтесь к тестированию!
Автор: Maximus43