ICL Services
Новости
19 сентября 2024
Новости

Готово!

Скоро материал придет на указанную электронную почту. Также подписывайте на нас в Facebook

Ok

Корпоративный OpenVPN, или как сделать тигра из кошки

Говорят, из кошки не сделать тигра, но сегодня мы попробуем добавить «корпоративности» очень простому и популярному ВПН-решению. OpenVPN Community Edition является решением с открытым кодом, очень популярным в мире и довольно безопасным. В корпоративной среде его использование часто бывает проблематично – отсутствуют важные функции, позволяющие разворачивать решение большому количеству пользователей с минимальными затратами.

Не буду ставить OpenVPN на место идеального решения ВПН. В этой статье разберу, как, используя сертификаты и ldap-аутентификацию в экосистеме Microsoft, организовать доступ разных групп пользователей в определенные закрытые сегменты корпоративной сети (авторизация). Никаких Easy-RSA и самоподписных сертификатов – максимальная корпоративность и автоматизация.

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

В рассмотренной в статье схеме присутствует 3 фактора проверяемых при входе пользователя:

  • —  Сертификат пользователя («фактор владения», расположен в хранилище сертификатов компьютера пользователя, можно сделать не экспортируемым)

  • —  Имя/пароль пользователя («фактор знания», проверяется в Microsoft Active Directory)

  • —  Единый ключ («фактор владения», часть конфига клиента, в основном защита от DDoS)

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

Рисунок 1 показывает схему аутентификации и авторизации, рассмотренную в статье:


Для реализации данной схемы нам понадобятся:

— Домен Microsoft Active Directory (MS AD)

o   Пользователи и компьютеры в домене

o   Три группы безопасности OpenVPN_sg1_users, OpenVPN_sg2_users, OpenVPN_sg3_users пользователями

o   Сервисная учетная запись для чтения списка пользователей

— Сервер Microsoft Active Directory Certificate Server (ADCS, PKI)

o   Система PKI (AD CS) должна быть внедрена в домен.

— Виртуальная машина Linux для сервера OpenVPN с выходом/входом в интернет

— Сетевая связность с контролером домена

— Межсетевой экран

Конфигурирование Microsoft Active Directory, межсетевых экранов и PKI выходит за рамки статьи, хотя важные комментарии обязательно приведу. Будем считать, что вы уже имеете корпоративную инфраструктуру Microsoft с работающими сервисами из списка выше. Данная статья фокусируется только на конфигурации OpenVPN.


Установка приложений и OpenVPN

В целом установка OpenVPN сервера на большинстве веток Linux не вызывает каких-то особенных трудностей. В моем случае была использована Ubuntu 22.04 LTS.

sudo apt update -y

sudo apt install openvpn openssl ldap-utils openvpn-auth-ldap dos2unix -y

Сервер готов к конфигурированию и дальнейшей работе.

Если вы используете «усиленные» версии Linux, возможно вам понадобится добавить разрешения локальных межсетевых экранов.


Настройка маршрутизации

Делаем роутер из виртуальной машины:

sudo nano /etc/sysctl.conf

добавляем строчку:

net.ipv4.ip_forward=1

Перезапускаем сервис:

sudo sysctl -p

Мы настраиваем доступ к корпоративной сети, поэтому выход в интернет с виртуальной машины (а это SNAT, iptables и т.п.) мы не настраиваем. (это НЕ обход блокировок и т.п., это корпоративный ВПН)

Не забываем про роутинг. В данном примере будем использовать пул адресов клиентов 10.10.0.0/16. Трафик должен маршрутизироваться через нашу виртуальную машину.


Готовим сертификат сервера

Дисклеймер: Конфигурирование PKI выходит за рамки данной статьи. Далее скриншоты и комментарии приведены только относительно важных параметров.

Каждый клиент проверяет сертификат сервера при подключении. Эта мера не позволит злоумышленнику использовать поддельный сервер, например, для сбора корпоративных паролей. Сертификат сервера подписывается корневым центром сертификации и таким образом встраивается в систему PKI от Microsoft.

Итак, выпускаем сертификат для OpenVPN-сервера вручную.

Для сервера нет каких-то специфических требований, за исключением EKU, который мы «заставим» проверять всех клиентов в их конфигурационном файле.


Продолжение читайте на Хабре.

Поделиться:

Свяжитесь с нами

Контакты Пресс-службы
Телефон 8 (800) 333-98-70

pr@icl-services.com

Будьте в курсе новостей

Подпишитесь на рассылку и будьте в курсе наших последних новостей

Подписаться на рассылку
Спасибо, что подписались на рассылку новостей! Адрес подписки успешно добавлен! Ok
На сайтах icl-services.com используются cookie-файлы. Оставаясь на сайте, вы даете свое согласие на использование нами cookie-файлов. Если, прочитав данное сообщение, вы не согласны, просим вас покинуть сайт.

Задать вопрос эксперту

Ф.И.О*
E-mail*
Наименование организации*
Должность*
Телефон*
Вопрос*

Я даю согласие на обработку своих персональных данных в соответствии со статьей 9 Федерального закона от 27 июля 2006 г. N 152-ФЗ«О персональных данных»

Заказать звонок

Ф.И.О*
Контактный телефон*
E-mail
Компания*

Я даю согласие на обработку своих персональных данных в соответствии со статьей 9 Федерального закона от 27 июля 2006 г. N 152-ФЗ«О персональных данных»

Наверх