К содержимому
NEOBRIDGE INSIGHTПо вопросамinfo@neobridge.kz
⌕
Технические модули

ocserv: аутентифицированные TLS/DTLS VPN-сеансы и управление их жизненным циклом

ocserv — сервер удалённого VPN-доступа для Linux по протоколу OpenConnect, совместимый также с AnyConnect. Он связывает аутентификацию пользователя с выделенным TUN-интерфейсом, адресом и настройками сеанса. В комплект входят сервер, управляющая утилита occtl и менеджер парольного файла ocpasswd.

·22 источников·По описаниям проекта ↗
ОБСУДИТЬ И ПОДЕЛИТЬСЯ

Хорошая идея становится полезнее в разговоре.

01
КЛЮЧЕВЫЕ СВЕДЕНИЯ

Паспорт проекта

По первоисточникам
Тип
Технические модули
Задача
Заявленное назначение — удалённый доступ организаций с управлением пользователями и контролем VPN-сеансов.
Для кого
Организации, которым нужен удалённый VPN-доступ с управлением пользователями; операторы сервера, задающие аутентификацию, маршруты, правила firewall и…
Технологии
См. описание механизма
Что потребуется
Основная платформа — Linux с IPv4/IPv6.
Основание
22 первоисточников
02
СУТЬ

За 30 секунд

01 / Зачем

Заявленное назначение — удалённый доступ организаций с управлением пользователями и контролем VPN-сеансов.

02 / Как

Принимает клиентов, проверяет выбранный способ аутентификации и передаёт IP-адрес и маршруты.

03 / Результат

Выход — аутентифицированное VPN-подключение, TUN и выделенный адрес, клиентские маршруты и передаваемые пакеты.

03
ПОСЛЕДОВАТЕЛЬНОСТЬ

Как это работает

01

На входе

Входы — подключения OpenConnect/AnyConnect, серверная конфигурация, IP-пул, маршруты и учётные данные выбранного backend. Поддержаны PAM или простой парольный файл, сертификаты и GSSAPI; сертификат требует CA/CRL и настройки поля идентификатора. Дополнительные INI-файлы пользователя и группы переопределяют настройки его сеанса. Отдельное OIDC-расширение предназначено только для Microsoft Intune VPN.

02

Механизм

Принимает клиентов, проверяет выбранный способ аутентификации и передаёт IP-адрес и маршруты. TLS/TCP служит каналом управления и резервным транспортом данных, DTLS/UDP — основным каналом данных; при недоступности UDP используется TCP/TLS. Настройки различаются по SNI-виртуальному хосту, пользователю и группе. occtl позволяет наблюдать состояние и завершать сеанс с аннулированием cookie, чтобы тот не возобновился автоматически.

03

Результат

Выход — аутентифицированное VPN-подключение, TUN и выделенный адрес, клиентские маршруты и передаваемые пакеты. Управляющая утилита предоставляет сведения о сервере, а RADIUS accounting описывает длительность логического сеанса через переподключения. Административное завершение отключает worker и делает cookie недействительным. Это документированные результаты, не результаты выполненного здесь сетевого теста.

04
ПОДРОБНОСТИ

Что важно понять

01

Техническое устройство

Архитектура разделяет main, sec-mod и отдельные workers. Main принимает TCP/UDP и передаёт аутентифицированному worker TUN; sec-mod хранит приватные ключи, состояние аутентификации и SID, выполняет ключевые операции и accounting; worker ведёт TLS/HTTP и мост TUN↔TLS/DTLS. SNI выбирает виртуальный хост, а файлы пользователя/группы накладывают настройки сеанса. Cookie позволяет возобновление в пределах timeout, тогда как terminate аннулирует его. Это описание процесса, с оговорками AUTH-008 и REVIEW о границах доверия.

02

Для чего создано

Заявленное назначение — удалённый доступ организаций с управлением пользователями и контролем VPN-сеансов. Cookie-механизм предназначен для перехода мобильного клиента между сетями без значительного разрыва сервиса; это цель конструкции, а не подтверждённый SLA.

03

Для кого

