Что такое Cisco VPN Server и зачем он нужен
Cisco VPN Server — это программно-аппаратный комплекс, который позволяет организовать защищённый удалённый доступ к корпоративной сети через интернет. В зависимости от платформы он может быть реализован на базе межсетевых экранов Cisco ASA, маршрутизаторов Cisco IOS или облачных решений Meraki MX. Основная задача такого сервера — создать зашифрованный туннель между удалённым устройством сотрудника и внутренними ресурсами компании, обеспечив конфиденциальность и целостность передаваемых данных.
VPN-серверы Cisco востребованы в сценариях, где сотрудники работают из дома, в командировках или подключаются к филиалам. Они позволяют получить доступ к файловым серверам, базам данных, внутренним веб-приложениям и другим ресурсам, которые не должны быть доступны из публичного интернета. Кроме того, VPN-серверы используются для объединения офисов в единую сеть, когда необходимо связать несколько географически распределённых площадок.
Важно понимать разницу между site-to-site VPN и remote access VPN. Site-to-site VPN соединяет два офиса, создавая постоянный туннель между маршрутизаторами или межсетевыми экранами. Remote access VPN предназначен для индивидуальных пользователей, которые подключаются с персональных компьютеров или мобильных устройств. Cisco поддерживает оба типа, и в этой статье мы сосредоточимся на remote access VPN, поскольку именно он чаще всего ассоциируется с понятием VPN-сервера.
Основные протоколы: IKEv2, L2TP и SSL/TLS
Cisco VPN Server поддерживает несколько протоколов туннелирования, каждый из которых имеет свои особенности. На платформе Meraki MX доступны два основных протокола: L2TP и IKEv2. L2TP (Layer 2 Tunneling Protocol) — это более старый протокол, который часто используется в паре с IPsec для шифрования. Он поддерживается большинством операционных систем без установки дополнительного ПО, но имеет ограничения, например, не поддерживает IKEv2 и требует использования IKEv1 для IPsec.
IKEv2 (Internet Key Exchange version 2) — современный протокол, обеспечивающий более высокую безопасность и гибкость. Он поддерживает современные алгоритмы шифрования, такие как AES-CBC-256, и позволяет настраивать раздельное туннелирование (split tunneling). На Meraki MX IKEv2 доступен начиная с прошивки 26.1.X и рекомендуется для новых развёртываний.
На межсетевых экранах Cisco ASA также поддерживается SSL/TLS VPN через Cisco Secure Client (ранее AnyConnect). Этот протокол использует порт 443, что позволяет обходить большинство файрволов и прокси-серверов, так как трафик выглядит как обычный HTTPS. SSL VPN удобен для пользователей, которые подключаются из сетей с ограниченным доступом, например, из гостиниц или аэропортов.
Настройка Cisco VPN Server на Meraki MX
Для включения VPN-сервера на устройстве Meraki MX необходимо перейти в раздел Security & SD-WAN > Configure > Client VPN. Здесь нужно выбрать режим (L2TP или IKEv2), указать hostname — это DDNS-имя, которое будет использоваться клиентами для подключения. Также настраивается подсеть для VPN-клиентов, которая не должна пересекаться с другими подсетями в сети. MX будет выступать шлюзом по умолчанию для этой подсети и маршрутизировать трафик.
Для IKEv2 можно настроить раздельное туннелирование: либо отправлять весь трафик через VPN, либо только трафик, предназначенный для определённых подсетей. Это полезно для оптимизации трафика и снижения нагрузки на канал. Также настраиваются DNS-серверы, которые будут использоваться клиентами, и при необходимости WINS-серверы для NetBIOS-имён.
Для L2TP необходимо указать общий секрет (pre-shared key). Рекомендуется, чтобы секрет не содержал специальных символов в начале или конце строки. Для IKEv2 настраивается сертификат: можно использовать автоматически сгенерированный сертификат от Meraki с DDNS-именем или загрузить собственный сертификат, подписанный доверенным центром сертификации.
Аутентификация пользователей: Meraki Cloud, RADIUS, Active Directory
Cisco VPN Server поддерживает несколько способов аутентификации пользователей. На Meraki MX доступны три варианта: Meraki Cloud Authentication, RADIUS и Active Directory. Meraki Cloud Authentication — это встроенное решение, которое позволяет управлять пользователями прямо из панели Dashboard. Администраторы могут добавлять пользователей вручную, указывая имя, email и пароль. При этом email используется как имя пользователя для входа. Этот вариант удобен для небольших организаций, где нет собственного сервера аутентификации.
RADIUS — это протокол, который позволяет использовать внешний сервер аутентификации. Настройка включает указание IP-адреса сервера, порта и общего секрета. Meraki MX поддерживает несколько RADIUS-серверов, но трафик между ними не балансируется: серверы используются в порядке возрастания IP-адресов. Это важно учитывать при планировании отказоустойчивости.
Active Directory — это вариант для организаций, использующих Windows-инфраструктуру. Для настройки необходимо указать короткое имя домена, IP-адрес контроллера домена, а также учётные данные администратора домена. MX будет использовать LDAP для проверки учётных данных. Важно отметить, что при использовании Active Directory нельзя назначать групповые политики для VPN-пользователей — это ограничение платформы.
Настройка Cisco Secure Client на ASA
На межсетевых экранах Cisco ASA для удалённого доступа используется Cisco Secure Client (ранее AnyConnect). Этот клиент поддерживает не только VPN, но и дополнительные модули, такие как проверка соответствия (posture), защита от вредоносного ПО (Secure Endpoint) и интеграция с Zero Trust Network Access (ZTNA). Для настройки VPN-сервера на ASA необходимо создать локальную базу пользователей или использовать RADIUS-сервер. В примере из документации Cisco используется локальная база: создаётся пользователь с привилегией 2, чтобы ограничить доступ к CLI, и назначается service-type remote-access.
Далее настраивается пул IP-адресов для VPN-клиентов. ASA может выступать в роли DHCP-сервера, раздавая адреса из указанного диапазона. Для крупных развёртываний можно использовать внешний DHCP-сервер. Затем включается WebVPN на внешнем интерфейсе и загружается образ Cisco Secure Client на флеш-память ASA, чтобы клиенты могли автоматически получить установщик при подключении.
Важным шагом является настройка NAT для VPN-клиентов, если им нужен доступ в интернет. Для этого используется команда nat (any,outside) dynamic interface, которая позволяет трафику из пула VPN-клиентов выходить через внешний интерфейс. Также требуется разрешить трафик между интерфейсами одной безопасности с помощью команды same-security-traffic permit intra-interface.
Туннельные группы и групповые политики
Туннельные группы (tunnel groups) в Cisco ASA используются для назначения политик подключения для разных категорий пользователей. По умолчанию существуют три группы: DefaultL2LGroup для site-to-site, DefaultRAGroup для IKEv1 remote access и DefaultWEBVPNGroup для SSL/TLS и IKEv2. Рекомендуется создавать собственные туннельные группы, чтобы иметь больше контроля. Например, можно создать группу RemoteAccessVPN, указать пул адресов, метод аутентификации и групповую политику.
Групповые политики (group policies) определяют параметры, общие для многих пользователей: DNS-серверы, домен по умолчанию, протоколы VPN и фильтры трафика. По умолчанию используется политика DfltGrpPolicy, но для более тонкой настройки создаются собственные политики. Например, можно ограничить доступ пользователей только к определённым серверам, используя vpn-filter с ACL. Это полезно для повышения безопасности, когда сотрудникам нужен доступ только к конкретным ресурсам.
При подключении через Cisco Secure Client пользователь может ввести URL с именем группы, например https://ra-vpn.domain.com/ra-vpngroup. Это позволяет ASA определить, какую туннельную группу использовать. Если используется просто IP-адрес, будет применена группа по умолчанию, что может привести к неверным настройкам.
Безопасность и современные алгоритмы шифрования
Безопасность VPN-соединения напрямую зависит от используемых алгоритмов шифрования и хэширования. Cisco активно отказывается от устаревших алгоритмов, таких как 3DES и Diffie-Hellman Group 2. Начиная с прошивки MX 19 на платформах vMX, Meraki начала поэтапное прекращение поддержки 3DES. Это означает, что если ваши VPN-клиенты настроены на использование устаревших алгоритмов, они не смогут подключиться. Рекомендуется использовать современные алгоритмы: AES-CBC-256 для шифрования, HMAC-SHA2-256 для хэширования и DH Groups 14 или выше.
Для IKEv2 на Meraki MX используются следующие параметры Phase 1: шифрование AES-CBC-256, хэширование HMAC-SHA2-256, DH Groups 14 или 2 (с предупреждением о депрекации). Phase 2 использует AES-CBC-256 и HMAC-SHA2-256-128 или HMAC-SHA1-96. Важно, чтобы параметры на клиенте и сервере совпадали, иначе соединение не установится.
На ASA для SSL VPN можно настроить используемые шифры и версии TLS. Например, команда ssl encryption aes256-sha1 aes128-sha1 3des-sha1 задаёт список разрешённых шифров. Рекомендуется исключать 3DES и использовать только AES с SHA-256 или выше. Также можно настроить минимальную версию TLS/DTLS с помощью команды ssl server-version.
Мониторинг и устранение неполадок
После настройки VPN-сервера важно контролировать его работу. На Meraki MX можно просмотреть список подключённых клиентов в разделе Network-wide > Monitor > Clients. Здесь видно, какие устройства подключены, их IP-адреса и статус. Это помогает выявить подозрительные подключения или проблемы с доступом.
На ASA для проверки активных VPN-сессий используется команда show vpn-sessiondb anyconnect. Она показывает имя пользователя, назначенный IP-адрес, публичный IP-адрес клиента, используемые протоколы (например, SSL-Tunnel и DTLS-Tunnel), а также групповую политику и туннельную группу. Это полезно для диагностики проблем с подключением и проверки, какие политики применяются.
Для проверки соединений можно использовать команду show conn | inc <IP-адрес>, которая показывает активные соединения, связанные с VPN-клиентом. Это помогает убедиться, что трафик проходит правильно и нет блокировок. Также стоит обратить внимание на логи ASA, где могут быть сообщения об ошибках аутентификации или проблемах с туннелем.
Особенности и ограничения Cisco VPN Server
При использовании Cisco VPN Server необходимо учитывать ряд ограничений. На Meraki MX VPN-подключения могут устанавливаться только через основной uplink устройства. Если используется резервный канал, VPN-клиенты не смогут подключиться через него. Также трафик VPN может маршрутизироваться через site-to-site VPN, включая AutoVPN и Non-Meraki VPN, что позволяет удалённым пользователям получать доступ к ресурсам в других офисах.
Для L2TP на Meraki MX поддерживается только IKEv1, и назначение IP-адресов происходит через LCP, поэтому DHCP и статические адреса не поддерживаются. Это означает, что пул адресов настраивается на самом MX, и клиенты получают адреса автоматически.
На ASA при использовании локальной базы пользователей важно правильно настроить привилегии. Уровень привилегий 2 ограничивает доступ к CLI, но позволяет использовать VPN. Также стоит помнить, что если не указать authentication-server-group, будет использоваться LOCAL. Для крупных организаций рекомендуется использовать RADIUS или Active Directory для централизованного управления.
Практические примеры и рекомендации
Рассмотрим типичный сценарий настройки VPN-сервера на Meraki MX для небольшой компании. Предположим, у нас есть MX с прошивкой 26.1 или новее. Включаем Client VPN, выбираем режим IKEv2, указываем hostname (например, vpn.company.com), задаём подсеть 10.10.10.0/24 для клиентов. Включаем split tunnel и указываем подсети, которые должны быть доступны через VPN (например, 192.168.1.0/24). Настраиваем DNS-серверы на внутренние адреса. Для аутентификации используем Meraki Cloud Authentication, добавляем пользователей вручную.
Для ASA пример настройки включает создание локального пользователя, пула адресов, включение WebVPN на внешнем интерфейсе и настройку туннельной группы. Пользователь подключается через Cisco Secure Client, вводя URL с именем группы. После подключения он получает IP-адрес из пула и может обращаться к внутренним ресурсам.
Рекомендации по безопасности: всегда используйте современные алгоритмы шифрования, регулярно обновляйте прошивку устройств, используйте многофакторную аутентификацию, если это возможно, и ограничивайте доступ с помощью групповых политик. Также важно следить за журналами и мониторить активность VPN-подключений для выявления аномалий.
Вопросы и ответы
Какие протоколы поддерживает Cisco VPN Server на Meraki MX?
На Meraki MX поддерживаются два основных протокола: L2TP и IKEv2. L2TP работает в паре с IPsec (IKEv1) и не требует установки дополнительного ПО на большинстве ОС. IKEv2 доступен начиная с прошивки 26.1.X и обеспечивает более высокую безопасность, поддерживая современные алгоритмы шифрования и раздельное туннелирование. Для IKEv2 также требуется сертификат, который может быть автоматически сгенерирован Meraki или загружен вручную.
Как настроить аутентификацию через Active Directory на Cisco VPN Server?
Для аутентификации через Active Directory на Meraki MX необходимо в разделе Client VPN выбрать вариант Active Directory и указать короткое имя домена, IP-адрес контроллера домена, а также учётные данные администратора домена. MX будет использовать LDAP для проверки учётных данных. Важно отметить, что при этом нельзя назначать групповые политики для VPN-пользователей. На ASA аналогичная настройка выполняется через команды, указывающие на сервер Active Directory.
Что такое split tunneling и когда его использовать?
Split tunneling — это функция, которая позволяет направлять через VPN только трафик, предназначенный для определённых подсетей, а остальной трафик отправлять напрямую через интернет. Это снижает нагрузку на VPN-сервер и канал связи, а также уменьшает задержки для пользователей. Однако с точки зрения безопасности split tunneling менее предпочтителен, так как трафик, не идущий через VPN, не защищён. Рекомендуется использовать его только тогда, когда это необходимо для производительности.
Какие алгоритмы шифрования рекомендуется использовать для Cisco VPN Server?
Рекомендуется использовать современные алгоритмы: AES-CBC-256 для шифрования, HMAC-SHA2-256 для хэширования и Diffie-Hellman группы 14 или выше. Cisco постепенно отказывается от устаревших алгоритмов, таких как 3DES и DH Group 2, поэтому их использование может привести к проблемам с подключением. Убедитесь, что настройки на клиенте и сервере совпадают.
Как проверить активные VPN-подключения на Cisco ASA?
Для проверки активных VPN-сессий на ASA используйте команду show vpn-sessiondb anyconnect. Она покажет имя пользователя, назначенный IP-адрес, публичный IP-адрес клиента, используемые протоколы (например, SSL-Tunnel и DTLS-Tunnel), а также групповую политику и туннельную группу. Для просмотра активных соединений, связанных с VPN-клиентом, можно использовать команду show conn | inc <IP-адрес>.
Можно ли использовать Cisco Secure Client для подключения к Meraki MX?
Да, Cisco Secure Client (ранее AnyConnect) может использоваться для подключения к Meraki MX, если настроен протокол IKEv2. Процесс настройки сертификатов аналогичен AnyConnect. Однако для L2TP обычно используются встроенные клиенты операционных систем. Cisco Secure Client также поддерживает дополнительные модули, такие как проверка соответствия и защита от вредоносного ПО.
Какие ограничения есть у L2TP на Cisco VPN Server?
L2TP на Meraki MX поддерживает только IKEv1, IKEv2 не поддерживается. Назначение IP-адресов происходит через LCP, поэтому DHCP и статические адреса не поддерживаются. Также L2TP может требовать установки дополнительных пакетов на Linux-системах. Для повышения безопасности рекомендуется использовать IKEv2, если это возможно.