Настройка WebVPN (AnyConnect) на маршрутизаторах Cisco IOS (Cisco 2911/K9)

Функция WebVPN обеспечивает поддержку удаленного доступа пользователей к корпоративным сетям из любого места в Интернете. WebVPN обеспечивает три режима доступа:

 

  • Клиентский — Обеспечивает безопасный доступ к внутренним веб-ресурсам компании (прим. MS Outlook Web Access). Позволяет VPN-пользователям обозревать и получать доступ к файлам, расположенным на Windows серверах в корпоративной сети, посредством (CIFS).
  • Тонкий клиент (Проброс портов) — Позволяет VPN-пользователям запускать клиентские приложения на их ПК через шифрованное соединение в корпоративной сети.
  • Режим туннеля — Режим полного туннельного клиента обеспечивает легкий, централизованный и простой в использовании клиент SSL AnyConnect, который обеспечивает любой доступ к сетевому уровню компании.

 

Рассмотрим самый востребованный вариант настройки WebVPN в режиме туннеля. Настройка будет производится на оборудовании CISCO2911/K9 с версией прошивки 15.4(3)M9. Используемая версия  клиента AnyConnect 4.5.03040.

 

Загрузка AnyConnect Secure Mobility Client на маршрутизатор

Скачиваем пакеты AnyConnect Headend Deployment Package:

Если у вас нет возможности скачать пакеты с оф. сайта cisco.com, то пишите в комментариях, я помогу скачать.

 

Загружаем пакеты на маршрутизатор, любым удобным способом (прим. TFTP):

 

Устанавливаем пакеты. При установке нескольких пакетов необходимо выставить у пакетов sequence (последовательность):

 

Генерация RSA ключей

Выполняем генерацию RSA 1024-битных пары ключей:

 

Выпуск само-подписного сертификата

Объявляем на маршрутизаторе trustpoint, с необходимым набором характеристик и выпускаем сертификат:

 

Включение и настройка AAA аутентификации

Включаем режим AAA (Authentication, Authorization and Accounting), создаем список аутентификации (прим. VPN_USERS), использующий локальную базу данных пользователей и создаем тестового пользователя (прим. test):

 

Активируем работу https сервера:

 

Создание пула IP-адресов для WebVPN

Пользователям WebVPN необходимо назначить IP-адрес LAN, чтобы они могли общаться с нашей сетью. Указываем пул IP-адресов, которые будут назначены VPN-пользователям. Пул IP-адресов может быть либо частью нашей локальной сети, либо совершенно другой сети:

 

Настройка Virtual-Template Interface (VTI)

При каждом VPN-подключении позволяет создаётся отдельный виртуальный интерфейс (Virtual-Access). Virtual-Access интерфейс клонируется с Virtual-Template-интерфейса, который настраивается следующим образом:

В моем случае интерфейс GigabitEthernet0/0, смотрит в сторону локальной сети

 

Если в настройке маршрутизатора используется VRF-lite + ENV RR, то необходимо так же это указать:

 

Настройка и включение WEBVPN шлюза

Виртуальный шлюз WebVPN позволяет использовать интерфейс или IP-адрес и номер порта, на котором служба WebVPN будет «прослушивать» входящие соединения:

 

Пояснения по командам:

  • Создаем шлюз WebVPN.
  • Указываем используемый интерфейс и порт (GigabitEthernet0/1 — порт провайдера).
  • Указываем какой trustpoint использовать (используем ранее созданный).
  • Включаем логирование.
  • Активируем работу шлюза.

 

Настройка и включение WEBVPN контекста

Контекст WebVPN используется для настройки ряда параметров для нашего VPN-сервера.

 

Пример типовой настройки контекста WebVPN:

 

Пояснения по командам:

  • Задаем текст, который будет отображаться в заголовке страницы веб-браузера.
  • Задаем текст, который будет отображаться в разделе входа в веб-страницу webvpn.
  • Указываем какой шаблон Virtual-Template интерфейса использовать.
  • Указываем какой список аутентификации использовать.
  • Указываем какой использовать шлюз WebVPN.
  • Задаем максимальное кол-во пользователей, которые могут подключится к данному VPN-соединению.
  • Указываем использовать проверку подлинности SSL.
  • (Далее идет настройка политики пользователей)
  • Включаем туннельный режим. Подключившийся VPN-пользователь, получит возможность загрузить на свой ПК клиентское программное обеспечение AnyConnect.
  • Задаем время простоя, после которого пользователь будет отключен.
  • Указываем какой пул IP-адресов использовать, для выдачи IP-адресов подключившимся пользователям.
  • Указываем какой домен использовать по-умолчанию (Если таковой имеется в вашей инфраструктуре).
  • Команды svc split (dns, include) позволяет разделить туннелирование, указав, какой сетевой трафик и dns запросы домена будут отправлены через туннель VPN. Если эта команда не включена, пользователям VPN не будет разрешен доступ к Интернету при подключении к VPN.
  • Указываем какой DNS-сервер использовать при подключении к VPN.
  • Назначаем групповую политику используемую по-умолчанию.
  • Активируем работу контекста.

 

Использование нескольких политик в контексте

К примеру необходимо использовать различный уровень туннельного доступа, для VPN-пользователей, то можно использовать несколько policy group в текущем контексте.

 

К примеру к ранее настроенной policy group VPN_USERS, необходимо еще добавить VPN_ADMINS, в которой будет использоваться split include в другую подсеть компании.

 

Принадлежность пользователя к той или иной policy group, можно задать с помощью локальной базы пользователей и при помощи RADIUS. Рассмотрим оба варианта.

 