Организации, которым нужен удалённый VPN-доступ с управлением пользователями; операторы сервера, задающие аутентификацию, маршруты, правила firewall и прекращение сеансов. Поддержка конкретного клиента зависит от протокола и режима, особенно для Intune OIDC.

04

Сценарии использования

Настроить удалённое подключение с PAM/паролем или сертификатом; выбрать разные конфигурации по домену SNI и группе; сохранить логический сеанс при мобильном переподключении; посмотреть состояние и прекратить конкретный сеанс через occtl. Для скриптов документация рекомендует полный safe_id: неоднозначный короткий префикс отвергается. Отдельный режим Microsoft Intune не расширяет OIDC на все OpenConnect-клиенты.

05

Идея решения

Отделить жизненный цикл VPN-сеанса от одной сетевой связи: security module хранит состояние аутентификации и VPN-сеанса, worker обслуживает транспорт и TUN, main выдаёт ресурсы. Поэтому временное переподключение и административное прекращение — разные операции; TCP/TLS сохраняет путь передачи при проблеме UDP. Устройство не следует считать доказательством абсолютной изоляции.

06

Какую задачу описывает источник

Документы прямо выделяют две задачи: удалённый доступ с управлением пользователями и роуминг мобильных клиентов между сетями. Резервный TLS/TCP-канал отвечает на недоступность UDP. Оценка распространённости этих проблем, спроса и достигнутой производительности не приводится.

05
ГОТОВНОСТЬ К ПРОВЕРКЕ

Что известно из описания

Полнота описанияЗапуск не проверялся
МеханизмОписано
ТребованияОписано
ОграниченияОписано

Что потребуется

  • Основная платформа — Linux с IPv4/IPv6.
  • Для сборки описаны Meson и Ninja; настройке нужны серверный сертификат, отдельный пользователь/группа непривилегированных процессов и параметры выбранной аутентификации.
  • Маршрутизацию и правила firewall должен обеспечить оператор; restrict-user-to-routes/ports дополнительно вызывает ocserv-fw с nftables либо iptables, выбранным при сборке.
  • seccomp зависит от наличия библиотеки и не гарантирован во всех сборках.

Что учитывать

  • Сертификатная аутентификация сама по себе не получает полного разделения привилегий: документация советует сочетать её с паролем, а AUTH-008 явно исключает независимое восстановление сертификатной личности в sec-mod.
  • Требование меж-vhost привязки ключа помечено REVIEW и прямо названо невыполненным в описанной реализации.
  • OIDC не поддерживается открытым клиентом openconnect.
  • Без procfs конфигурацию меняют только при остановленном сервере; часть опций всегда требует restart.
  • RADIUS timeout overrides требуют groupconfig=true.
06
СМОТРИМ ГЛУБЖЕ

Комментарий NeoBridge

Общая справка

  • TUN — Виртуальный сетевой интерфейс для передачи IP-пакетов между ОС и приложением.
  • DTLS — Вариант TLS для транспорта датаграмм, обычно UDP.
  • SNI — Имя сервера в TLS ClientHello, используемое для выбора виртуального хоста.

Что стоит уточнить

  • Какие REVIEW/OPEN пункты устранены в выбранном релизе, включая независимую сертификатную проверку и меж-vhost ключевые операции? Пакет содержит конфликтующие требования и явные незакрытые оговорки.
  • Какие версии сервера, клиента, TLS-библиотеки и optional backends используются в конкретной установке? Совместимость, seccomp, OIDC и reload зависят от сборки и платформы.
  • Как проверены отзыв cookie, правила маршрутизации/firewall и RADIUS accounting при роуминге и остановке? Сохранённые acceptance-планы не являются результатами выполненных здесь испытаний.
↗
ОСНОВАНИЯ

Из первоисточников

22 ссылок

Редакционный обзор NeoBridge Insight по материалам источников ниже. Права на исходные тексты, код и изображения принадлежат их правообладателям. Условия использования указаны в первоисточниках.

Автор документа по источнику: Nikos Mavrogiannopoulos

Независимое тестирование проекта не проводилось.

← Вернуться к проектам Продолжить исследование ↗