В этом документе описывается способ применения самостоятельно подписанных сертификатов, разрешающих удаленный доступ подключений SSL VPN к ASA из клиента Cisco AnyConnect 2.0.
Убедитесь, что вы обеспечили выполнение следующих требований, прежде чем попробовать эту конфигурацию:
Базовая ASA конфигурация, где запущено ПО версии 8.0
ASDM 6.0(2)
Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:
Cisco ASA 8.0(2), ASDM 6.0 (2)
Cisco AnyConnect 2.0
Клиент Cisco AnyConnect 2.0 — это клиент VPN, работающий на базе SSL. AnyConnect Клиент можно использовать и устанавливать в самых разных операционных системах (таких как Windows 2000, XP, Vista, Linux (разные дистрибутивы) и MAC OS X). Системный администратор может установить клиент AnyConnect вручную на удаленный компьютер. Его также можно загрузить в устройство обеспечения безопасности и подготовить для загрузки удаленными пользователями. После загрузки приложение можно автоматически удалить вслед за разрывом подключения либо оставить на удаленном компьютере для будущих подключений VPN SSL. В этом примере клиент AnyConnect подготавливается к загрузке после успешной аутентификации SSL на основе браузера.
Дополнительные сведения о клиенте AnyConnect 2.0 см. в документе Заметки о выпуске AnyConnect 2.0.
Примечание: Сервисы терминалов MS не поддерживаются в сочетании с клиентом AnyConnect. Невозможно подключиться по протоколу удаленного рабочего стола (RDP) к компьютеру, а затем запустить сеанс AnyConnect. К клиенту, подключенному с помощью AnyConnect, невозможно подключиться с помощью RDP.
Примечание: Для первой установки AnyConnect требуется, чтобы пользователь имел права администратора (независимо от того, используете ли вы автономный msi-пакет AnyConnect или получаете файл pkg от ASA). Если у пользователя нет прав администратора, появляется диалоговое окно с соответствующим требованием. Последующие обновления не потребуют наличия прав администратора у пользователя, ранее установившего AnyConnect.
Чтобы ASA настроить для доступа через VPN с помощью любого клиента AnyConnect, выполните следующие действия:
По умолчанию устройство обеспечения безопасности обладает самостоятельно подписанным сертификатом, который создается заново каждый раз, когда устройство перезагружается. Приобрести свой собственный сертификат можно у поставщиков (например, у Verisign или EnTrust), либо настроить ASA так, чтобы идентификационный сертификат выпускался самим устройством. Этот сертификат остается одинаковым даже в случае перезагрузки устройства. Завершите этот шаг, чтобы создать самостоятельно выпускаемый сертификат, который сохраняется при перезагрузке.
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Разверните Управление сертификатами раздел и выберите сертификаты идентификации.
Щелкните Добавьте, а затем щелкните переключатель Добавляют новый сертификат идентификации.
Щелкните Новый.
В Пара Добавления ключа окне щелкните переключатель Вводит новое имя пары ключей.
Введите название, которое идентифицирует пару ключей.
В этом примере используется название sslvpnkeypair.
Нажмите кнопку генерируют теперь.
Убедитесь, что в окне добавляют сертификат идентификации выбрана только что созданная пара ключей.
В DN предмета сертификата поле введите полное доменное имя (FQDN), которое будет использоваться для подключения к конечному интерфейсу VPN.
CN=sslvpn.cisco.com
Щелкните Усовершенствованный и введите FQDN, использованный для поля DN предмета сертификата.
Например, FQDN: sslvpn.cisco.com
Нажмите кнопку ОК.
Установите флажок генерируют сам, подписанный сертификат и щелкните добавляет сертификат.
Нажмите кнопку ОК.
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Раскройте Усовершенствованный раздел, а затем раскройте раздел параметры настройки SSL.
В Сертификаты области выберите интерфейс, который будет использоваться в качестве конечного для VPN SSL (внешний), а затем нажмите редактируют.
В раскрывающемся списке сертификат выберите самостоятельно подписанный сертификат, который был ранее сгенерирован.
Нажмите ХОРОШО кнопку, а затем нажмите применяются.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#crypto key generate rsa label sslvpnkeypair INFO: The name for the keys will be: sslvpnkeypair Keypair generation process begin. Please wait... !--- Generate an RSA key for the certificate. (The name should be unique. !--- For example, sslvpnkeypair.) ciscoasa(config)#crypto ca trustpoint localtrust !--- Create a trustpoint for the self-issued certificate. ciscoasa(config-ca-trustpoint)#enrollment self ciscoasa(config-ca-trustpoint)#fqdn sslvpn.cisco.com ciscoasa(config-ca-trustpoint)#subject-name CN=sslvpn.cisco.com !--- The fully qualified domain name is used for both fqdn and CN. !--- The name should resolve to the ASA outside interface IP address. ciscoasa(config-ca-trustpoint)#keypair sslvpnkeypair !--- The RSA key is assigned to the trustpoint for certificate creation. ciscoasa(config-ca-trustpoint)#crypto ca enroll localtrust noconfirm % The fully-qualified domain name in the certificate will be: sslvpn.cisco.com ciscoasa(config)# ssl trust-point localtrust outside !--- Assign the trustpoint to be used for SSL connections on the outside interface. |
В этом документе используется клиент AnyConnect SSL 2.0. Этот клиент можно загрузить с сайта загрузки программного обеспечения Cisco. Для каждой операционной системы, которую планируют применять удаленные пользователи, требуется отдельный образ Anyconnect. Дополнительные сведения см. в документе Заметки о выпуске Cisco AnyConnect 2.0.
Загрузив AnyConnect клиент, выполните следующие действия:
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Разверните Сетевой доступ (клиент) раздел, а затем разверните раздел усовершенствованный.
Разверните VPN SSL раздел и выберите клиентские параметры настройки.
В VPN-клиент SSL (SVC) области отображает щелкните, добавляют, а затем — загрузка.
Перейдите к папке, в которую был загружен клиент AnyConnect.
Выберите файл и щелкните файл загрузки.
После загрузки клиента появляется сообщение о том, что файл успешно загружен во флэш-память.
Нажмите кнопку ОК.
Появится окно, подтверждающее намерение использовать только что загруженный образ в качестве текущего образа клиента VPN SSL.
Нажмите кнопку ОК.
Нажмите ХОРОШО кнопку, а затем нажмите применяются.
Повторите действия из этого раздела для каждого пакета Anyconnect для операционной системы, который требуется использовать.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#copy tftp://192.168.50.5/anyconnect-win-2.0.0343-k9.pkg flash Address or name of remote host [192.168.50.5]? Source filename [anyconnect-win-2.0.0343-k9.pkg]? Destination filename [anyconnect-win-2.0.0343-k9.pkg]? Accessing tftp://192.168.50.5/anyconnect-win-2.0.0343-k9.pkg...!!!!!!!!!!!!! Writing file disk0:/anyconnect-win-2.0.0343-k9.pkg... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2635734 bytes copied in 4.480 secs (658933 bytes/sec) !--- AnyConnect image is downloaded to ASA via TFTP. ciscoasa(config)#webvpn ciscoasa(config-webvpn)#svc image disk0:/anyconnect-win-2.0.0343-k9.pkg 1 !--- Specify the AnyConnect image to be downloaded by users. The image that is !--- downloaded the most should have the lowest number. This image uses 1 for the !--- AnyConnect Windows image. |
Чтобы разрешить клиенту AnyConnect подключаться к ASA, необходимо включить доступ в оконечном интерфейсе подключений VPN SSL. В этом примере в качестве оконечного интерфейса для подключений Anyconnect используется внешний интерфейс.
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Разверните Сетевой доступ (клиент) раздел, а затем выберите профили VPN-подключения на базе SSL.
Установите флажок включают Cisco AnyConnect VPN Client.
Установите флажок предоставляют доступ для внешнего интерфейса и щелкните, применяются.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#webvpn ciscoasa(config-webvpn)#enable outside ciscoasa(config-webvpn)#svc enable !--- Enable AnyConnect to be downloaded to remote computers. |
Групповая политика служит для указания параметров конфигурации, которые должны применяться к клиентам при подключении. В этом примере создается групповая политика, которая называется SSLClientPolicy.
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Разверните Сетевой доступ (клиент) раздел, а затем разверните раздел групповые политики.
Нажмите Добавить.
Выберите Общий, а затем введите SSLClientPolicy в поле название.
В Пулы адресов разделе снимите флажок наследовались.
Щелкните Выберите, а затем выберите добавляют.
Появится окно добавляют пул IP.
Настройте пул адресов из диапазона IP-адресов, который в данный момент не используется в вашей сети.
В этом примере используются следующие значения:
Name: SSLClientPool
Starting IP Address: 192.168.25.1
Ending IP Address: 192.168.25.50
Маска подсети: 255.255.255.0
Нажмите кнопку ОК.
Выберите только что созданный пул и щелкните назначают.
Нажмите ХОРОШО кнопку, а затем щелкните больше опций.
В Протоколы туннелирования разделе снимите флажок наследовались.
Установите VPN-клиент SSL (SVC) флажок.
На левой панели выберите серверы.
В DNS Серверы разделе снимите флажок наследовали и введите IP-адрес внутреннего сервера DNS, который будет использоваться клиентами AnyConnect.
В этом примере используется адрес 192.168.50.5.
Щелкните Больше опций.
В Домен по умолчанию разделе снимите флажок наследовался.
Введите домен, используемый вашей внутренней сетью. Например, tsweb. лОКАЛЬНЫЙ.
Нажмите ХОРОШО кнопку, а затем нажмите применяются.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#ip local pool SSLClientPool 192.168.25.1-192.168.25.50 mask 255.255.255.0 !--- Define the IP pool. The IP pool should be a range of IP addresses !--- not already in use on the internal network. ciscoasa(config)#group-policy SSLCLientPolicy internal ciscoasa(config)#group-policy SSLCLientPolicy attributes ciscoasa(config-group-policy)#dns-server value 192.168.50.5 !--- Specify the internal DNS server to be used. ciscoasa(config-group-policy)#vpn-tunnel-protocol svc !--- Specify VPN tunnel protocol to be used by the Group Policy. ciscoasa(config-group-policy)#default-domain value tsweb.local !--- Define the default domain assigned to VPN users. ciscoasa(config-group-policy)#address-pools value SSLClientPool !--- Assign the IP pool created to the SSLClientPolicy group policy. |
При включении этого параметра клиентам SSL/IPsec разрешается обходить список доступа интерфейса.
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Разверните Сетевой доступ (клиент) раздел, а затем разверните раздел усовершенствованный.
Разверните VPN SSL раздел и выберите обходной список доступа к интерфейсам.
Убедитесь в том, что установлен флажок Включают входящую VPN SSL, и Сеансы IPSec для обхода списков доступа к интерфейсам и нажмите Применяются.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#sysopt connection permit-vpn !--- Enable interface access-list bypass for VPN connections. !--- This example uses the vpn-filter command for access control. ciscoasa(config-group-policy)# |
Когда VPN клиенты подключаются к ASA, они подключаются к профилю подключения или туннельной группе. Туннельная группа используется для определения параметров подключения для определенных типов подключений VPN (таких как L2L IPsec, удаленный доступ с помощью IPsec, SSL без клиентов и SSL с клиентами).
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Разверните Сетевой доступ (клиент) раздел, а затем разверните раздел VPN SSL.
Выберите Профили подключения и щелкните добавляют.
Выберите Основной и введите следующие значения:
Name: SSLClientProfile
Authentication: ЛОКАЛЬНЫЙ
Default Group Policy: SSLClientPolicy
Убедитесь в том, что установлен флажок протокол VPN-клиента SSL (SVC).
Разверните на левой панели раздел усовершенствованный и выберите VPN SSL.
В Псевдонимы соединения разделе щелкните добавляют и введите имя, которое пользователи могут связать со своими подключениями VPN. Например, SSLVPNClient.
Нажмите кнопку ХОРОШО, а затем нажмите кнопку ХОРОШО еще раз.
В нижней части окна ASDM установите флажок Позволяют, что Применяется пользователь для выбора соединения, определенного псевдонимом в таблице выше в странице входа и щелкните.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#tunnel-group SSLClientProfile type remote-access !--- Define tunnel group to be used for VPN remote access connections. ciscoasa(config)#tunnel-group SSLClientProfile general-attributes ciscoasa(config-tunnel-general)#default-group-policy SSLCLientPolicy ciscoasa(config-tunnel-general)#tunnel-group SSLClientProfile webvpn-attributes ciscoasa(config-tunnel-webvpn)#group-alias SSLVPNClient enable !--- Assign alias for tunnel group. ciscoasa(config-tunnel-webvpn)#webvpn ciscoasa(config-webvpn)#tunnel-group-list enable !--- Enable alias/tunnel group selection for SSL VPN connections. |
Исключение NAT должно настраиваться для любых IP-адресов или диапазонов IP-адресов, к которым требуется разрешить доступ клиентов VPN SSL. В данном примере клиентам VPN SSL нужен доступ только к внутреннему IP-адресу 192.168.50.5.
Примечание: Если управление NAT не включено, это действие не требуется. Воспользуйтесь для проверки командой nat-control покажите выполненного. Чтобы выполнить проверку с помощью ASDM, щелкните Конфигурация, затем — Межсетевой экран, а затем выберите туземные Правила. Если установлен флажок Включают трафик через межсетевой экран без переадресации это действие можно пропустить.
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите межсетевой экран.
Выберите Nat представляет и щелкните, добавляют.
Выберите Добавьте NAT освобожденное правило и введите следующие значения:
Действие: Свободно
Interface: внутри
Источник: 192.168.50.5
Destination: 192.168.25.0/24
NAT Exempt Direction: Исходящий трафик исключения NAT, поступающий из интерфейса "внутри" в менее безопасные интерфейсы (по умолчанию)
Нажмите ХОРОШО кнопку, а затем нажмите применяются.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#access-list no_nat extended permit ip host 192.168.50.5 192.168.25.0 255.255.255.0 !--- Define access list to be used for NAT exemption. ciscoasa(config)#nat (inside) 0 access-list no_nat !--- Allow external connections to untranslated internal !--- addresses defined by access lisy no_nat. ciscoasa(config)# |
При использовании локальной аутентификации (по умолчанию) необходимо определить имена пользователей и пароли в локальной базе данных для аутентификации пользователей.
Порядок действий в диспетчере ASDM
Щелкните Конфигурация, а затем выберите VPN для удаленного доступа.
Раскройте AAA Настройка раздел, а затем раскройте раздел локальные пользователи.
Выберите Добавьте и введите следующие значения:
Username: matthewp
Password: p@ssw0rd
Confirm Password: p@ssw0rd
Выберите переключатель никакой ASDM, SSH, Telnet или консольный доступ.
Нажмите ХОРОШО кнопку, а затем нажмите применяются.
Повторите это действие для других пользователей, а затем щелкните сохраняют.
Пример командной строки
cisco ASA |
---|
ciscoasa(config)#username matthewp password p@ssw0rd ciscoasa(config)#username matthewp attributes ciscoasa(config-username)#service-type remote-access !--- Assign user remote access only. No SSH, Telnet, ASDM access allowed. ciscoasa(config-username)#write memory !--- Save the configuration. |
С помощью сведений в этом разделе можно убедиться в успешности конфигурации VPN SSL
Подключитесь ASA к с помощью клиента AnyConnect
Установите клиент прямо на компьютер и подключите внешний интерфейс ASA. Кроме того, можно ввести https и полное доменное имя (или IP-адрес) ASA в браузере. При использовании браузера клиент устанавливается после успешного входа в систему.
Проверка подключений клиента VPN SSL
Воспользуйтесь Покажите обращение к операционной системе vpn-sessiondb командой, чтобы проверить подключенные клиенты VPN SSL.
ciscoasa(config-group-policy)#show vpn-sessiondb svc Session Type: SVC Username : matthewp Index : 6 Assigned IP : 192.168.25.1 Public IP : 172.18.12.111 Protocol : Clientless SSL-Tunnel DTLS-Tunnel Encryption : RC4 AES128 Hashing : SHA1 Bytes Tx : 35466 Bytes Rx : 27543 Group Policy : SSLClientPolicy Tunnel Group : SSLClientProfile Login Time : 20:06:59 UTC Tue Oct 16 2007 Duration : 0h:00m:12s NAC Result : Unknown VLAN Mapping : N/A VLAN : none ciscoasa(config-group-policy)#
Команда vpn-sessiondb выходит из системы имя пользователя названия дает пользователям возможность выполнять вход по имени пользователя. После отключения пользователю отправляется сообщение Сброс Администратора.
ciscoasa(config)#vpn-sessiondb logoff name matthewp Do you want to logoff the VPN session(s)? [confirm] INFO: Number of sessions with name "matthewp" logged off : 1 ciscoasa(config)#
В этом разделе описывается процесс устранения неполадок конфигурации.
Средство Интерпретатор выходных данных (OIT) (только для зарегистрированных клиентов) поддерживает определенные команды показывает. Посредством OIT можно анализировать выходные данные команд показывает.
обращение к операционной системе debug webvpn 255 — отображение сообщений отладки о подключениях к клиентам SSL VPN с помощью WebVPN.
Успешный вход в AnyConnect
ciscoasa(config)#debug webvpn svc 255 INFO: debug webvpn svc enabled at level 255. ciscoasa(config)#ATTR_FILTER_ID: Name: SSLVPNClientAccess , Id: 1, refcnt: 1 webvpn_rx_data_tunnel_connect CSTP state = HEADER_PROCESSING http_parse_cstp_method() ...input: 'CONNECT /CSCOSSLC/tunnel HTTP/1.1' webvpn_cstp_parse_request_field() ...input: 'Host: 10.10.1.5' - !--- Outside IP of ASA Processing CSTP header line: 'Host: 10.10.1.5' webvpn_cstp_parse_request_field() ...input: 'User-Agent: Cisco AnyConnect VPN Client 2, 0, 0343' - !--- AnyConnect Version Processing CSTP header line: 'User-Agent: Cisco AnyConnect VPN Client 2, 0, 0343' Setting user-agent to: 'Cisco AnyConnect VPN Client 2, 0, 0343' webvpn_cstp_parse_request_field() ...input: 'Cookie: webvpn=3338474156@28672@1192565782@EFB9042D72C 63CE02164F790435897AC72EE70AE' Processing CSTP header line: 'Cookie: webvpn=3338474156@28672@119 2565782@EFB9042D72C63CE02164F790435897AC72EE70AE' Found WebVPN cookie: 'webvpn=3338474156@28672@1192565782@EFB9042D72C 63CE02164F790435897AC72EE70AE' WebVPN Cookie: 'webvpn=3338474156@28672@1192565782@EFB9042D72C63CE02 164F790435897AC72EE70AE' IPADDR: '3338474156', INDEX: '28672', LOGIN: '1192565782' webvpn_cstp_parse_request_field() ...input: 'X-CSTP-Version: 1' Processing CSTP header line: 'X-CSTP-Version: 1' Setting version to '1' webvpn_cstp_parse_request_field() ...input: 'X-CSTP-Hostname: wkstation1' - !--- Client desktop hostname Processing CSTP header line: 'X-CSTP-Hostname: wkstation1' Setting hostname to: 'wkstation1' webvpn_cstp_parse_request_field() ...input: 'X-CSTP-Accept-Encoding: deflate;q=1.0' Processing CSTP header line: 'X-CSTP-Accept-Encoding: deflate;q=1.0' webvpn_cstp_parse_request_field() ...input: 'X-CSTP-MTU: 1206' Processing CSTP header line: 'X-CSTP-MTU: 1206' webvpn_cstp_parse_request_field() ...input: 'X-CSTP-Address-Type: IPv4' Processing CSTP header line: 'X-CSTP-Address-Type: IPv4' webvpn_cstp_parse_request_field() ...input: 'X-DTLS-Master-Secret: 72B8AD72F327059AE22CBB451CB0948AFBE98296FD849 49EB6CAEDC203865C76BDBD634845FA89634C668A67152ABB51' Processing CSTP header line: 'X-DTLS-Master-Secret: 72B8AD72F327059AE22CBB451C B0948AFBE98296FD84949EB6CAEDC203865C76BDBD634845FA89634C668A67152ABB51' webvpn_cstp_parse_request_field() ...input: 'X-DTLS-CipherSuite: AES256-SHA:AES128-SHA:DES-CBC3-SHA:DES-CBC-SHA' Processing CSTP header line: 'X-DTLS-CipherSuite: AES256-SHA:AES128-SHA: DES-CBC3-SHA:DES-CBC-SHA' Validating address: 0.0.0.0 CSTP state = WAIT_FOR_ADDRESS webvpn_cstp_accept_address: 192.168.25.1/255.255.255.0 - !--- IP assigned from IP Pool CSTP state = HAVE_ADDRESS SVC: NP setup np_svc_create_session(0x7000, 0xD41612C8, TRUE) webvpn_svc_np_setup SVC ACL Name: NULL SVC ACL ID: -1 SVC ACL ID: -1 vpn_put_uauth success! SVC IPv6 ACL Name: NULL SVC IPv6 ACL ID: -1 SVC: adding to sessmgmt SVC: Sending response Unable to initiate NAC, NAC might not be enabled or invalid policy CSTP state = CONNECTED webvpn_rx_data_cstp webvpn_rx_data_cstp: got internal message Unable to initiate NAC, NAC might not be enabled or invalid policy
Неудачный вход в AnyConnect (неправильный пароль)
webvpn_portal.c:ewaFormSubmit_webvpn_login[1808] ewaFormSubmit_webvpn_login: tgCookie = 0 ewaFormSubmit_webvpn_login: cookie = d53d2990 ewaFormSubmit_webvpn_login: tgCookieSet = 0 ewaFormSubmit_webvpn_login: tgroup = NULL webvpn_portal.c:http_webvpn_kill_cookie[627] webvpn_auth.c:http_webvpn_pre_authentication[1905] WebVPN: calling AAA with ewsContext (-717386088) and nh (-717388536)! WebVPN: started user authentication... webvpn_auth.c:webvpn_aaa_callback[4380] WebVPN: AAA status = (REJECT) webvpn_portal.c:ewaFormSubmit_webvpn_login[1808] ewaFormSubmit_webvpn_login: tgCookie = 0 ewaFormSubmit_webvpn_login: cookie = d53d2990 ewaFormSubmit_webvpn_login: tgCookieSet = 0 ewaFormSubmit_webvpn_login: tgroup = NULL webvpn_auth.c:http_webvpn_post_authentication[1180] WebVPN: user: (matthewp) rejected. http_remove_auth_handle(): handle 9 not found! webvpn_portal.c:ewaFormServe_webvpn_login[1749] webvpn_portal.c:http_webvpn_kill_cookie[627]