Вы здесь

Работа с ISE 3.2: Настройка Cisco ASA(5516) с нуля, VPN по локальным учеткам (часть 3)

Вообще существует два типа VPN:

  • LAN-To-LAN - Используется для соединения офисов
  • Client VPN - Используется для подключения пользователя к офису

Client VPN может использовать различные протоколы: IPSec, SSL, PPTP, L2TP и т.д.

Cisco ASA поддерживает два типа VPN Clints:

  • Legasy Cisco IPSec Client - поддерживает только IPSec/IKE1. Установки могут модифицироваться пользователем. На сегодняшний день клиент более не поддерживается.
  • Cisco Anyconnect - Поддерживает SSL и IPSec/IKE2. Нет пользовательских установок, единственное что нужно ввести - имя сервера VPN. Есть возможность подключения различных модулей, например Host Scan Module(проверяет наличие необходимого ПО на клиенте).

Данный материал посвящен установке Cisco Anyconnect на устройство ASA.

Исходные данные

CiscoASA1# show version

Cisco Adaptive Security Appliance Software Version 8.3(2) Device Manager Version 6.3(2) Compiled on Fri 30-Jul-10 20:17 by builders System image file is "disk0:/asa832-npe-k8.bin" Config file at boot was "startup-config" CiscoASA1 up 86 days 23 hours Hardware: ASA5520, 2048 MB RAM, CPU Pentium 4 Celeron 2000 MHz Internal ATA Compact Flash, 256MB BIOS Flash M50FW016 @ 0xfff00000, 2048KB Encryption hardware device : Cisco ASA-55x0 on-board accelerator (revision 0x0) Boot microcode : CN1000-MC-BOOT-2.00 SSL/IKE microcode: CNLite-MC-SSLm-PLUS-2.03 IPSec microcode : CNlite-MC-IPSECm-MAIN-2.06 0: Ext: GigabitEthernet0/0 : address is c89c.1d16.be9a, irq 9 1: Ext: GigabitEthernet0/1 : address is c89c.1d16.be9b, irq 9 2: Ext: GigabitEthernet0/2 : address is c89c.1d16.be9c, irq 9 3: Ext: GigabitEthernet0/3 : address is c89c.1d16.be9d, irq 9 4: Ext: Management0/0 : address is c89c.1d16.be99, irq 11 5: Int: Not used : irq 11 6: Int: Not used : irq 5 Licensed features for this platform: Maximum Physical Interfaces : Unlimited perpetual Maximum VLANs : 150 perpetual Inside Hosts : Unlimited perpetual Failover : Active/Active perpetual VPN-DES : Enabled perpetual VPN-3DES-AES : Disabled perpetual Security Contexts : 10 perpetual GTP/GPRS : Disabled perpetual SSL VPN Peers : 500 perpetual Total VPN Peers : 750 perpetual Shared License : Disabled perpetual AnyConnect for Mobile : Enabled perpetual AnyConnect for Cisco VPN Phone : Enabled perpetual AnyConnect Essentials : Enabled perpetual Advanced Endpoint Assessment : Enabled perpetual Botnet Traffic Filter : Enabled perpetual Intercompany Media Engine : Disabled perpetual This platform has an ASA 5520 VPN Plus license. Serial Number: JMX1520L0X2 Running Permanent Activation Key: 0x1018da6e 0xc8d0d0e8 0x5d81b868 0xe4a8c490 0xc31ed5a7 Configuration register is 0x1 Configuration last modified by enable_15 at 10:27:43.137 MSD Mon Feb 9 2015

Копирую старые образы на TFTP:
asa832-npe-k8.bin
asdm-632.bin

Копирую новывй образы на ASA Flash:
asa915-21-k8.bin
asdm-732.bin

Далее удаляем старый образы, а также старую конфигурацию:

config factory-default

Для подключения к коммутатору используем Etherchannel со следующей конфигурацией:
ASA

interface GigabitEthernet0/0 channel-group 1 mode on ! interface GigabitEthernet0/1 channel-group 1 mode on ! interface Port-channel1 port-channel load-balance src-mac no shu ! interface Port-channel1.182 description LAN vlan 182 nameif inside security-level 100 ip address 192.168.252.18 255.255.255.252

WS-C3560X-48

interface Port-channel12 description --3560xUG1 moscow5520-- switchport trunk encapsulation dot1q switchport mode trunk ! interface GigabitEthernet0/28 description --3560xUG1 moscow5520-- switchport trunk encapsulation dot1q switchport mode trunk channel-group 12 mode on no shu ! interface GigabitEthernet0/29 description --3560xUG1 moscow5520-- switchport trunk encapsulation dot1q switchport mode trunk channel-group 12 mode on no shu

Проверим что etherchannel успешно собрался:
ASA