Локальная политика аутентификации

Ранее мы создали список аутентификации (VPN_USERS), его и будем использовать:

 

Определим списки атрибутов и зададим имя политики WebVPN, с которой мы хотим сопоставить этот список атрибутов:

 

Теперь создаем пользователей и назначаем их к определенным спискам атрибутов:

 

В контексте указываем какой список аутентификации использовать:

 

Теперь при аутентификации пользователей, будет учитываться принадлежность их к той или иной policy group.

 

RADIUS аутентификация

Как настроить Radius аутентификацию с Windows Server 2012 NPS (Network Policy Server) на Cisco IOS можно посмотреть в статье. Принцип настройки аналогичен, с небольшими изменениями.

 

Первым делом создадим в Active Directory две группы безопасности (VPN_Users и VPN_Admins):

 

В оснастке Сервер политики сети (Network Policy Server) добавляем сетевые политики, по аналогии с выше упомянутой статьей. За исключением нескольких параметров:

  • в условиях аутентификации не забываем указать соответственные группы безопасности (VPN_Users и VPN_Admins)
  • в параметрах зависящие от поставщика, используем параметр Cisco-AV-Pair со значением webvpn:user-vpn-group=VPN_ADMINS и webvpn:user-vpn-group=VPN_USERS (где — VPN_ADMINS и VPN_USERS это политики WebVPN)

 

В итоге должна получится такие сетевые политики:

 

Переходим к конфигурации маршрутизатора, добавляем RADIUS-сервер и создаем список аутентификации при помощи RADIUS-сервера:

 

В контексте WebVPN указываем какой список аутентификации использовать:

 

Проверка работы

Запускаем на клиенте браузер, вводим внешний адрес нашего роутера 212.212.0.1 и видим приглашение:

 

После авторизации, мы попадаем в своего рода внутренний портал, где так же можем скачать клиент VPN AnyConnect, посредством которого установить туннельное соединение с корпоративной сетью.

 

 

Так же приведу список полезных команд, для получения той или иной статистики по работе WebVPN:

  1. Состояние пула IP-адресов.
  2. Отобразить текущие VPN сессии.
  3. Отобразить детальную статистику по VPN-пользователю.
  4. Отобрать статистику по туннелю.
  5. Отобразить общую статистику по WebVPN.
  6. Включение debug режима.

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Всего комментариев: 8 Комментировать

  1. Григорий /

    //Если у вас нет возможности скачать пакеты с оф. сайта cisco.com, то пишите в комментариях, я помогу скачать.
    Можете помочь с пакетами?

    1. Жаконда / Автор записи

      Отправил письмо вам, ссылкой на скачивание

  2. Денис /

    тоже хотел бы получить.
    Заранее спасибо.

  3. Melisa /

    Так же хотелось бы получить актуальные пакеты. Благодарю заранее.

  4. Роман /

    Можно и мне пакеты? Спасибо!!!

    1. Жаконда / Автор записи

      К сожалению на данный момент, нет такой возможности у меня.

  5. Serg /

    есть вопрос по разделению ролей без radius
    aaa authentication login default local
    aaa authentication login VPN_USERS local
    aaa authorization exec default local
    !
    aaa attribute list VPN_ADMINS
    attribute type user-vpn-group «VPN_ADMINS»
    !
    aaa attribute list VPN_USERS
    attribute type user-vpn-group «VPN_USERS»

    username ADMIN privilege 15 secret 4 WWHfkWR04.1VSyplx2CaWJ3bPgNubTSCvZdY3kk0m0Q
    username VPNADMIN privilege 15 secret 5 $1$JxGY$HdJbwqvy3Xkd23CUE.EVE.
    username VPNADMIN aaa attribute list VPN_ADMINS
    username VPNBUH secret 5 $1$F7V5$FbFtiCBSbXNei5q3j7TtS/
    username VPNBUH aaa attribute list VPN_USERS
    username VPNTDIR secret 5 $1$3TPP$5Zgf8qucluvriO/Tj4P8J1
    username VPNTDIR aaa attribute list VPN_USERS

    webvpn gateway VPN_GW
    ip interface GigabitEthernet0/1.55 port 443
    ssl trustpoint SSLVPN_CERT
    logging enable
    inservice
    !
    webvpn context VPN_CONTEXT
    title «WebVPN — Powered By Cisco»
    login-message «Enter your credentials»
    aaa authentication list VPN_USERS
    gateway VPN_GW
    max-users 40
    !
    ssl authenticate verify all
    inservice
    !
    policy group VPN_USERS
    functions svc-enabled
    timeout idle 600
    svc address-pool «VPN_POOL» netmask 255.255.255.0
    svc split include acl 25
    !
    policy group VPN_ADMINS
    functions svc-enabled
    timeout idle 600
    svc address-pool «VPN_POOL» netmask 255.255.255.0
    svc split include 10.150.10.0 255.255.255.0
    default-group-policy VPN_USERS —эту строку оставляем?

    —————————
    в данном случаи все username отрабатывает через aaa authentication login VPN_USERS local и на aaa attribute list внимания не обращает . Даже пользователь без aaa attribute list будет логиниться через aaa authentication login VPN_USERS local и policy group VPN_USERS потому что оно стоит по default-group-policy VPN_USERS(если строку убрать то выдает ошибку что не прошла авторизация)

    Спасибо!

  6. Антон /

    Привет. Есть возможность поделиться пакетами?

Оставить ответ

десять + шестнадцать =

© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика