VPN SSL: что это и как настроить для работы

В 2006 году Fortinet выпустил первый массовый SSL VPN-шлюз. Через 20 лет SSL VPN остаётся самым распространённым методом удалённого доступа в корпоративном сегменте: по данным Frost & Sullivan, 68% компаний используют SSL VPN для удалённых сотрудников. Причина проста: SSL VPN работает через стандартный HTTPS порт 443, не требует специального клиента и проходит через любой файрвол. Но SSL VPN — это не просто «OpenVPN через HTTPS». Это целый класс технологий с разной архитектурой, безопасностью и сценариями применения.

Что такое SSL VPN

SSL VPN (Secure Sockets Layer Virtual Private Network) — технология удалённого доступа, использующая протокол TLS (преемник SSL) для создания зашифрованного туннеля между клиентом и сервером. Работает через стандартный HTTPS порт 443, что делает его «прозрачным» для файрволов и систем фильтрации.

Два типа SSL VPN

SSL VPN Portal (Clientless): - Доступ через веб-браузер - Не нужно устанавливать ПК-клиент - Доступ к веб-приложениям, файловому серверу, почте - Ограниченный функционал

SSL VPN Tunnel (Network-level): - Устанавливается специальный клиент (агент) - Полный доступ к корпоративной сети - Все приложения работают как в офисе - Аналогичен IPsec VPN по функциональности

Как работает SSL VPN

Архитектура

Клиент (браузер или агент) 
    → TLS-соединение (порт 443) 
    → SSL VPN шлюз (Fortinet, Cisco, Juniper) 
    → Аутентификация (MFA, сертификаты, AD) 
    → Политики доступа 
    → Корпоративные ресурсы

Этапы подключения

  1. Установка TLS-соединения: клиент подключается к SSL VPN шлюзу через порт 443. Handshake TLS 1.3 — менее 100 мс.
  1. Аутентификация: пользователь вводит логин/пароль + MFA (TOTP, push-уведомление, SMS). Возможна аутентификация по сертификату.
  1. Проверка устройства: шлюз проверяет: ОС, версию антивируса, шифрование диска, наличие обновлений (Device Posture).
  1. Применение политик: на основе пользователя, устройства и контекста определяется уровень доступа.
  1. Создание туннеля: устанавливается зашифрованный туннель. Клиент получает виртуальный IP-адрес.
  1. Доступ к ресурсам: пользователь работает с корпоративными ресурсами через зашифрованный туннель.

Протоколы и шифрование

КомпонентСтандарт
Протокол транспортаTLS 1.3 (рекомендуется), TLS 1.2
ШифрованиеAES-256-GCM, ChaCha20-Poly1305
Обмен ключамиECDHE (P-256, P-384, X25519)
АутентификацияSHA-256, SHA-384
СертификатыX.509 v3

SSL VPN vs IPsec VPN

ПараметрSSL VPNIPsec VPN
Порт443 (HTTPS)500/4500 (UDP)
КлиентБраузер или агентОбязательно агент
Обход файрволовОтличный (порт 443)Сложный (специальные порты)
ПроизводительностьХорошаяЛучшая
МасштабируемостьХорошаяХорошая
УдобствоВысокое (portal mode)Среднее
Legacy-приложенияОграниченноПолная поддержка
Корпоративный сегментДаДа

Когда выбирать SSL VPN

  • Доступ через браузер (portal mode)
  • Сотрудники из разных стран (обход файрволов)
  • Временные подрядчики (не нужно устанавливать клиент)
  • Веб-приложения и SaaS
  • Compliance не требует IPsec

Когда выбирать IPsec VPN

  • Полный доступ к корпоративной сети
  • Site-to-site VPN между офисами
  • Legacy-приложения
  • Максимальная производительность
  • Compliance требует IPsec

Настройка SSL VPN

На Fortinet FortiGate

Шаг 1: Настройка интерфейса SSL VPN

config vpn ssl settings
    set servercert "Fortinet_Factory"
    set tunnel-ip-pool "SSLVPN_TUNNEL_ADDR1"
    set port 10443
    set source-interface "wan1"
    set source-address "all"
    set default-portal "full-access"
end

Шаг 2: Создание пользователей

config user local
    edit "vpnuser1"
        set type password
        set passwd "SecureP@ss123"
    next
end

config user group
    edit "sslvpn_users"
        set member "vpnuser1"
    next
end

Шаг 3: Настройка политик доступа

config firewall policy
    edit 1
        set name "SSL_VPN_Access"
        set srcintf "ssl.root"
        set dstintf "internal"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set groups "sslvpn_users"
    next
end

Шаг 4: Настройка MFA

config user fortitoken
    edit "FTKMOBxxxxxxxx"
        set status enable
    next
end

config user local
    edit "vpnuser1"
        set two-factor fortitoken
        set fortitoken "FTKMOBxxxxxxxx"
    next
end

На Cisco ASA

Шаг 1: Включение AnyConnect

webvpn
 enable outside
 anyconnect image disk0:/anyconnect-win-4.10.08029-k9.pkg 1
 anyconnect enable

Шаг 2: Настройка Group Policy

