Вы здесь

Web VPN: подключение отовсюду

Данная статья устарела, см. Установка AnyConnect SSLVPN на IOS Router

Web VPN, SSL VPN или any connect VPN - это названия одной и той же технологии, которая позволяет пользователю подключаться к сети предприятия из дома или по VPN используя протокол HTTPS.
Существуют различные протоколы, позволяющие туннелировать IP пакеты, т.е. создавать виртуальную частную сеть, например IPSec или PPTP, но для конечного пользователя проблема заключается в том, что не все провайдеры пропускают наружу все порты.
Очень часто из интернет кафе мы можем использовать только лишь соединения http и https. Тут как раз и не обойтись без Web VPN.

Рассмотрим практический пример настройки WebVPN:
WebVPN_scheme.jpg

Шаги настройки WebVPN

Сам клиент можно скачать с сайта циски:
http://software.cisco.com/download/type.html?mdfid=283000185&catid=null
Downloads Home > Products > Security > VPN and Endpoint Security Clients > Cisco VPN Clients > Cisco AnyConnect Secure Mobility Client

- Создаем директорию и копируем туда файлы клиента WebVPN
mkdir flash:/webvpn
copy tftp://10.5.14.32/anyconnect-win-2.5.6005-k9.pkg flash:/webvpn/anyconnect-win-2.5.6005-k9.pkg
copy tftp://10.5.14.32/anyconnect-macosx-i386-2.5.3055-k9.pkg flash:/webvpn/anyconnect-macosx-i386-2.5.3055-k9.pkg
copy tftp://10.5.14.32/anyconnect-linux-2.5.3055-k9.pkg flash:/webvpn/anyconnect-linux-2.5.3055-k9.pkg

! имя хоста маршрутизатора hostname core
! Доменное имя маршрутизатора ip domain-name domain.local

! Включаем AAA и настраиваем дефолтную и аутентификацию для VPN

aaa new model aaa authentication login default local aaa authentication login vpn_ls local

Генерируем сертификат для маршрутизатора:
core(config)#crypto pki trustpoint WEBVPN
core(ca-trustpoint)#enrollment selfsigned
core(ca-trustpoint)#rsakeypair WEBVPN 1024
core(ca-trustpoint)#crypto pki enroll WEBVPN
% Include the router serial number in the subject name? [yes/no]: no
% Include an IP address in the subject name? [no]:
Generate Self Signed Router Certificate? [yes/no]: yes

Router Self Signed Certificate successfully created

! Создаем ACL регулирующий куда пользователь может подключиться: ip access-list extended ssl_vpn_acl permit ip any any
! Создаем локальный пул адресов, для клиентов. Адреса принадлежат локальной сети внутреннего адаптера. ip local pool webvpn_pool 10.5.14.250 10.5.14.254
! Создаем пользователя WebVPN username vs password 0 0759781D
! Создаем webvpn gateway - здесь определяется адрес, порт и другие свойства сервера webvpn gateway gateway_1 ip address 82.237.40.108 port 443 ssl trustpoint WEBVPN inservice
! Этими командами подгружаются файлы клиента WebVPN, теперь клиент при подключении автоматически загрузит и установит приложение Cisco Anyconnect VPN Client webvpn install svc flash:/webvpn/anyconnect-win-2.5.6005-k9.pkg sequence 1 ! webvpn install svc flash:/webvpn/anyconnect-macosx-i386-2.5.3055-k9.pkg sequence 2 ! webvpn install svc flash:/webvpn/anyconnect-linux-2.5.3055-k9.pkg sequence 3
! Создается webvpn context, - это профиль настроек webvpn webvpn context SSL secondary-color white title-color #669999 text-color black ssl authenticate verify all ! acl "ssl_vpn_acl" ! ! policy group policy_1 functions svc-required functions svc-enabled svc keep-client-installed svc address-pool webvpn_pool netmask 255.255.252.0 svc split include 10.5.0.0 255.255.0.0 virtual-template 1 default-group-policy policy_1 aaa authentication list vpn_ls gateway gateway_1 inservice