ciscoasa# show port-channel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) U - in use N - not in use, no aggregation/nameif M - not in use, no aggregation due to minimum links not met w - waiting to be aggregated Number of channel-groups in use: 1 Group Port-channel Protocol Span-cluster Ports ------+-------------+---------+------------+------------------------------------ 1 Po1(U) - No Gi0/0(P) Gi0/1(P)
ciscoasa# show port-channel brief Channel-group listing: ----------------------- Group: 1 ---------- Span-cluster port-channel: No Ports: 2 Maxports = 16 Port-channels: 1 Max Port-channels = 48 Protocol: ON Minimum Links: 1 Load balance: src-mac
3560xUG1#show etherchannel 12 summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use f - failed to allocate aggregator M - not in use, minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port Number of channel-groups in use: 9 Number of aggregators: 9 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 12 Po12(SU) - Gi0/28(P) Gi0/29(P)
3560xUG1#show etherchannel load-balance EtherChannel Load-Balancing Configuration: src-mac

Обратите внимание, что на обоих устройствах должен быть выставлен одинаковый Load balance. В нашем случае это src-mac, метод по умолчанию для коммутатора.

Настройка часов

clock timezone MSK 3 ntp server 64.90.182.55 ntp server 62.117.76.138 ntp server 81.2.117.228 ntp server 88.147.254.228 ntp server 192.168.252.6 ntp server 192.168.252.2

Проверка

show clock show ntp status show ntp associations

AnyConnect и лицензии

Для просмотра установленных лицензий используем команду show version
rabota_s_asa_vpn_hub_10_ciscomaster.ru.jpg
AnyConnect Essentials - основной тип лицензий клиенту anyconnect. Если установить AnyConnect Essentials, станет доступно 250 одновременных подключений. Основное ограничение - нельзя использовать Clientless Portal.
AnyConnect Premium Peers тоже что и AnyConnect Essentials + Clientless Portal.
AnyConnect for Mobile - подключение iphone, ipad, android.
Advanced Endpoint Assessment - позволяет предварительно проверить машину клиента на наличие Антивирусного ПО, встроенного Firewall, и по результатам накладывать соответствующую политику безопасности.
Подробнее здесь:
Cisco ASA Anyconnect licensing for dummies, updated!

http://www.firewall.cx/cisco-technical-knowledgebase/cisco-firewalls/110...

Шаги настройки AnyConnect SSL VPN

  1. Прежде всего нам нужно достать файлы PKG, - это файлы содержащие дистрибутивы.
    Скачать их можно с сайта cisco.com

    Существуют дистрибутивы anyconnect 3 и 4 версий:

    • Anyconnect v3.x - требует наличия лицензий AnyConnect Premium или AnyConnect Essentials.
    • Anyconnect v4.x - требует лицензий Apex или Class licenses ????

    Всего это 4 файла PKG:
    - linux
    - linux-64
    - macosx
    - win
    Важно понимать, что PKG относятся к PC, и без файла PKG клиент не сможет подключиться к ASA.
    т.е. если поставить только клиента win, то только клиенты windows смогут подключаться к VPN.
    Для клиентов Android, iphone, ipad файл PKG не требуется.

    С cisco.com также можно скачать и файл .ISO, позволяющий установить клиента с диска.

    Копируем файл Anyconnect PKG.
    В нашем случае это anyconnect-win-3.1.06078-k9.pkg

  2. Указываем на файл pkg, и включаем сервис Webvpn Anyconnect service.
    msk-asa-01# conf t msk-asa-01(config)# webvpn msk-asa-01(config-webvpn)# anyconnect image disk0:/anyconnect-win-3.1.06078-k9.pkg msk-asa-01(config-webvpn)# enable outside INFO: WebVPN and DTLS are enabled on 'outside'. msk-asa-01(config-webvpn)# anyconnect enable msk-asa-01(config-webvpn)# exit
  3. Исключаем (exempt) трафик SSL WebVPN от проверок на outside interface ACL. Нам нужно либо сделать в ACL правила permit, либо использовать команду:
    msk-asa-01(config)# sysopt connection permit-vpn
  4. Для удобства настроим перенаправление с 80 на 443:
    msk-asa-01(config)# http redirect outside 80
  5. Создадим IP address pool. Эти адреса будут выдаваться удалённым пользователям.
    msk-asa-01(config)# ip local pool vpnpool_pool 192.168.92.10-192.168.92.254 mask 255.255.255.0
  6. Создаём NAT exemption для трафика между LAN Network и сетью vpnpool. Мы делаем данное исключение, поскольку шифрованный трафик не должен проходить через NAT. Данный шаг необходим в случае если на ASA настроен этот NAT.
    object network vpnpool_obj
    object network vpnpool_obj subnet 192.168.92.0 255.255.255.0 object-group network RFC1918_objg network-object 192.168.0.0 255.255.0.0 network-object 172.16.0.0 255.240.0.0 network-object 10.0.0.0 255.0.0.0 nat (inside,outside) source static RFC1918_objg RFC1918_objg destination static vpnpool_obj vpnpool_obj no-proxy-arp route-lookup
  7. Создаём Split-Tunnel ACL, данная настройка позволит пользователям при подключении по VPN одновременно пользоваться интернетом. Без этой настройки в туннель будет заворачиваться весь трафик.
    access-list split-tunnel_acl standard permit 192.168.10.0 255.255.255.0

    Данная настройка будет заворачивать в туннель только трафик в сети той же RFC1918.

  8. Для того, чтобы anyconnect клиенты были доступны друг для друга
    same-security-traffic permit inter-interface same-security-traffic permit intra-interface
  9. Создаём Group Policy.
    Мы можем создать несколько Group Policy, и в каждой настроить свои атрибуты типа DNS server addresses, split-tunneling settings и т.д.
    Каждую группу можно ассоциировать с различными пользователями, и раздавать им различные атрибуты.
    group-policy anyconnect_gp internal group-policy anyconnect_gp attributes dns-server value 192.168.10.5 vpn-tunnel-protocol ssl-client ssl-clientless split-tunnel-policy tunnelspecified split-tunnel-network-list value split-tunnel_acl webvpn anyconnect keep-installer installed anyconnect dpd-interval client 20 anyconnect ask none default anyconnect
  10. Создадим Tunnel Group. Tunnel Group должна в себя включать только что нами настроенную Group Policy и объединяет её с IP address pool.
    tunnel-group vpn-users_tg type remote-access tunnel-group vpn-users_tg general-attributes address-pool vpnpool_pool default-group-policy anyconnect_gp tunnel-group vpn-users_tg webvpn-attributes group-alias vpn_users-alias enable webvpn tunnel-group-list enable

    Последняя команда позволяет пользователям выбирать для себя tunnel-group. Это полезно когда у нас несколько tunnel-group.

