Сервис Пользовательский VPN

ОШИБКА: объект не найден в инвентаризации:

ОШИБКА: объект не найден в инвентаризации:

Предоставить возможность пользователям подключаться удаленно к внутренним ресурсам компании с разграничением доступности ресурсов для каждого пользователя

  • OpenVPN сервер и скрипт выпуска клиентских конфигов.
  • IP адреса клиентам выдаются статические через CCD файлы, что позволяет четко идентифицировать каждого клиента по IP и управлять его доступом на FW
  • Учет свободных и занятых адресов ведется скриптом автоматически в инвентори/сети 10.50.50.0/24 - челябинские клиенты, 10.20.50.0/24 - московские: скрипт закрепляет за новым конфигом первый свободный IP

Если при генерации нового конфига скрипт найдет одноименного пользователя в инвентори - закрепит за ним выделенный IP (иначе просто сделает описание к IP адресу в виде ovpn-username)

Доступ отзывается/активируется удалением/восстановлением CCD файлов: сервер настроен так, что на каждый конфиг должен присутствовать одноименный CCD файл, удаление CCD деактивирует конфиг (правда не рвет активную сессию)
Дополнительно индивидуальный сетевой доступ клиентов регулируется на FW ОШИБКА: объект не найден в инвентаризации: и ОШИБКА: объект не найден в инвентаризации:

сервисы:openvpn-scheme.png

/etc/openvpn/usr.new pupkin_ii

Создает новый конфиг для pupkin_ii. Конфиг располагается в папке /etc/openvpn/clients/taburetka-pupkin_ii

  • taburetka_pupkin_ii.conf - для linux
  • taburetka_pupkin_ii.ovpn - для windows клиента

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

  • прописывает его в CCD для пользователя pupkin_ii
  • прописывает в инвентори комментарий для занятого IP (название VPN конфига) - тем самым «занимая его» во избежание коллизий
  • если в инвентори есть пользователь pupkin_ii - привязывает к нему занятый IP

Созданный CCD находится в папке с конфигом и называется ccd, по умолчанию туда прописывается только назначение IP адреса клиенту, но содержание можно изменить по своему усмотрению.

Активация доступа

По умолчанию новый конфиг не активирован

/etc/openvpn/usr.enable pupkin_ii

или _enable в папке конфига
Конфигурация сервера такова, что при подключении он ищет файл /etc/openvpn/ccd/pupkin_ii,
а скрипт делает линк /etc/openvpn/clients/taburetka-pupkin_ii/ccd → /etc/openvpn/ccd/pupkin_ii

Отзыв доступа

/etc/openvpn/usr.disable pupkin_ii

или _disable в папке конфига
а скрипт удаляет линк /etc/openvpn/clients/taburetka-pupkin_ii/ccd → /etc/openvpn/ccd/pupkin_ii

Пересборка CCD

Может понадобиться при появлении новых сетей
Удалить существующий ccd файл и

/etc/openvpn/usr.new pupkin_ii

или _renew в папке конфига

При этом закрепленный за пользователем IP сохранится

Не предусмотрена

RPO - достаточно ежедневной копии папки /etc/openvpn
RTO - на усмотрение заказчика

В zabbix-agent зарегистрирована метрика ovpn.users.online
/etc/zabbix/zabbix_agentd.d/userparam_ovpn.conf

UserParameter=ovpn.users.online[*],/etc/zabbix/scripts/ovpn.userlist.sh /var/log/openvpn.status

Который парсит файл /var/log/openvpn.status скриптом

/etc/zabbix/scripts/ovpn.userlist.sh

Логи расположены по пути
/var/log/openvpn-server.log
/var/log/openvpn-status
Хранить не менее 60 дней

Предусмотрена ли, если предусмотрена то как реализуется

Как делается, какие предъявлены требования по RPO и RTO

Требования предъявленые к логированию (глубина хранения, подробность)
Детали логротейта

Задача

Что нужно мониторить
Кого нужно оповещать

Реализация

Как настроены метрики, триггеры, оповещения

если доступ к сервису не контролируется, то эту секцию нужно убрать за ненадобностью

Дата Изменение Комментарий
30.06.2020 Добавлен доступ Ревякину А.А. СЗ №12345 в ELMA (Утверждена Бондаревой и Комиссаровым)
01.07.2020 Добавлен доступ из подсети 10.10.30.0/24 Письмо комиссарова по почте (Тема FW:Доступ из сети ИТ)
  • сервисы/пользовательский_vpn.txt
  • Последнее изменение: 2023/09/18 15:13
  • admin