Теперь внешний клиент может набрать в браузере:
https://82.237.40.108
После ввода имени и пароля установится приложение клиента, позволяющее получить доступ к внутренним ресурсам компании.

Ошибки при подключении клиента

Начиная с версии 2.4 клиент стал более требовательным к сертификатам и разрешению имён.
Если у вас вылезает ошибка "The certificate on the secure gateway is invalid. The VPN connect will not establish" это как раз по этой главе.

Приведу комментарий от циски:

This error occurs due to an issue documented in Cisco bug ID CSCtb73337 (registered customers only) . AnyConnect Client version 2.4 does not work with Cisco IOS headend when a certificate is used that is not trusted or there is mismatchin the host name entered in the URL to that to the CN (common name) or SAN (subject alternative name) in the Cisco IOS router certificate. AnyConnect 2.4 fails to connect with Cisco IOS headend due to certificate verify fail error. This issue can be resolved through one of these workarounds: - Make sure that the router certificate is trusted (import into certificate store) and then match the CN/SAN on the certificate to that of the URL. If there is no DNS entry, then you can use a local DNS entry by updating the host file for the host name in certificate. - Downgrade AnyConnect to a previous version: 2.3.

В нашем случае мы можем прописать cn для нашего сертификата:

conf t webvpn gateway gateway_1 no inservice no ssl trustpoint WEBVPN no crypto pki trustpoint WEBVPN crypto pki trustpoint WEBVPN enrollment selfsigned rsakeypair WEBVPN 1024 subject-name cn=195.239.55.142 crypto pki enroll WEBVPN ! % Include the router serial number in the subject name? [yes/no]: no % Include an IP address in the subject name? [no]: Generate Self Signed Router Certificate? [yes/no]: yes ! webvpn gateway gateway_1 ssl trustpoint WEBVPN inservice

Здесь единственное отличие от базового конфига это
subject-name cn=195.239.55.142
где 195.239.55.142 есть IP нашего шлюза.

Также сертификат должен быть установлен на компьютер клиента.
Инструкция по установке сертификата на компьютер клиента:
instrukciya_po_ustanovke_cisco_secure_mobility_client.doc

Еще вариант:

R1(config)# crypto key generate rsa label my-rsa-keys modulus 1024 The name for the keys will be: my-rsa-keys % The key modulus size is 1024 bits % Generating 1024 bit RSA keys, keys will be non-exportable... ! [OK] (elapsed time was 1 seconds)
crypto pki trustpoint my-trustpoint enrollment selfsigned subject-name CN=firewallcx-certificate rsakeypair my-rsa-keys ! crypto pki enroll my-trustpoint % Include the router serial number in the subject name? [yes/no]: yes % Include an IP address in the subject name? [no]: no Generate Self Signed Router Certificate? [yes/no]: yes ! Router Self Signed Certificate successfully created

Дополнение: Cisco AnyConnect Secure Mobility Client

Начиная с 3-й версии SSL клиент стал называться по новому: Cisco AnyConnect Secure Mobility Client
Клиент безусловно подрос, стал более удобным и работает на последней (на момент написания дополнения) Windows 8.1.
На 3825 корректно стал работать только начиная с версии 3.1.04072-k9

В конфигурации различия только в этих командах:

webvpn install svc flash:/webvpn/anyconnect-win-3.1.04072-k9.pkg sequence 1 ! webvpn install svc flash:/webvpn/anyconnect-macosx-i386-3.1.04072-k9.pkg sequence 2 ! webvpn install svc flash:/webvpn/anyconnect-linux-3.1.04072-k9.pkg sequence 3

Проверка

Состояние пула адресов:
show ip local pool

Текущие сессии:
show webvpn session context all

Статистика по пользователю:
show webvpn session user vs context all

Статистика по туннелю:
show webvpn stats tunnel

Общая статистика:
show webvpn stats

Дебаг:
debug webvpn

Комментарии

Здравствуйте!
Очень интересная тема, которую обсуждаете, может поможете или дадите ссылку на материал. У меня следующая проблемка: имеется офис и удаленный офис. В офисе установлен маршрутизатор cisco, с работающими телефонами sccp и sip. В удаленном офисе нужно подключить телефоны. Офисы между собой связаны по VPN через шлюз. Возможно ли подключить телефоны на удаленной территории, как каким образом?