Anyconnect уже должно заработать, - можно заходить под админской учёткой.
Конфиг полностью: moscow5520_12.02.2015

ASA и сертификаты

Всегда, когда мы заходим на какой-либо сайт по SSL или HTTPS, то на этом сайте используется сертификат формата x.509.
ASA не явлется исключением, и на ASA сертификат выполняет несколько функций:

Идентификация самого сайта для пользователя

  • Обеспечение шифрования между клиентом-браузером и сайтом
  • Обеспечение шифрования между клиентом anyconnect и ASA

Таким образом, сертификат играет важную роль в инсталляции сервера ASA.

При изначальной установке ASA автоматом генерируется self-signed certificate или самоподписный сертификат.
Такому сертификату никакой клиент не будет доверять и будет выдавать ошибку. С такими сертификатами могут быть связано несколько проблем, - ругань клиентских браузеров, ругань клиентов anyconnect и т.д.
Поэтому крайне рекомендуется установка на ASA signed certificate, т.е. сертификат, сгенерированный и подписанный доверенным CA.

CA-Signed Certificates

Существует несколько способов установки на устройство signed certificate.

  • Сгенерировать на ASA Certificate Signing Request (CSR), передать этот запрос на CA. Запрос содержит public key. CA заверяет это public key своей цифровой подписью, который мы затем установим на ASA.
  • Генерация сертификата непосредственно на CA и его импорт на ASA

В данном материале мы прибегнем к первому способу.

Anyconnect SSL VPN using 3rd Party CA

