Энэ нийтлэлд би яг одоо хамгийн өргөтгөх боломжтой схемийг хэрхэн хурдан ашиглах талаар алхам алхмаар зааварчилгаа өгөхийг хүсч байна. Алсын хандалтын VPN хандалтад суурилсан AnyConnect болон Cisco ASA - VPN ачааллыг тэнцвэржүүлэх кластер.
Оршил: Дэлхий даяар олон компаниуд COVID-19-ийн өнөөгийн нөхцөл байдлыг харгалзан ажилчдаа алсын зайн ажилд шилжүүлэхээр хүчин чармайлт гаргаж байна. Алсын ажил руу бөөнөөр шилжиж байгаатай холбогдуулан компаниудын одоо байгаа VPN гарцуудын ачаалал эрс нэмэгдэж байгаа бөгөөд тэдгээрийг масштаблах маш хурдан чадвар шаардлагатай байна. Нөгөөтэйгүүр, олон компаниуд алсын зайн ажлын тухай ойлголтыг эхнээс нь яаран эзэмшихээс өөр аргагүй болдог.
Бизнесүүдэд ажилчдад хамгийн богино хугацаанд тав тухтай, аюулгүй, өргөтгөх боломжтой VPN хандалтыг бий болгоход нь туслахын тулд Cisco нь AnyConnect боломжоор баялаг SSL-VPN клиентийг 13 долоо хоног хүртэлх хугацаагаар лицензжүүлж байна.
Би хамгийн өргөн цар хүрээтэй VPN технологи болох VPN ачааллыг тэнцвэржүүлэх кластерийг хялбархан ашиглах алхам алхмаар зааварчилгааг бэлдсэн.
Доорх жишээ нь ашигласан баталгаажуулалт, зөвшөөрлийн алгоритмын хувьд маш энгийн байх боловч байршуулах явцад таны хэрэгцээнд гүн гүнзгий дасан зохицох боломжтой (одоогоор энэ нь олон хүмүүст хангалтгүй) хурдан эхлүүлэх сайн сонголт байх болно. үйл явц.
Товч мэдээлэл: VPN Load Balancing Cluster технологи нь үндсэн утгаараа бүтэлгүйтэх, кластерын функц биш бөгөөд энэ технологи нь алсаас хандалтын VPN холболтыг ачаалахын тулд огт өөр ASA загваруудыг (тодорхой хязгаарлалттай) нэгтгэж чаддаг. Ийм кластерын зангилааны хооронд сесс болон тохиргооны синхрончлол байхгүй боловч кластерт дор хаяж нэг идэвхтэй зангилаа үлдэх хүртэл VPN холболтыг автоматаар ачаалж, VPN холболтын алдааг тэсвэрлэх боломжтой. VPN сессийн тоогоор зангилааны ажлын ачааллаас хамааран кластер дахь ачаалал автоматаар тэнцвэрждэг.
Кластерын тодорхой зангилаануудыг (шаардлагатай бол) шилжүүлэн суулгахын тулд файл үүсгэгчийг ашиглаж болох тул идэвхтэй холболтыг файлын үндсэн зангилаагаар зохицуулна. Ачаалал тэнцвэржүүлэх кластер доторх алдааг тэсвэрлэх шаардлагатай нөхцөл биш бөгөөд зангилааны эвдрэл гарсан тохиолдолд кластер өөрөө хэрэглэгчийн сессийг өөр амьд зангилаа руу шилжүүлэх боловч холболтын статусыг хадгалахгүйгээр шууд дамжуулдаг. файл үүсгэгчээс өгсөн. Үүний дагуу шаардлагатай бол эдгээр хоёр технологийг хослуулах боломжтой.
VPN ачааллыг тэнцвэржүүлэх кластер нь хоёроос илүү зангилаа агуулж болно.
VPN ачааллыг тэнцвэржүүлэх кластер нь ASA 5512-X болон түүнээс дээш хувилбаруудад дэмжигддэг.
VPN ачааллыг тэнцвэржүүлэх кластер доторх ASA бүр нь тохиргооны хувьд бие даасан нэгж тул бид төхөөрөмж тус бүр дээр тохиргооны бүх алхмуудыг тус тусад нь гүйцэтгэдэг.
Өгөгдсөн жишээний логик топологи:
Анхдагч байршуулалт:
-
Бид зурагнаас хэрэгтэй загваруудын (ASAv5/10/30/50) ASAv жишээг байрлуулдаг.
-
Бид INSIDE / OUTSIDE интерфэйсүүдийг ижил VLAN-д хуваарилдаг (Гадна нь өөрийн VLAN-д, INSIDE нь өөрийн гэсэн, гэхдээ ерөнхийдөө кластер дотор топологийг харна уу), ижил төрлийн интерфейсүүд ижил L2 сегментэд байх нь чухал юм.
-
Лицензүүд:
- Одоогоор ASAv суулгац нь ямар ч лицензгүй бөгөөд 100Kbps-ээр хязгаарлагдах болно.
- Лиценз суулгахын тулд та ухаалаг дансандаа токен үүсгэх шаардлагатай.
https://software.cisco.com/ -> Ухаалаг програм хангамжийн лиценз - Нээгдсэн цонхон дээр товчлуур дээр дарна уу Шинэ токен
- Нээгдсэн цонхонд идэвхтэй талбар байгаа эсэхийг шалгаарай, тэмдэглэгээг шалгана уу Экспортын хяналттай функцийг зөвшөөрөх... Энэ талбар идэвхтэй байхгүй бол та хүчтэй шифрлэлт, үүний дагуу VPN функцийг ашиглах боломжгүй болно. Хэрэв энэ талбар идэвхгүй байгаа бол идэвхжүүлэх хүсэлтийг өөрийн дансны багтай холбоо барина уу.
- Товчлуурыг дарсны дараа Токен үүсгэх, бид ASAv-ийн лиценз авахад ашиглах токен бий болно, үүнийг хуулж авна уу:
- Байршуулсан ASAv бүрийн хувьд C,D,E алхмуудыг давтана уу.
- Токеныг хуулахад хялбар болгохын тулд telnet-ийг түр зөвшөөрье. ASA бүрийг тохируулцгаая (доорх жишээнд ASA-1 дээрх тохиргоог харуулав). telnet гаднаас ажиллахгүй, хэрэв танд үнэхээр хэрэгтэй бол аюулгүй байдлын түвшинг 100 болгож гаднаас нь сольж, буцааж буцаана уу.
! ciscoasa(config)# int gi0/0 ciscoasa(config)# nameif outside ciscoasa(config)# ip address 192.168.31.30 255.255.255.0 ciscoasa(config)# no shut ! ciscoasa(config)# int gi0/1 ciscoasa(config)# nameif inside ciscoasa(config)# ip address 192.168.255.2 255.255.255.0 ciscoasa(config)# no shut ! ciscoasa(config)# telnet 0 0 inside ciscoasa(config)# username admin password cisco priv 15 ciscoasa(config)# ena password cisco ciscoasa(config)# aaa authentication telnet console LOCAL ! ciscoasa(config)# route outside 0 0 192.168.31.1 ! ciscoasa(config)# wr !
- Ухаалаг дансны үүлэнд токен бүртгүүлэхийн тулд та ASA-д интернетийн хандалт өгөх ёстой.
дэлгэрэнгүй мэдээллийг эндээс үзнэ үү .
Товчхондоо, ASA хэрэгтэй:
- HTTPS-ээр дамжуулан интернетэд нэвтрэх;
- цагийн синхрончлол (илүү зөв, NTP-ээр);
- бүртгэгдсэн DNS сервер;
- Бид ASA-тай телнет холбогдож, Smart-Account-аар лицензийг идэвхжүүлэх тохиргоог хийдэг.
! ciscoasa(config)# clock set 19:21:00 Mar 18 2020 ciscoasa(config)# clock timezone MSK 3 ciscoasa(config)# ntp server 192.168.99.136 ! ciscoasa(config)# dns domain-lookup outside ciscoasa(config)# DNS server-group DefaultDNS ciscoasa(config-dns-server-group)# name-server 192.168.99.132 ! ! Проверим работу DNS: ! ciscoasa(config-dns-server-group)# ping ya.ru Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 87.250.250.242, timeout is 2 seconds: !!!!! ! ! Проверим синхронизацию NTP: ! ciscoasa(config)# show ntp associations address ref clock st when poll reach delay offset disp *~192.168.99.136 91.189.94.4 3 63 64 1 36.7 1.85 17.5 * master (synced), # master (unsynced), + selected, - candidate, ~ configured ! ! Установим конфигурацию нашей ASAv для Smart-Licensing (в соответствии с Вашим профилем, в моем случае 100М для примера) ! ciscoasa(config)# license smart ciscoasa(config-smart-lic)# feature tier standard ciscoasa(config-smart-lic)# throughput level 100M ! ! В случае необходимости можно настроить доступ в Интернет через прокси используйте следующий блок команд: !call-home ! http-proxy ip_address port port ! ! Далее мы вставляем скопированный из портала Smart-Account токен (<token>) и регистрируем лицензию ! ciscoasa(config)# end ciscoasa# license smart register idtoken <token>
- Бид төхөөрөмж лицензийг амжилттай бүртгүүлсэн эсэхийг шалгаж, шифрлэлтийн сонголтууд байгаа:
-
Гарц бүр дээр үндсэн SSL-VPN тохируулна уу
- Дараа нь SSH болон ASDM-ээр дамжуулан хандалтыг тохируулна уу:
ciscoasa(config)# ssh ver 2 ciscoasa(config)# aaa authentication ssh console LOCAL ciscoasa(config)# aaa authentication http console LOCAL ciscoasa(config)# hostname vpn-demo-1 vpn-demo-1(config)# domain-name ashes.cc vpn-demo-1(config)# cry key gen rsa general-keys modulus 4096 vpn-demo-1(config)# ssh 0 0 inside vpn-demo-1(config)# http 0 0 inside ! ! Поднимем сервер HTTPS для ASDM на порту 445 чтобы не пересекаться с SSL-VPN порталом ! vpn-demo-1(config)# http server enable 445 !
- ASDM ажиллахын тулд та эхлээд cisco.com вэб сайтаас татаж авах ёстой, миний хувьд энэ нь дараах файл юм.
- AnyConnect клиентийг ажиллуулахын тулд та ашигласан ширээний клиент үйлдлийн систем бүрийн (Linux / Windows / MAC ашиглахаар төлөвлөж байгаа) ASA бүрт зураг байршуулах шаардлагатай бөгөөд танд дараах файл хэрэгтэй болно. Headend Deployment Package Гарчиг дээр:
- Татаж авсан файлуудыг жишээлбэл, FTP серверт байршуулж, ASA бүрд байршуулж болно.
- Бид ASDM болон Self-Signed сертификатыг SSL-VPN-д тохируулдаг (үйлдвэрлэлд итгэмжлэгдсэн гэрчилгээг ашиглахыг зөвлөж байна). Виртуал кластерын хаягийн багц FQDN (vpn-demo.ashes.cc), түүнчлэн кластерын зангилаа бүрийн гадаад хаягтай холбоотой FQDN бүрийг гадаад DNS бүсэд ГАДНА интерфэйсийн IP хаяг руу шийдвэрлэх ёстой. (эсвэл порт дамжуулах udp/443 (DTLS) болон tcp/443(TLS) ашиглаж байгаа бол зураглагдсан хаяг руу). Гэрчилгээнд тавигдах шаардлагын талаарх дэлгэрэнгүй мэдээллийг хэсэгт заасан болно Гэрчилгээ баталгаажуулах баримт бичиг.
! vpn-demo-1(config)# crypto ca trustpoint SELF vpn-demo-1(config-ca-trustpoint)# enrollment self vpn-demo-1(config-ca-trustpoint)# fqdn vpn-demo.ashes.cc vpn-demo-1(config-ca-trustpoint)# subject-name cn=*.ashes.cc, ou=ashes-lab, o=ashes, c=ru vpn-demo-1(config-ca-trustpoint)# serial-number vpn-demo-1(config-ca-trustpoint)# crl configure vpn-demo-1(config-ca-crl)# cry ca enroll SELF % The fully-qualified domain name in the certificate will be: vpn-demo.ashes.cc Generate Self-Signed Certificate? [yes/no]: yes vpn-demo-1(config)# ! vpn-demo-1(config)# sh cry ca certificates Certificate Status: Available Certificate Serial Number: 4d43725e Certificate Usage: General Purpose Public Key Type: RSA (4096 bits) Signature Algorithm: SHA256 with RSA Encryption Issuer Name: serialNumber=9A439T02F95 hostname=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=ru Subject Name: serialNumber=9A439T02F95 hostname=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=ru Validity Date: start date: 00:16:17 MSK Mar 19 2020 end date: 00:16:17 MSK Mar 17 2030 Storage: config Associated Trustpoints: SELF CA Certificate Status: Available Certificate Serial Number: 0509 Certificate Usage: General Purpose Public Key Type: RSA (4096 bits) Signature Algorithm: SHA1 with RSA Encryption Issuer Name: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Subject Name: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Validity Date: start date: 21:27:00 MSK Nov 24 2006 end date: 21:23:33 MSK Nov 24 2031 Storage: config Associated Trustpoints: _SmartCallHome_ServerCA
- ASDM ажиллаж байгаа эсэхийг шалгахын тулд портыг зааж өгөхөө бүү мартаарай, жишээ нь:
- Хонгилын үндсэн тохиргоог хийцгээе.
- Корпорацийн сүлжээг хонгилоор дамжуулан ашиглах боломжтой болгож, интернетийг шууд явуулцгаая (холбох хост дээр хамгаалалт байхгүй бол халдвар авсан хостоор нэвтэрч, корпорацийн мэдээллийг харуулах боломжтой бол хамгийн найдвартай арга биш, сонголт split-tunnel-policy tunnelall бүх хостын хөдөлгөөнийг хонгил руу оруулах болно. Гэсэн хэдий ч хуваах хонгил VPN гарцыг буулгах, хостын интернетийн урсгалыг боловсруулахгүй байх боломжтой болгодог)
- 192.168.20.0/24 дэд сүлжээнээс хонгил дахь хостуудад хаягуудыг гаргацгаая (10-аас 30 хүртэлх хаяг (зангилаа #1-ийн хувьд)). VPN кластерын зангилаа бүр өөрийн гэсэн сантай байх ёстой.
- Бид ASA дээр локал үүсгэсэн хэрэглэгчтэй үндсэн баталгаажуулалтыг хийх болно (энэ нь зөвлөдөггүй, энэ бол хамгийн хялбар арга юм), баталгаажуулалтыг дамжуулан хийх нь дээр. LDAP/RADIUS, эсвэл илүү сайн, зангиа Олон хүчин зүйлийн баталгаажуулалт (MFA)Жишээ нь Cisco DUO.
! vpn-demo-1(config)# ip local pool vpn-pool 192.168.20.10-192.168.20.30 mask 255.255.255.0 ! vpn-demo-1(config)# access-list split-tunnel standard permit 192.168.0.0 255.255.0.0 ! vpn-demo-1(config)# group-policy SSL-VPN-GROUP-POLICY internal vpn-demo-1(config)# group-policy SSL-VPN-GROUP-POLICY attributes vpn-demo-1(config-group-policy)# vpn-tunnel-protocol ssl-client vpn-demo-1(config-group-policy)# split-tunnel-policy tunnelspecified vpn-demo-1(config-group-policy)# split-tunnel-network-list value split-tunnel vpn-demo-1(config-group-policy)# dns-server value 192.168.99.132 vpn-demo-1(config-group-policy)# default-domain value ashes.cc vpn-demo-1(config)# tunnel-group DefaultWEBVPNGroup general-attributes vpn-demo-1(config-tunnel-general)# default-group-policy SSL-VPN-GROUP-POLICY vpn-demo-1(config-tunnel-general)# address-pool vpn-pool ! vpn-demo-1(config)# username dkazakov password cisco vpn-demo-1(config)# username dkazakov attributes vpn-demo-1(config-username)# service-type remote-access ! vpn-demo-1(config)# ssl trust-point SELF vpn-demo-1(config)# webvpn vpn-demo-1(config-webvpn)# enable outside vpn-demo-1(config-webvpn)# anyconnect image disk0:/anyconnect-win-4.8.03036-webdeploy-k9.pkg vpn-demo-1(config-webvpn)# anyconnect enable !
- (заавал биш): Дээрх жишээн дээр бид алсын хэрэглэгчдийг баталгаажуулахын тулд ITU дээрх орон нутгийн хэрэглэгчийг ашигласан бөгөөд энэ нь мэдээж лабораториос бусад тохиолдолд ашиглах боломжгүй юм. Би баталгаажуулалтын тохиргоог хэрхэн хурдан тохируулах жишээг өгөх болно RADIUS сервер, жишээ нь ашигласан Cisco Identity Services Engine:
vpn-demo-1(config-aaa-server-group)# dynamic-authorization vpn-demo-1(config-aaa-server-group)# interim-accounting-update vpn-demo-1(config-aaa-server-group)# aaa-server RADIUS (outside) host 192.168.99.134 vpn-demo-1(config-aaa-server-host)# key cisco vpn-demo-1(config-aaa-server-host)# exit vpn-demo-1(config)# tunnel-group DefaultWEBVPNGroup general-attributes vpn-demo-1(config-tunnel-general)# authentication-server-group RADIUS !
Энэхүү интеграци нь баталгаажуулалтын процедурыг AD лавлах үйлчилгээтэй хурдан нэгтгэх төдийгүй холбогдсон компьютер нь AD-д хамаарах эсэхийг ялгах, энэ төхөөрөмж нь байгууллагын эсвэл хувийн эсэхийг ойлгох, холбогдсон төхөөрөмжийн статусыг үнэлэх боломжтой болсон. .
- Үйлчлүүлэгч болон корпорацийн сүлжээний сүлжээний нөөц хоорондын урсгалыг сараачлахгүйн тулд Transparent NAT-ийг тохируулцгаая.
vpn-demo-1(config-network-object)# subnet 192.168.20.0 255.255.255.0 ! vpn-demo-1(config)# nat (inside,outside) source static any any destination static vpn-users vpn-users no-proxy-arp
- (заавал биш): Үйлчлүүлэгчдээ ASA-аар дамжуулан интернетэд оруулахын тулд (ашиглах үед туннелл сонголтууд) PAT-г ашиглан, мөн холбогдсон байгаа ижил ГАДААД интерфэйсээр гарахын тулд та дараах тохиргоог хийх хэрэгтэй.
vpn-demo-1(config-network-object)# nat (outside,outside) source dynamic vpn-users interface vpn-demo-1(config)# nat (inside,outside) source dynamic any interface vpn-demo-1(config)# same-security-traffic permit intra-interface !
- Кластерийг ашиглахдаа хэрэглэгчдэд буцах урсгалыг аль ASA руу чиглүүлэхийг ойлгохын тулд дотоод сүлжээг идэвхжүүлэх нь маш чухал бөгөөд үүний тулд та үйлчлүүлэгчдэд олгосон маршрут / 32 хаягийг дахин хуваарилах хэрэгтэй.
Одоогоор бид кластерыг тохируулаагүй байгаа ч FQDN эсвэл IP-ээр тус тусад нь холбогдох боломжтой VPN гарцууд аль хэдийн ажиллаж байна.
Бид эхний ASA-ийн чиглүүлэлтийн хүснэгтэд холбогдсон үйлчлүүлэгчийг харж байна:
Манай VPN кластер болон бүх корпорацийн сүлжээ үйлчлүүлэгч рүүгээ хүрэх замыг мэдэхийн тулд бид үйлчлүүлэгчийн угтварыг динамик чиглүүлэлтийн протокол болгон дахин хуваарилах болно, жишээ нь OSPF:
! vpn-demo-1(config)# route-map RMAP-VPN-REDISTRIBUTE permit 1 vpn-demo-1(config-route-map)# match ip address VPN-REDISTRIBUTE ! vpn-demo-1(config)# router ospf 1 vpn-demo-1(config-router)# network 192.168.255.0 255.255.255.0 area 0 vpn-demo-1(config-router)# log-adj-changes vpn-demo-1(config-router)# redistribute static metric 5000 subnets route-map RMAP-VPN-REDISTRIBUTE
Одоо бид хоёр дахь ASA-2 гарцаас үйлчлүүлэгч рүү чиглэсэн маршруттай болсон бөгөөд кластер доторх өөр өөр VPN гарцуудад холбогдсон хэрэглэгчид, жишээлбэл, корпорацийн програмын утсаар шууд холбогдох боломжтой, мөн хэрэглэгчийн хүссэн нөөцөөс урсгалыг буцаах боломжтой. хүссэн VPN гарц руу очно уу:
-
Ачаалал тэнцвэржүүлэх кластерын тохиргоо руу шилжье.
192.168.31.40 хаягийг Виртуал IP болгон ашиглах болно (VIP - бүх VPN үйлчлүүлэгчид эхлээд холбогдох болно), энэ хаягаас Мастер кластер нь ачаалал багатай кластерийн зангилаа руу REDIRECT хийнэ. Бичихээ мартуузай урагш болон урвуу DNS бичлэг кластерын зангилаа бүрийн гадаад хаяг / FQDN болон VIP-д хоёуланд нь.
vpn-demo-1(config)# vpn load-balancing vpn-demo-1(config-load-balancing)# interface lbpublic outside vpn-demo-1(config-load-balancing)# interface lbprivate inside vpn-demo-1(config-load-balancing)# priority 10 vpn-demo-1(config-load-balancing)# cluster ip address 192.168.31.40 vpn-demo-1(config-load-balancing)# cluster port 4000 vpn-demo-1(config-load-balancing)# redirect-fqdn enable vpn-demo-1(config-load-balancing)# cluster key cisco vpn-demo-1(config-load-balancing)# cluster encryption vpn-demo-1(config-load-balancing)# cluster port 9023 vpn-demo-1(config-load-balancing)# participate vpn-demo-1(config-load-balancing)#
- Бид холбогдсон хоёр үйлчлүүлэгчтэй кластерын ажиллагааг шалгана.
- ASDM-ээр дамжуулан автоматаар ачаалагдсан AnyConnect профайлыг ашиглан хэрэглэгчийн туршлагыг илүү хялбар болгоцгооё.
Бид профайлыг тохиромжтой байдлаар нэрлэж, группийнхээ бодлогыг түүнтэй холбоно.
Үйлчлүүлэгчийн дараагийн холболтын дараа энэ профайлыг автоматаар татаж аваад AnyConnect клиент дээр суулгах тул холбогдох шаардлагатай бол жагсаалтаас сонгоход л хангалттай.
Бид энэ профайлыг ASDM ашиглан зөвхөн нэг ASA дээр үүсгэсэн тул кластер дахь бусад ASA дээрх алхмуудыг давтахаа бүү мартаарай.
Дүгнэлт: Тиймээс бид ачааллыг автоматаар тэнцвэржүүлдэг хэд хэдэн VPN гарцын кластерийг хурдан байршуулсан. Кластерт шинэ зангилаа нэмэх нь хялбар бөгөөд шинэ ASAv виртуал машинуудыг байрлуулах эсвэл техник хангамжийн ASA ашиглах замаар энгийн хэвтээ масштабтай. Онцлогоор баялаг AnyConnect клиент нь алсын зайнаас найдвартай холболтыг сайжруулж чадна Биеийн байдал (төрийн тооцоо), төвлөрсөн хяналт, хандалтын нягтлан бодох бүртгэлийн системтэй хамт хамгийн үр дүнтэй ашигладаг Identity Services Engine.
Эх сурвалж: www.habr.com