Добрый день, если с VPN у вас всё в порядке, т.е. из удаленного офиса CUCM доступен, то достаточно настроить телефоны:
- локальный ip + маска+шлюз
- tftp указывает на CUCM

Добрый день, с VPN все в порядке, ресурсы подсетей доступны. Вот проблемка из удаленного офиса не пингуется CUCM (точнее CUCME). Хотя на интерфейсе 0/0 сеть удаленного офиса указана.

Добрый день, с VPN все в порядке, ресурсы подсетей доступны. Вот проблемка из удаленного офиса не пингуется CUCM (точнее CUCME). Хотя на интерфейсе 0/0 сеть удаленного офиса указана.

Что подразумевается - с VPN все в порядке, должны быть особые настройки или достаточно стандарного VPN соединения?

Достаточно стандартного VPN-соединения. Все компоненты телефонии (телефоны, шлюзы, Call Manager и тд) должны быть другу другу доступны. У телефона также должна быть прописана опция 150 (вручную или автоматом)

Вопрос к администратору сайта: скажите почему не работает ссылка на материал "Подключение региональных офисов с серыми адресами по VPN". Хотелось бы почитать этот материал.

Исправил, спасибо

У меня cisco 871 и для того, чтобы скопировать файл anyconnect-dart-win-2.5.2019-k9.pkg нет места. Он 4,46 мб, а у меня на флэш осталось 1,5 мб. Если я временно удалю ios, скопирую anyconnect-dart-win-2.5.2019-k9.pkg, установлю "webvpn istall svc ..". Затем удалю файл anyconnect-dart-win-2.5.2019-k9.pkg и обратно скопирую ios. В результате этого, webvpn без файла anyconnect-dart-win-2.5.2019-k9.pkg будет работать или нет?

Я так не пробовал, но у вас есть варианты подгружать тот же иос по tftp при загрузке маршрутизатора. А вообще 871 для этих целей может быть слабовата- купите 891

То, что пока есть. Да можно ios подгружать по tftp или ftp, но это очень ненадежно. Делается только в случае сбоев. Наверное, все же так нельзя. IOS похоже использует этот файл *.pkg

Я боюсь что файл .pkg будет нужен каждый раз при попытке удалённого юзера установить ПО ВПН клиента

Подскажите! После настройки конфига на cisco 2800 серии, установил на ios 12.4 anyconnect-win-3.1.05160-k9.pkg. Инсталировался нормально. Подключение по https проходит, а вот Cisco AnyConnect Secure Mobility Client v3.1.05160 не подключается. С кнопки на странице, после аутентификации, идет запуск, предлагает скачать, установить и все. Даже когда установлен он, все тоже самое. Если подключать клиент руками, он не подключается, то есть именно vpn не подключается. Подскажите где искать? Система Windows 7

В дополнение к первому посту. Клиент при подключении руками, автоматически с веб страницы с кнопки не стартует, ругается на сертификат, на несоответствие имени и адреса, на то, что недействующий. хотя я все сделал как в дополнении к статье. Да и переделал несколько раз для верности. Что можно сделать в этой ситуации?

Пока сертификат не подписан ругань будет всегда.
Попробуйте добавить сертификат в хранилище сертификатов на клиентском компе

Так и есть! Пробовал добавлять, все равно создает массу неудобств!

Добрый день.
Подскажите пож. как клиенту оставить возможность работать в интернете с подключены VPN. На данный момент клиент нормально подключается по пропадает интернет. Удаленная сеть доступна, за исключением пары хостов, еще не разобрался почему.

Добрый день,
Чтобы не пропадал интеренет нужно правильно настроить split tunnel.
здесь важна строка:
svc split include 10.5.0.0 255.255.0.0
10.5.0.0 255.255.0.0 - сеть LAN предприятия, куда вы подключаетесь. Тогда клиент будет понимать что отправлять в туннель а что в интернет