В предыдущем конфиге мы получили рабочий Anyconnect SSL VPN. В этом случае ASA для работы использует self-signed certificate, который регенерируется при каждой перезагрузке устройства.
В данной части мы настроим использование заверенного identity certificate, который не будет меняться при перезагрузке, и которому будут доверять клиенты.

  1. Прежде всего необходимо проверить, правильность часов и настроек NTP
    show clock show ntp status show ntp associations
  2. Generate RSA keypair on ASA
    hostname vpn domain-name ost-grup.ru

    FQDN будет vpn.ost-grup.ru, т.е. на этот FQDN будут ходить VPN Client.
    Далее генерируем keypair, т.е. Private Key и Public Key.
    Private Key остаётся на самой ASA, а Public Key будет помещён внутрь сертификата.

    crypto key generate rsa label myrsakey modulus 2048 INFO: The name for the keys will be: myrsakey Keypair generation process begin. Please wait...
  3. Generate a Certificate Signing Request (CSR) on ASA

    Trustpoint - это такое виртуальное пространство в конфигурации, в котором размещается сертификат.
    В Trustpoint хранятся все составляющие сертификата, т.е. keypair, fqdn и другие параметры.

    vpn(config)#vpn(config)# crypto ca trustpoint Trustpoint1 vpn(config-ca-trustpoint)# enrollment terminal vpn(config-ca-trustpoint)# fqdn vpn.ost-grup.ru vpn(config-ca-trustpoint)# subject-name CN=vpn.ost-grup.ru, C=RU, ST=moscow, L=tech, O=ost, OU=security vpn(config-ca-trustpoint)# keypair myrsakey

    После того, как мы определили все составляющие сертификата, можно начать Enroll Process.
    Генерируем Certificate Signing Request (CSR):

    vpn(config)# crypto ca enroll Trustpoint1 % Start certificate enrollment .. % The subject name in the certificate will be: CN=vpn.ost-grup.ru, C=RU, ST=moscow, L=tech, O=ost, OU=security % The fully-qualified domain name in the certificate will be: vpn.ost-grup.ru % Include the device serial number in the subject name? [yes/no]: no Display Certificate Request to terminal? [yes/no]: yes Certificate Request follows: -----BEGIN CERTIFICATE REQUEST----- MIIDFjCCAf4CAQAwgZAxETAPBgNVBAsTCHNlY3VyaXR5MQ4wDAYDVQQKEwVvc3Rl YzENMAsGA1UEBxMEdGVjaDEPMA0GA1UECBMGbW9zY293MQswCQYDVQQGEwJSVTEb MBkGA1UEAxMSdnBuLm9zdGVjLWdyb3VwLnJ1MSEwHwYJKoZIhvcNAQkCFhJ2cG4u .................................. zyWM42Lgt+Aez0WFagGs40mZ8JN66UGN3FSP+nFkZgmUr3kNEKmrxbp1Ys9Wmleu UgdKvt3jkLnTLJDyAkmOosJVvEuOFX5aL2nb/Npl1Cy1CbS0YPpavKhvISNxgHRO wmT22YqEOCcbpzawhevnO8tyLGGExrVpvDQ= -----END CERTIFICATE REQUEST----- Redisplay enrollment request? [yes/no]: no

    Вот эта простыня и есть CSR. Это данные, зашифрованные и подписанные с помощью Private Key. Эту информацию нам нужно передать на CA.

Генерируем Сертификат

Сертификат мы будем генерировать в https://www.startssl.com
Для этого:

  1. Заходим на https://www.startssl.com, выбираем Log into control panel > Sign-in
  2. Заполняем личные данные, далее они вышлют письмо с кодом, который нужно будет ввести для подтверждения
  3. После ввода кода подтверждения через несколько минут придёт письмо с ссылкой на личный сертификат.
    Выберем размер 2048 и сертификат установится на локальный комп. С помощью этого сертификата мы будем автоматом заходить в админку на startssl.com.
  4. Теперь при заходе на startssl.com мы выбираем authenticate > Control panel > Validations Wizard > Domain name
    Вводим имя ost-grup.ru: отправят письмо на адрес postmaster@ost-grup.ru и нужно будет ввести код валидации.
  5. Certificates Wizard
    - certificate target: Web Server SSL/TLS Certificate
    - Пароли вводить не надо, т.к. у нас есть запрос - жмем skip
    - Копируем в окно нами сгенерённый CSR вместе с -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- и т.п
    - Будет сделан запрос на генерирование сертификата
    - Далее введем sub domain vpn.ost-grup.ru
    - Письмо придёт на адрес postmaster@ost-grup.ru
  6. Получаем сертификат
    - После того как мы получили письмо о том что сертификат сгенерён идем: login to your account and select from the Tool Box tab the section Retrieve Certificate
    - В выпадающем окне будет доступен этот сертификат
    - Копируем серт из окна

Импорт сертификата на ASA

По сути, полученный сертификат это тот же CSR, но подписанный закрытым ключом сервера CA.
Теперь данному сертификату будут доверять те, кто доверяет серверу CA.