group-policy SSL_VPN_GP internal
group-policy SSL_VPN_GP attributes
 dns-server value 8.8.8.8
 vpn-tunnel-protocol ssl-client
 split-tunnel-policy tunnelspecified
 split-tunnel-network-list value SPLIT_TUNNEL
 default-domain value company.local

Шаг 3: Настройка Tunnel Group

tunnel-group SSL_VPN_TG type remote-access
tunnel-group SSL_VPN_TG general-attributes
 default-group-policy SSL_VPN_GP
 authentication-server-group LOCAL
tunnel-group SSL_VPN_TG webvpn-attributes
 group-alias "Company VPN" enable

На OpenVPN (доступная альтернатива)

OpenVPN можно использовать как SSL VPN-решение с веб-порталом:

# Установка OpenVPN и веб-интерфейса
sudo apt install -y openvpn easy-rsa

# Настройка сервера с TLS
# (см. инструкцию по настройке OpenVPN)

# Установка веб-портала для управления
sudo apt install -y ovpn-admin
# ovpn-admin提供 веб-интерфейс для управления пользователями

Безопасность SSL VPN

Известные уязвимости

CVE-2018-13379 (Fortinet): - Уязвимость в FortiOS SSL VPN - Утечка паролей через специальный URL - Затронула 480 000 устройств - Исправлена в FortiOS 6.0.5+

CVE-2019-11510 (Pulse Secure): - Уязвимость в Pulse Secure SSL VPN - Предоставление неавторизованного доступа к файлам - Использовалась для кражи данных - Исправлена в Pulse Secure 9.0R3.4+

CVE-2023-46805 / CVE-2024-21887 (Ivanti): - Цепочка уязвимостей в Ivanti Connect Secure - RCE + обход аутентификации - Массово эксплуатировалась - Исправлена в обновлениях 2024

Рекомендации по безопасности

  1. Обновляйте firmware: регулярно обновляйте SSL VPN шлюз
  2. MFA обязательно: не используйте только логин/пароль
  3. Ограничьте доступ: только авторизованные IP/страны
  4. Мониторинг: логирование всех подключений
  5. Patch management: применяйте патчи в течение 24 часов
  6. Аудит: регулярный аудит конфигурации
  7. Backup: резервное копирование конфигурации

Стоимость SSL VPN решений

РешениеЦенаПользователиТип
Fortinet FortiGate$500-50 000 (аппаратура)10-10 000Hardware
Cisco AnyConnect$2-5/пользователь/мес100-100 000Software
Pulse Secure (Ivanti)$3-8/пользователь/мес50-50 000Software
OpenVPN Access Server$0-75/год2-1000Software
Sophos SSL VPN$2-5/пользователь/мес10-5000Software

SSL VPN Portal vs Tunnel

Portal Mode (Clientless)

Что доступно: - Веб-приложения (OWA, SharePoint, CRM) - Файловый сервер (через веб-интерфейс) - Рабочий стол (через HTML5 RDP) - SSH (через HTML5 терминал)

Плюсы: - Не нужно устанавливать клиент - Работает на любом устройстве с браузером - Идеально для подрядчиков и партнёров

Минусы: - Ограниченный функционал - Не все приложения поддерживаются - Зависимость от браузера

Tunnel Mode

Что доступно: - Полный доступ к корпоративной сети - Все приложения - Все протоколы

Плюсы: - Полная функциональность - Как в офисе

Минусы: - Требует установки клиента - Нужно поддерживать обновления клиента

Часто задаваемые вопросы

SSL VPN безопасен?

SSL VPN с TLS 1.3, MFA и регулярными обновлениями считается безопасным. Основные риски — уязвимости в реализациях (Fortinet, Pulse Secure, Ivanti). Регулярное обновление firmware критически важно.

SSL VPN vs OpenVPN — это одно и то же?

OpenVPN использует TLS/SSL для шифрования, поэтому технически является SSL VPN. Но «SSL VPN» обычно подразумевает enterprise-решения от Cisco, Fortinet, Palo Alto с веб-порталом, MFA, Device Posture. OpenVPN — open-source альтернатива.

Можно ли использовать SSL VPN для site-to-site?

Да, но IPsec более эффективен для site-to-site VPN. SSL VPN оптимален для удалённого доступа (client-to-site). Некоторые производители (Fortinet, Cisco) поддерживают оба режима.

Какой порт использует SSL VPN?

Стандартный порт — 443 (HTTPS). Некоторые решения позволяют изменить порт (например, 10443) для дополнительной безопасности.

Нужен ли специальный клиент для SSL VPN?

Для Portal Mode — нет, достаточно браузера. Для Tunnel Mode — нужен клиент (агент): FortiClient, Cisco AnyConnect, Pulse Secure Client. Некоторые решения поддерживают HTML5-клиент в браузере.

Заключение

SSL VPN — зрелая и проверенная технология удалённого доступа, работающая через стандартный HTTPS порт. Portal Mode идеален для веб-приложений и временных подрядчиков, Tunnel Mode — для полного доступа к корпоративной сети. Fortinet, Cisco, Palo Alto — enterprise-решения, OpenVPN — open-source альтернатива. Главное — регулярное обновление firmware и обязательно MFA. Наш VPN использует SSL/TLS шифрование для защиты всех соединений с автоматическим выбором оптимального протокола.