доброго времени суток
настроил на циске SSL VPN
сертификат сгенерирован с правильным именем, имя прописано в DNS
Cisco AnyConnect Secure Mobility Client v3.1.05182
с телефона проходит коннект а вот с компьютера нет
пишет AnyConnect cannot confirm it is connected to your secure gateway. The local network may not be trustworthy. Please try another network.
с телефана коннект проходит из любой сети хоть с приватными хоть с публичными адресами
СОбственно вопрос как решить данную проблему ?
нагуглил на сайте cisco что нужен валидный сертификат, но для дома как то не хочется покупать сертификат.

Добрый день, для роутера могу только посоветовать последнюю прошивку + последнюю версию клиента.
SSL VPN пока стабильна только для ASA. На роутерах, особенно 18, 28, 38 масса багов

IOS последний
AnyConnect последний
также было и с IOS 12.4.24
при первых попытках настройки через SDM древняя версия клиента заработала на winXP.
да
и вот такая ситуация
в IE не открывается страница портала, сначала пишет что сертификат не валидный а потом что страница не существует.
Чувствую проблема на стороне клиента а вот в чем понять не могу :(

Установил VPN на 3-х компьютерах , все оки. Только один такой же конфигурации не может дозвониться до сервера. Инсталяция прошла гладкою В чем может быть причина. После ввода пароля он сбрасывает снова диалоговое окно подключения

можно ли задавать несколько gateway ? если да, то каким образом...
спасибо

Доброго времени суток! Люди добрые, подскажите пожалуйста....есть АСА 5510 с настроенным доступом по VPN через Cisco VPN client (именные сертификаты) и с планшетов через anyconnect (именные сертификаты со спец группой). Хотим всех пользователей пускать через anyconect.... при подключении к внешнему айпишнику по https выбираем сертификат, импортированный на ПК, далее предлагается ввести логин и пароль, вводим но появляется ошибка Login failed. при этом на ACS аутентификация пользователя проходит...в чем может быть проблема?
кусок дебага в момент ввода пароля:
webvpn_allocate_auth_struct: net_handle = 0xade0d0a0
WebVPN: ewaURLHookTranscendCertOnly:1267: tgCookie = NULL
WebVPN: ewaURLHookTranscendCertOnly:1308: Found tunnel group (DefaultWEBVPNGroup)
webvpn_portal.c:ewaFormSubmit_webvpn_login[3491]
webvpn_portal.c:webvpn_login_validate_net_handle[2428]
webvpn_portal.c:webvpn_login_allocate_auth_struct[2448]
webvpn_portal.c:webvpn_login_assign_app_next[2466]
webvpn_portal.c:webvpn_login_cookie_check[2483]
webvpn_portal.c:webvpn_login_set_tg_buffer_from_form[2519]
webvpn_portal.c:webvpn_login_transcend_cert_auth_cookie[2553]
webvpn_login_transcend_cert_auth_cookie: tg_cookie = NULL, tg_name =
webvpn_portal.c:webvpn_login_set_tg_cookie_form[2615]
webvpn_portal.c:webvpn_login_set_tg_cookie_querry_string[2667]
webvpn_portal.c:webvpn_login_resolve_tunnel_group[2740]
webvpn_login_resolve_tunnel_group: tgCookie = NULL
webvpn_login_resolve_tunnel_group: tunnel group name from default
webvpn_login_resolve_tunnel_group: TG_BUFFER = DefaultWEBVPNGroup
webvpn_portal.c:webvpn_login_negotiate_client_cert[2830]
webvpn_portal.c:webvpn_login_check_cert_status[2927]
Tunnel Group: DefaultWEBVPNGroup, Client Cert Auth Success.
webvpn_portal.c:webvpn_login_cert_only[2974]
webvpn_portal.c:webvpn_login_primary_username[2996]
webvpn_portal.c:webvpn_login_primary_password[3075]
webvpn_portal.c:webvpn_login_secondary_username[3107]
webvpn_portal.c:webvpn_login_secondary_password[3182]
webvpn_portal.c:webvpn_login_extra_password[3294]
webvpn_portal.c:webvpn_login_set_cookie_flag[3313]
webvpn_portal.c:webvpn_login_set_auth_group_type[3336]
webvpn_login_set_auth_group_type: WEBVPN_AUTH_GROUP_TYPE = 1
webvpn_portal.c:webvpn_login_aaa_not_resuming[3414]
webvpn_portal.c:http_webvpn_kill_cookie[970]
webvpn_auth.c:http_webvpn_pre_authentication[2109]
WebVPN: calling AAA with ewsContext (-1380553128) and nh (-1377775456)!
webvpn_add_auth_handle: auth_handle = 1733
WebVPN: started user authentication...
webvpn_auth.c:webvpn_aaa_callback[5107]
WebVPN: AAA status = (REJECT)
webvpn_portal.c:ewaFormSubmit_webvpn_login[3491]
webvpn_portal.c:webvpn_login_validate_net_handle[2428]
webvpn_portal.c:webvpn_login_allocate_auth_struct[2448]
webvpn_portal.c:webvpn_login_assign_app_next[2466]
webvpn_portal.c:webvpn_login_cookie_check[2483]
webvpn_portal.c:webvpn_login_set_tg_buffer_from_form[2519]
webvpn_portal.c:webvpn_login_transcend_cert_auth_cookie[2553]
webvpn_login_transcend_cert_auth_cookie: tg_cookie = NULL, tg_name =
webvpn_portal.c:webvpn_login_set_tg_cookie_form[2615]
webvpn_portal.c:webvpn_login_set_tg_cookie_querry_string[2667]
webvpn_portal.c:webvpn_login_resolve_tunnel_group[2740]
webvpn_portal.c:webvpn_login_negotiate_client_cert[2830]
webvpn_portal.c:webvpn_login_check_cert_status[2927]
Tunnel Group: DefaultWEBVPNGroup, Client Cert Auth Success.
webvpn_portal.c:webvpn_login_cert_only[2974]
webvpn_portal.c:webvpn_login_primary_username[2996]
webvpn_portal.c:webvpn_login_primary_password[3075]
webvpn_portal.c:webvpn_login_secondary_username[3107]
webvpn_portal.c:webvpn_login_secondary_password[3182]
webvpn_portal.c:webvpn_login_extra_password[3294]
webvpn_portal.c:webvpn_login_set_cookie_flag[3313]
webvpn_portal.c:webvpn_login_set_auth_group_type[3336]
webvpn_login_set_auth_group_type: WEBVPN_AUTH_GROUP_TYPE = 1
webvpn_portal.c:webvpn_login_aaa_resuming[3366]
webvpn_auth.c:http_webvpn_post_authentication[1483]
WebVPN: user: (USERNAME) rejected.
webvpn_remove_auth_handle: auth_handle = 1733
WARNING: CSD is disabled by AnyConnect Essentials license.
WARNING: CSD is disabled by AnyConnect Essentials license.
webvpn_portal.c:webvpn_determine_primary_username[6008]
webvpn_portal.c:webvpn_determine_secondary_username[6076]
webvpn_portal.c:ewaFormServe_webvpn_login[2168]
webvpn_portal.c:http_webvpn_kill_cookie[970]
webvpn_free_auth_struct: net_handle = 0xade0d0a0
webvpn_allocate_auth_struct: net_handle = 0xade0d0a0
webvpn_free_auth_struct: net_handle = 0xade0d0a0

Знает ли работодатель из какого города я захожу в программу рабочую если использую для подключения Cisco AnyConnect Secure Mobility Client? Виден ли мой IP администратору?

Да, конечно. Но виден IP, с которым поднимается сессия SSL, поэтому в принципе это можно обойти

Спасибо, а как обойти? посоветуйте пожалуйста.Мне разрешили работать только из другого города(я переезжала на длительный период и работала там). Теперь вернулась, в график на работу выходить не вижу смысла так как в домашней обстановке зарабатываю больше и по дому успеваю дела сделать. Если зайду со своего города могут заблокировать учетку. Помогите пожалуйста

Могу подсказать принцип:
В том городе, где вам разрешено работать, нужен терминальный сервер (например у местного провайдера), или это может быть компьютер, подключенный к интернет с установленным VPN-клиентом.
Вы подключаетесь на этот сервер или компьютер с использованием Teamviewer, и уже оттуда подключаетесь через VPN

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image