vpn(config)# crypto ca import Trustpoint1 certificate % The fully-qualified domain name in the certificate will be: vpn.ost-grup.ru Enter the base 64 encoded certificate. End with the word "quit" on a line by itself -----BEGIN CERTIFICATE----- MIIGSzCCBTOgAwIBAgIHBTPuAmPWCTANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UE BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBE aWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENs YXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgU2VydmVyIENBMB4XDTE1MDIxMjA0 NDYzMloXDTE2MDIxMjIxMzgzMlowVDELMAkGA1UEBhMCUlUxGzAZBgNVBAMTEnZw bi5vc3RlYy1ncm91cC5ydTEoMCYGCSqGSIb3DQEJARYZcG9zdG1hc3RlckBvc3Rl Yy1ncm91cC5ydTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN5oGtId YcOnrv8+y60sOESGDJvijh0a8LP7eiuKY0C8M8pVwjBpxCWvGtC6RTVdSfv66XXf ................................................................. bC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3Nw LnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MxL3NlcnZlci9jYTBCBggrBgEFBQcwAoY2 aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNzMS5zZXJ2ZXIu Y2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkq hkiG9w0BAQsFAAOCAQEACuVdcRKMrRdmFbvUkq9vZnA9q67M4lnedHF4DFrrJMhy G3rAlpagMfRvFI0pIq5oHxxQIsoYo5U9fBfFqa4/dQhnTyQcnMmAi7OHbPo+ybZ6 KjPoiVR8r5vU7wILk1b8RPUMuauuQavyxXJNbeNVBX+00GDrX1jkPwldmM1ElIf7 LFIb/obE0FuJ1Du8hKu3xsJDVcJYQxJ6nZGjJghi6qA6TQP5J1U8VU55cv7lJa4J 1MpePPlS5oUNYg8VnUoFaGqcYPnGPkdjv1TpYau5TKFr6Hff1vuh71nKG81Fmp3Y lzJrG+Q1kkwjohOP8s30l136nHWpoct1/oBeDm/7mQ== -----END CERTIFICATE----- quit INFO: Certificate successfully imported

Установка CA certificate

У нас должна быть комбинация из Identity Certficate + CA Certificate.
Вообще установка CA Certificate означает что ASA будет доверять этому CA и всем кому этот CA выдавал сертификаты.
Первое мы уже установили. Установим второе.

  1. login to your account > Tool Box > StartCom CA Certificates > Class 1 Intermediate Server CA
    Скачиваем его в виде sub.class1.server.ca.pem
    Файлик можно открыть текстовым редактором.
  2. vpn(config)# crypto ca authenticate Trustpoint1 Enter the base 64 encoded CA certificate. End with the word "quit" on a line by itself -----BEGIN CERTIFICATE----- MIIF2TCCA8GgAwIBAgIHFxU9nqs/vzANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQG EwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERp Z2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDcxMDE0MjA1NDE3WhcNMjIxMDE0MjA1 NDE3WjCBjDELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzAp BgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNV BAMTL1N0YXJ0Q29tIENsYXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgU2VydmVy IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtonGrO8JUngHrJJj 0PREGBiEgFYfka7hh/oyULTTRwbw5gdfcA4Q9x3AzhA2NIVaD5Ksg8asWFI/ujjo /OenJOJApgh2wJJuniptTT9uYSAK21ne0n1jsz5G/vohURjXzTCm7QduO3CHtPn6 6+6CPAVvkvek3AowHpNz/gfK11+AnSJYUq4G2ouHI2mw5CrY6oPSvfNx23BaKA+v WjhwRRI/ME3NO68X5Q/LoKldSKqxYVDLNM08XMML6BDAjJvwAwNi/rJsPnIO7hxD KslIDlc5xDEhyBDBLIf+VJVSH1I8MRKbf+fAoKVZ1eKPPvDVqOHXcDGpxLPPr21T Lwb0pwIDAQABo4IBTDCCAUgwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E BAMCAQYwHQYDVR0OBBYEFOtCNNCYsKuf9BtrCPfMZC7vDixFMB8GA1UdIwQYMBaA ............................................................... 9JHPXUfrAhZYKyOQUIqcfE5bvssaY+oODVxji6BMk8VSVHsJ4FSC1/7Pkt/UPoQp FVh38wIJnvEUeNVmVl3HHFYTd50irdKYPBC63qi2V/YYI6bJKmbrjfP9Vhyt9uNr y3Kh4W22ktDuCCvWC7n/gqerdq+VlTRfNt7D/mB0irnaKjEVNCXBXm9V/978J+Ez 8aplGZccQ9jnc9kiPtUp5dj45E3V8vKqzp9srSSI5Xapdg+ZcPY+6HNuVB+MadRp ZW2One/Qnzg9B4GnVX7MOETImdoP4kXpostFuxoY/5LxCU1LJAIENV4txvT50lX2 GBXCkxllRLWOgdyll11ift/4IO1aCOGDijGIfh498YisM1LGxytmGcxvbJERVri+ gGpWAZ5J6dvtf0s+bA== -----END CERTIFICATE----- quit INFO: Certificate has the following attributes: Fingerprint: d15a7b97 30e2694d be791936 a12835c2 Do you accept this certificate? [yes/no]: yes Trustpoint 'Trustpoint1' is a subordinate CA and holds a non self-signed certificate. Trustpoint CA certificate accepted. % Certificate successfully imported

Проверка установленных сертификатов

