Sa artikulong ito, gusto kong magbigay ng sunud-sunod na mga tagubilin sa kung paano mo mabilis na mai-deploy ang pinakanasusukat na scheme sa ngayon. Remote-Access VPN batay sa pag-access AnyConnect at Cisco ASA - VPN Load Balancing Cluster.
Panimula: Maraming kumpanya sa buong mundo, dahil sa kasalukuyang sitwasyon sa COVID-19, ay nagsisikap na ilipat ang kanilang mga empleyado sa malayong trabaho. Dahil sa malawakang paglipat sa malayong trabaho, ang pag-load sa mga umiiral na VPN gateway ng mga kumpanya ay kritikal na tumataas at isang napakabilis na kakayahang sukatin ang mga ito ay kinakailangan. Sa kabilang banda, maraming kumpanya ang napipilitang magmadaling makabisado ang konsepto ng malayong trabaho mula sa simula.
Naghanda ako ng step-by-step na gabay para sa isang simpleng pag-deploy ng VPN Load-Balancing Cluster bilang ang pinaka-nasusukat na teknolohiya ng VPN.
Ang halimbawa sa ibaba ay magiging medyo simple sa mga tuntunin ng pagpapatotoo at mga algorithm ng awtorisasyon na ginamit, ngunit magiging isang mahusay na pagpipilian para sa isang mabilis na pagsisimula (na kasalukuyang hindi sapat para sa marami) na may posibilidad ng malalim na pagbagay sa iyong mga pangangailangan sa panahon ng pag-deploy proseso.
Maikling impormasyon: Ang teknolohiya ng VPN Load Balancing Cluster ay hindi isang failover at hindi isang clustering function sa katutubong kahulugan nito, ang teknolohiyang ito ay maaaring pagsamahin ang ganap na magkakaibang mga modelo ng ASA (na may ilang mga paghihigpit) upang mai-load ang balanse ng Remote-Access VPN na mga koneksyon. Walang pag-synchronize ng mga session at configuration sa pagitan ng mga node ng naturang cluster, ngunit posibleng awtomatikong i-load ang balanse ng mga koneksyon sa VPN at matiyak ang fault tolerance ng mga koneksyon sa VPN hanggang sa mananatili ang kahit isang aktibong node sa cluster. Ang load sa cluster ay awtomatikong balanse depende sa workload ng mga node sa pamamagitan ng bilang ng mga VPN session.
Para sa failover ng mga partikular na node ng cluster (kung kinakailangan), maaaring gumamit ng filer, kaya ang aktibong koneksyon ay hahawakan ng Primary node ng filer. Ang fileover ay hindi isang kinakailangang kondisyon para sa pagtiyak ng fault tolerance sa loob ng Load-Balancing cluster, ang cluster mismo, sa kaganapan ng pagkabigo ng node, ay ililipat ang session ng user sa isa pang live na node, ngunit nang hindi nai-save ang status ng koneksyon, na tiyak ibinigay ng filer. Alinsunod dito, ang dalawang teknolohiyang ito ay maaaring pagsamahin kung kinakailangan.
Ang isang VPN Load-Balancing cluster ay maaaring maglaman ng higit sa dalawang node.
Ang VPN Load-Balancing Cluster ay suportado sa ASA 5512-X at mas mataas.
Dahil ang bawat ASA sa loob ng VPN Load-Balancing cluster ay isang independiyenteng unit sa mga tuntunin ng mga setting, isa-isa naming isinasagawa ang lahat ng hakbang sa pagsasaayos sa bawat indibidwal na device.
Ang lohikal na topology ng halimbawang ibinigay ay:
Pangunahing Deployment:
Nag-deploy kami ng mga ASAv instance ng mga template na kailangan namin (ASAv5/10/30/50) mula sa larawan.
Itinalaga namin ang INSIDE / OUTSIDE interface sa parehong mga VLAN (Sa labas sa sarili nitong VLAN, INSIDE sa sarili nitong, ngunit sa pangkalahatan sa loob ng cluster, tingnan ang topology), mahalaga na ang mga interface ng parehong uri ay nasa parehong L2 segment.
Mga Lisensya:
Sa ngayon, ang pag-install ng ASAv ay walang anumang mga lisensya at magiging limitado sa 100kbps.
Para mag-install ng lisensya, kailangan mong bumuo ng token sa iyong Smart-Account: https://software.cisco.com/ -> Smart Software Licensing
Sa window na bubukas, i-click ang button Bagong Token
Tiyaking aktibo ang field sa window na bubukas at may check ang checkbox Payagan ang pag-andar na kinokontrol sa pag-export⦠Kung walang aktibo ang field na ito, hindi mo magagamit ang mga function ng malakas na pag-encrypt at, nang naaayon, VPN. Kung hindi aktibo ang field na ito, mangyaring makipag-ugnayan sa iyong account team para sa isang kahilingan sa pag-activate.
Pagkatapos pindutin ang pindutan Lumikha ng Token, gagawa ng token na gagamitin namin para makakuha ng lisensya para sa ASAv, kopyahin ito:
Ulitin natin ang mga hakbang C,D,E para sa bawat naka-deploy na ASAv.
Para mas madaling kopyahin ang token, pansamantalang paganahin natin ang telnet. I-configure natin ang bawat ASA (ang halimbawa sa ibaba ay naglalarawan ng mga setting sa ASA-1). Ang telnet ay hindi gumagana sa labas, kung talagang kailangan mo ito, baguhin ang antas ng seguridad sa 100 sa labas, pagkatapos ay ibalik ito.
!
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
!
Para magrehistro ng token sa Smart-Account cloud, dapat kang magbigay ng Internet access para sa ASA, mga detalye dito.
Sa madaling salita, kailangan ang ASA:
access sa pamamagitan ng HTTPS sa Internet;
pag-synchronize ng oras (mas tama sa pamamagitan ng NTP);
nakarehistrong DNS server;
Nag-telnet kami sa aming ASA at gumagawa ng mga setting para i-activate ang lisensya sa pamamagitan ng Smart-Account.
Para gumana ang ASDM, kailangan mo munang i-download ito mula sa cisco.com website, sa aking kaso ito ang sumusunod na file:
Para gumana ang AnyConnect client, kailangan mong mag-upload ng imahe sa bawat ASA para sa bawat ginamit na client desktop OS (binalak na gumamit ng Linux / Windows / MAC), kakailanganin mo ng file na may Headend Deployment Package Sa pamagat:
Ang mga na-download na file ay maaaring i-upload, halimbawa, sa isang FTP server at i-upload sa bawat indibidwal na ASA:
Kino-configure namin ang ASDM at Self-Signed certificate para sa SSL-VPN (inirerekumenda na gumamit ng pinagkakatiwalaang certificate sa produksyon). Ang set FQDN ng Virtual Cluster Address (vpn-demo.ashes.cc), gayundin ang bawat FQDN na nauugnay sa external na address ng bawat cluster node, ay dapat malutas sa external DNS zone sa IP address ng OUTSIDE interface (o sa naka-map na address kung ang port forwarding udp/443 ay ginagamit (DTLS) at tcp/443(TLS)). Ang detalyadong impormasyon sa mga kinakailangan para sa sertipiko ay tinukoy sa seksyon Pag-verify ng Sertipiko dokumentasyon.
!
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
Huwag kalimutang tukuyin ang port upang suriin kung gumagana ang ASDM, halimbawa:
Isagawa natin ang mga pangunahing setting ng tunnel:
Gawin nating available ang corporate network sa pamamagitan ng tunnel, at hayaan ang Internet na pumunta nang direkta (hindi ang pinakaligtas na paraan kung walang mga proteksyon sa nagkokonektang host, posibleng tumagos sa isang nahawaang host at magpakita ng corporate data, opsyon split-tunnel-policy tunnelall papayagan ang lahat ng trapiko ng host sa tunnel. Gayunpaman Split-Tunnel ginagawang posible na i-offload ang VPN gateway at hindi iproseso ang trapiko ng host sa Internet)
Magbibigay kami ng mga host sa tunnel na may mga address mula sa subnet 192.168.20.0/24 (isang pool ng 10 hanggang 30 address (para sa node #1)). Ang bawat node sa cluster ay dapat may sariling VPN pool.
Magsagawa tayo ng pangunahing pagpapatunay sa isang lokal na nilikhang gumagamit sa ASA (Hindi ito inirerekomenda, ito ang pinakasimpleng pamamaraan), mas mahusay na gawin ang pagpapatunay sa pamamagitan ng LDAP/RADIUS, o mas mabuti pa, itali Multi-Factor Authentication (MFA), Hal Cisco DUO.
(OPSYONAL): Sa halimbawa sa itaas, gumamit kami ng lokal na user sa firewall upang patotohanan ang mga malalayong user, na siyempre ay walang gaanong gamit maliban sa laboratoryo. Magbibigay ako ng isang halimbawa kung paano mabilis na iakma ang setup para sa pag-authenticate rADIUS server, na ginamit halimbawa Engine Engine ng Mga Pagkakakilanlan sa Cisco:
Ang pagsasamang ito ay naging posible hindi lamang upang mabilis na isama ang pamamaraan ng pagpapatunay sa serbisyo ng direktoryo ng AD, ngunit upang makilala din kung ang nakakonektang computer ay pagmamay-ari ng AD, upang maunawaan kung ang device na ito ay corporate o personal, at upang masuri ang katayuan ng konektadong aparato. .
I-configure natin ang Transparent NAT upang ang trapiko sa pagitan ng kliyente at ng mga mapagkukunan ng corporate network network ay hindi ma-scribble:
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
(OPSYONAL): Upang mailantad ang aming mga kliyente sa Internet sa pamamagitan ng ASA (kapag gumagamit ng tunnelall mga opsyon) gamit ang PAT, pati na rin ang paglabas sa parehong LABAS na interface kung saan sila konektado, kailangan mong gawin ang mga sumusunod na setting
Napakahalaga kapag gumagamit ng isang kumpol upang paganahin ang panloob na network na maunawaan kung aling ASA ang iruruta sa pagbabalik ng trapiko sa mga gumagamit; para dito kinakailangan na muling ipamahagi ang mga ruta /32 na mga address na ibinigay sa mga kliyente.
Sa ngayon, hindi pa namin na-configure ang cluster, ngunit mayroon na kaming gumaganang VPN gateway na maaaring indibidwal na konektado sa pamamagitan ng FQDN o IP.
Nakikita namin ang konektadong kliyente sa routing table ng unang ASA:
Upang malaman ng aming buong VPN cluster at ng buong corporate network ang ruta sa aming kliyente, muli naming ipapamahagi ang client prefix sa isang dynamic na routing protocol, halimbawa OSPF:
Ngayon ay mayroon na kaming ruta patungo sa kliyente mula sa pangalawang gateway ng ASA-2 at ang mga user na nakakonekta sa iba't ibang mga VPN gateway sa loob ng cluster ay maaaring, halimbawa, direktang makipag-ugnayan sa pamamagitan ng isang corporate softphone, pati na rin ang pagbabalik ng trapiko mula sa mga mapagkukunang hiniling ng user. pumunta sa gustong VPN gateway:
Magpatuloy tayo sa pagse-set up ng Load-Balancing cluster.
Ang address na 192.168.31.40 ay gagamitin bilang isang Virtual IP (VIP - lahat ng mga kliyente ng VPN ay unang kumonekta dito), mula sa address na ito ang Master cluster ay gagawa ng isang REDIRECT sa isang hindi gaanong na-load na cluster node. Huwag kalimutang magrehistro pasulong at baligtarin ang tala ng DNS kapwa para sa bawat panlabas na address / FQDN ng bawat node ng cluster, at para sa VIP.
Sinusuri namin ang pagpapatakbo ng kumpol na may dalawang konektadong kliyente:
Gawin nating mas maginhawa ang karanasan ng customer sa isang awtomatikong na-download na AnyConnect na profile sa pamamagitan ng ASDM.
Pinangalanan namin ang profile sa isang maginhawang paraan at iniuugnay ang aming patakaran ng grupo dito:
Pagkatapos ng susunod na koneksyon ng kliyente, ang profile na ito ay awtomatikong mada-download at mai-install sa AnyConnect client, kaya kung kailangan mong kumonekta, piliin lamang ito mula sa listahan:
Dahil gamit ang ASDM ginawa namin ang profile na ito sa isang ASA lang, huwag kalimutang ulitin ang mga hakbang sa mga natitirang ASA sa cluster.
Konklusyon: Kaya, mabilis kaming nag-deploy ng kumpol ng ilang VPN gateway na may awtomatikong pagbalanse ng load. Ang pagdaragdag ng mga bagong node sa cluster ay madali, na nakakamit ng simpleng horizontal scaling sa pamamagitan ng pag-deploy ng mga bagong ASAv virtual machine o paggamit ng mga hardware ASA. Ang mayaman sa tampok na AnyConnect client ay maaaring lubos na mapahusay ang iyong secure na malayuang koneksyon na mga kakayahan gamit ang Postura (mga pagtatantya ng estado), pinaka-epektibong ginagamit kasabay ng sistema ng sentralisadong kontrol at pag-access sa accounting Engine ng Identity Services.