vpn# show crypto ca certificates CA Certificate Status: Available Certificate Serial Number: 17153d9eab3fbf Certificate Usage: General Purpose Public Key Type: RSA (2048 bits) Signature Algorithm: SHA256 with RSA Encryption Issuer Name: cn=StartCom Certification Authority ou=Secure Digital Certificate Signing o=StartCom Ltd. c=IL Subject Name: cn=StartCom Class 1 Primary Intermediate Server CA ou=Secure Digital Certificate Signing o=StartCom Ltd. c=IL OCSP AIA: URL: http://ocsp.startssl.com/ca CRL Distribution Points: [1] http://crl.startssl.com/sfsca.crl Validity Date: start date: 23:54:17 MSK Oct 14 2007 end date: 23:54:17 MSK Oct 14 2022 Associated Trustpoints: Trustpoint1 Certificate Status: Available Certificate Serial Number: 0533ee0263d609 Certificate Usage: General Purpose Public Key Type: RSA (2048 bits) Signature Algorithm: SHA256 with RSA Encryption Issuer Name: cn=StartCom Class 1 Primary Intermediate Server CA ou=Secure Digital Certificate Signing o=StartCom Ltd. c=IL Subject Name: e=postmaster@ost-grup.ru cn=vpn.ost-grup.ru c=RU OCSP AIA: URL: http://ocsp.startssl.com/sub/class1/server/ca CRL Distribution Points: [1] http://crl.startssl.com/crt1-crl.crl Validity Date: start date: 07:46:32 MSK Feb 12 2015 end date: 00:38:32 MSK Feb 13 2016 Associated Trustpoints: Trustpoint1

Привязка использования сертификатов

Мы создали Trustpoint1, который включает два сертификата (Identity + CA certificates).
Для привязки этого Trustpoint1 к внешнему интерфейсу:

ssl trust-point Trustpoint1 outside

Вернуться обратно

Сертификат имеет срок действия, и если он истечет мы всегда сможем вернуться к старому доброму self-signed certificate:

no ssl trust-point Trustpoint1 outside

Когда срок действия сертификата истёк

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

  1. Смотрим какие серты установлены и какие Trustpoints ассоциированы с ними:
    show crypto ca certificates
  2. Генерируем новый Certificate Signing Request (CSR) on ASA
    В нашем случае это будет myrsakey2 и Trustpoint2
    vpn(config)# crypto key generate rsa label myrsakey2 modulus 2048 INFO: The name for the keys will be: myrsakey2 Keypair generation process begin. Please wait... vpn(config)# crypto ca trustpoint Trustpoint2 vpn(config-ca-trustpoint)# enrollment terminal vpn(config-ca-trustpoint)# fqdn vpn.ost-grup.ru vpn(config-ca-trustpoint)# subject-name CN=vpn.ost-grup.ru, C=RU, ST=moscow, L=tech, O=ost, OU=security vpn(config-ca-trustpoint)# keypair myrsakey2 Генерируем Certificate Signing Request (CSR): vpn(config)# crypto ca enroll Trustpoint2 % Start certificate enrollment .. % The subject name in the certificate will be: CN=vpn.ost-grup.ru, C=RU, ST=moscow, L=tech, O=ost, OU=security % The fully-qualified domain name in the certificate will be: vpn.ost-grup.ru % Include the device serial number in the subject name? [yes/no]: no Display Certificate Request to terminal? [yes/no]: yes Certificate Request follows: -----BEGIN CERTIFICATE REQUEST----- MIIDFjCCAf4CAQAwgZAxETAPBgNVBAsTCHNlY3VyaXR5MQ4wDAYDVQQKEwVvc3Rl YzENMAsGA1UEBxMEdGVjaDEPMA0GA1UECBMGbW9zY293MQswCQYDVQQGEwJSVTEb MBkGA1UEAxMSdnBuLm9zdGVjLWdyb3VwLnJ1MSEwHwYJKoZIhvcNAQkCFhJ2cG4u .................................. zyWM42Lgt+Aez0WFagGs40mZ8JN66UGN3FSP+nFkZgmUr3kNEKmrxbp1Ys9Wmleu UgdKvt3jkLnTLJDyAkmOosJVvEuOFX5aL2nb/Npl1Cy1CbS0YPpavKhvISNxgHRO wmT22YqEOCcbpzawhevnO8tyLGGExrVpvDQ= -----END CERTIFICATE REQUEST----- Redisplay enrollment request? [yes/no]: no
  3. Далее совершенно аналогично генерируем сертификат (см. раздел Генерируем Сертификат)
  4. Импортируем сгенерённый сертификат
    vpn(config)# crypto ca import Trustpoint2 certificate % The fully-qualified domain name in the certificate will be: vpn.ost-grup.ru Enter the base 64 encoded certificate. End with the word "quit" on a line by itself -----BEGIN CERTIFICATE----- MIIGSzCCBTOgAwIBAgIHBTPuAmPWCTANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UE BhMCSUwxFjAUBgNVBAoTDVN0YXJ0Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBE aWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxODA2BgNVBAMTL1N0YXJ0Q29tIENs YXNzIDEgUHJpbWFyeSBJbnRlcm1lZGlhdGUgU2VydmVyIENBMB4XDTE1MDIxMjA0 NDYzMloXDTE2MDIxMjIxMzgzMlowVDELMAkGA1UEBhMCUlUxGzAZBgNVBAMTEnZw bi5vc3RlYy1ncm91cC5ydTEoMCYGCSqGSIb3DQEJARYZcG9zdG1hc3RlckBvc3Rl Yy1ncm91cC5ydTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN5oGtId YcOnrv8+y60sOESGDJvijh0a8LP7eiuKY0C8M8pVwjBpxCWvGtC6RTVdSfv66XXf ................................................................. bC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3Nw LnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MxL3NlcnZlci9jYTBCBggrBgEFBQcwAoY2 aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNzMS5zZXJ2ZXIu Y2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkq hkiG9w0BAQsFAAOCAQEACuVdcRKMrRdmFbvUkq9vZnA9q67M4lnedHF4DFrrJMhy G3rAlpagMfRvFI0pIq5oHxxQIsoYo5U9fBfFqa4/dQhnTyQcnMmAi7OHbPo+ybZ6 KjPoiVR8r5vU7wILk1b8RPUMuauuQavyxXJNbeNVBX+00GDrX1jkPwldmM1ElIf7 LFIb/obE0FuJ1Du8hKu3xsJDVcJYQxJ6nZGjJghi6qA6TQP5J1U8VU55cv7lJa4J 1MpePPlS5oUNYg8VnUoFaGqcYPnGPkdjv1TpYau5TKFr6Hff1vuh71nKG81Fmp3Y lzJrG+Q1kkwjohOP8s30l136nHWpoct1/oBeDm/7mQ== -----END CERTIFICATE----- quit INFO: Certificate successfully imported
  5. Поскольку у нас сменился truspoint, мы должны импортировать CA Certificate для нового trustpoint.
    (Для каждого trustpoint должно быть два сертификата:сертификат нашего устройства и CA Certificate)
    Если посмотреть в свойства сертификата, то нам нужно установить сертификат для первой вышестоящей CA.
    rabota_s_asa_vpn_hub_08_ciscomaster.ru.jpg

    Этот сертификат находится в архиве, который предлагается скачать после генерации сертификата клиента.
    rabota_s_asa_vpn_hub_09_ciscomaster.ru.jpg

    его мы и установим:

    vpn(config)# crypto ca authenticate Trustpoint2 Enter the base 64 encoded CA certificate. End with the word "quit" on a line by itself -----BEGIN CERTIFICATE----- MIIF5TCCA82gAwIBAgIQal3D5TtOT9B7aR6l/OxkazANBgkqhkiG9w0BAQsFADB9 MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi ------------------------------------- dI4aQx6FkHWvKU0e7s/cUym6Px3vXrC4z6woAztC98XaorPO0pkL73P4dKSjnKYY rYsqe7BnBGtANf1XaG5Pm8BUWJ9WZAWin6KsJXTo8Nj0G4CRq7dq17LBnCbi9Qmp Szc2kuPNbrV8PvbTLIXupfZFFj0d9mpaFg== -----END CERTIFICATE----- quit INFO: Certificate has the following attributes: Fingerprint: 5dfbe3ba 9ab6bad3 7dee4d05 363fc9bd Do you accept this certificate? [yes/no]: yes Trustpoint 'Trustpoint3' is a subordinate CA and holds a non self-signed certificate. Trustpoint CA certificate accepted. % Certificate successfully imported
  6. Проверка установленных сертификатов
    vpn# show crypto ca trustpoints Trustpoint Trustpoint1: Subject Name: cn=StartCom Class 1 Primary Intermediate Server CA ou=Secure Digital Certificate Signing o=StartCom Ltd. c=IL Serial Number: 17153d9eab3fbf Certificate configured. Trustpoint Trustpoint2: Subject Name: cn=StartCom Class 1 DV Server CA ou=StartCom Certification Authority o=StartCom Ltd. c=IL Serial Number: 6a5dc3e53b4e4fd07b691ea5fcec646b Certificate configured.

    Наш новый trustpoint должен быть с сертификатом

    show crypto ca certificates
  7. Привязка использования нового сертификата
    ssl trust-point Trustpoint2 outside

Console Authentication via ACS

Мы должны иметь ACS подготовленный соответствующим образом.

aaa-server tac_acs protocol tacacs+ aaa-server tac_acs (inside) host 192.168.10.46 key my_key aaa-server tac_acs (inside) host 192.168.10.47 key my_key ! aaa authentication telnet console tac_acs LOCAL aaa authentication ssh console tac_acs LOCAL aaa authentication http console tac_acs LOCAL ! aaa accounting telnet console tac_acs aaa accounting ssh console tac_acs aaa accounting command privilege 15 tac_acs

VPN Authentication via ACS

aaa-server rad_acs protocol radius aaa-server rad_acs (inside) host 192.168.10.46 key my_key tunnel-group vpn-users_tg general-attributes authentication-server-group rad_acs accounting-server-group rad_acs

Проверка

Из CLI:

vpn# show uauth Current Most Seen Authenticated Users 1 1 Authen In Progress 0 0 remote access VPN user 'vpn_video_user1' at 192.168.92.25, authenticated access-list #ACSACL#-IP-video_dacl-54ddc357 (*)
vpn# show access-list access-list cached ACL log flows: total 0, denied 0 (deny-flow-max 4096) alert-interval 300 access-list split-tunnel_acl; 1 elements; name hash: 0xb6fb0e access-list split-tunnel_acl line 1 standard permit 192.168.10.0 255.255.255.0 (hitcnt=0) 0x13482529 access-list #ACSACL#-IP-video_dacl-54ddc357; 1 elements; name hash: 0x6c7d7b7f (dynamic) access-list #ACSACL#-IP-video_dacl-54ddc357 line 1 extended permit ip any4 host 192.168.10.45 (hitcnt=0) 0x4ce5deb8

Смотрим кто залогинен

show vpn-sessiond summary
show vpn-sessiond anyconnect

Выкинуть юзера из впн:

vpn-sessiondb logoff name langemakj

Настройка SNMP/Netflow

snmp-server enable snmp-server host inside 192.168.10.45 community cmonitor snmp-server community cmonitor snmp-server enable traps snmp authentication linkup linkdown coldstart ! no logging message 106015 no logging message 106023 no logging message 106100 no logging message 302013 no logging message 302014 no logging message 302015 no logging message 302016 no logging message 302017 no logging message 302018 no logging message 302020 no logging message 302021 no logging message 313001 no logging message 313008 no logging message 710003 flow-export template timeout-rate 1 flow-export delay flow-create 60 flow-export destination inside 192.168.10.45 9996 logging flow-export-syslogs disable ! class-map global-class description flow-export-class match any policy-map global_policy class global-class flow-export event-type all destination 192.168.10.45 ! snmp-server host inside 192.168.10.45 community cmonitor snmp-server host inside 192.168.10.46 community cmonitor snmp-server host inside 192.168.10.47 community cmonitor

Мониторинг в PRTG

В последних версиях PRTG есть установленный счетчик для ASA.
Для старой версии небходимо предварительно установить MIB
CISCO-REMOTE-ACCESS-MONITOR-MIB.my

В ней для учета юзеров VPN нам понадобится сенсор:
cras activity/cras num users

Подробнее по установке MIB:
Мониторинг устройств через PRTG

Убираем из меню пользователя VPN Group

В вышеописанной конфигурации болтается название этой группы.
Чтобы её убрать, нам нужно создать дефолтные group-policy и tunnel-group:
В результате конфигурация web vpn будет:

webvpn enable outside1 anyconnect-essentials anyconnect image disk0:/anyconnect-win-3.1.06079-k9.pkg 1 anyconnect enable group-policy DfltGrpPolicy attributes dns-server value 192.168.10.5 vpn-tunnel-protocol ssl-client ssl-clientless split-tunnel-policy tunnelspecified split-tunnel-network-list value split-tunnel_acl default-domain value ost-grup.ru webvpn anyconnect dpd-interval client 20 anyconnect ask none default anyconnect group-policy anyconnect_gp internal group-policy anyconnect_gp attributes dns-server value 192.168.10.5 vpn-tunnel-protocol ssl-client ssl-clientless split-tunnel-policy tunnelspecified split-tunnel-network-list value split-tunnel_acl webvpn anyconnect keep-installer installed anyconnect dpd-interval client 20 anyconnect ask none default anyconnect username cadmin password OxC0yUnlf.GyKDwP encrypted privilege 15 tunnel-group DefaultWEBVPNGroup general-attributes address-pool vpnpool_pool authentication-server-group rad_acs accounting-server-group rad_acs tunnel-group vpn-users_tg type remote-access tunnel-group vpn-users_tg general-attributes address-pool vpnpool_pool authentication-server-group rad_acs accounting-server-group rad_acs default-group-policy anyconnect_gp tunnel-group vpn-users_tg webvpn-attributes group-alias vpn_users-alias enable

Настройка Backup Server

rabota_s_asa_vpn_hub_16_ciscomaster.ru.jpg

Трафик между пользователями anyconnect

Для того, чтобы anyconnect клиенты были доступны друг для друга

same-security-traffic permit inter-interface same-security-traffic permit intra-interface

Также в split-tunnel должна быть пользовательская подсеть.

access-list split-tunnel_acl standard permit 192.168.96.0 255.255.252.0

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

Filtered HTML

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

Plain text

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