Selles artiklis tahan tuua vĂ€lja samm-sammulise juhendi, kuidas hĂ”lpsalt kokku panna kĂ”ige praegusel hetkel mastaapsem mudel Remote-Access VPN juurdepÀÀsu baasil AnyConnect ja Cisco ASA â VPN Load Balancing Cluster.
Sissejuhatus: Kuna COVID-19 olukord jĂ€tkub, teevad paljud ettevĂ”tted kogu maailmas suuri jĂ”upingutusi oma töötajate kaugtööle ĂŒleviimiseks. Massilise kaugtöö ĂŒleminekuga suureneb kriitiliselt koormus olemasolevatele ettevĂ”tte VPN vĂ€ravatele, seetĂ”ttu vajatakse vĂ€ga kiiret vĂ”imalust nende mastaapimiseks. Teiselt poolt peavad paljud ettevĂ”tted kiirustades hakkama teadma, mis on kaugtöö.
Et aidata ettevÔtetel kiiresti luua mugavat, turvalist ja mastaapset VPN juurdepÀÀsu töötajatele, pakub Cisco kuni 13 nÀdalaks litsentse mitmeotstarbelisele SSL-VPN kliendile AnyConnect. .
.
Olen valmistanud ette samm-sammulise juhendi lihtsama VPN Load-Balancing klastrite rakendamiseks, mis on kÔige mastaapsem VPN tehnoloogia.
Allpool toodud nĂ€ide on algoritmide autentimise ja autoriseerimise poolest ĂŒsna lihtne, kuid on hea variant kiireks kĂ€ivitamiseks (mida paljudel praegu hĂ€dasti puudu on) ning vĂ”imaldab sĂŒgavat kohandamist vastavalt oma vajadustele rakendamise kĂ€igus.
LĂŒhikesed teaduslikud andmed: VPN Load Balancing Cluster tehnoloogia ei ole failover ega klasterdamise funktsioon oma traditsioonilises mĂ”istes, seda tehnoloogiat saab kasutada tĂ€iesti erinevate ASA mudelite ĂŒhendamiseks (kindlate piirangutega) Remote-Access VPN ĂŒhenduste koormuse tasakaalustamiseks. Sessioonide ja konfiguratsioonide sĂŒnkroonimine selliste klastrite vahel puudub, kuid VPN ĂŒhenduste automaatne koormuse tasakaalustamine on vĂ”imalik, samuti tagatakse VPN ĂŒhenduste tĂ”rkeolek, kuni klastris on vĂ€hemalt ĂŒks aktiivne node. Klastri koormust tasakaalustatakse automaatselt sĂ”ltuvalt nodede koormusest VPN sessioonide arvu jĂ€rgi.
Kliendi kindlate nodede vahetuste tagamiseks (kui see on vajalik) saab rakendada failiversiooni, seelĂ€bi töödeldakse aktiivset ĂŒhendust failiversiooni peanoodiga. Failiversioon ei ole vajalik tingimus vahetuste tagamiseks Load-Balancing klastris; ise klasster suunab kasutaja seansi teisele aktiivsele nodile, kuid ilma ĂŒhenduse staatuse sĂ€ilitamiseta, mida tagab just failiversioon. Seega on vĂ”imalik, kui vajalik, neid kahte tehnoloogiat kombineerida.
VPN Load-Balancing klasster vÔib sisaldada rohkem kui kahte nodi.
VPN Load-Balancing klasster on toetatud ASA 5512-X ja kÔrgematel tasemetel.
Kuna iga ASA VPN Load-Balancing klastri raames on sÔltumatu seadme osas tehtud seadistuste poolest, teostame kÔik konfigureerimise etapid eraldi igal seadmel.
Antud nÀite loogiline topoloogia:

Esialgne juurutamine:
Juurutame ASAv vajalike mallide pÔhjal (ASAv5/10/30/50).
MÀÀrame INSIDE/OUTSIDE liidestele samad VLAN-id (Outside oma VLAN-is, INSIDE oma, aga klasstri piires ĂŒhine, vt topoloogiat), oluline on, et sama tĂŒĂŒpi liidesed asuksid samas L2 segmentis.
Litsentsid:
- ASAv installimise hetkel ei ole sellel litsentse ja see on piiratud 100 kbit/s tootlikkusega.
- Litsentsi installimiseks peate genereerima tokeni oma Smart-Accounti kontol: -> Smart Software Licensing
- Avanenud aknas vajutage nuppu New Token

- Veenduge, et avanenud aknas on aktiivne vĂ€li ja mĂ€rkeruut on linnudatud Allow export-controlled functionality⊠Ilma selle aktiivse vĂ€ljata ei saa te kasutada tugeva krĂŒpteerimise funktsioone ja vastavalt ka VPN-i. Kui see vĂ€li ei ole aktiivne, palun vĂ”tke ĂŒhendust oma konto meeskonnaga aktiveerimise taotlemiseks.

- PĂ€rast nuppu vajutamist Create Token, luuakse token, mida kasutame ASAv litsentsi saamiseks, kopeerime selle:

- Korrake samme C, D, E iga juurutatud ASAv jaoks.
- Kuna tokeni kopeerimist on lihtsam teha, lubame ajutiselt telnet-i. Konfigureerime iga ASA (nÀide allpool illustreerib seadistusi ASA-1-l). telnet outside'ilt ei tööta, kui see on hÀdavajalik, muutke security-level vÀljas 100-ks ja seejÀrel naaske tagasi.
! 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 !- Smart-Accountis token registreerimiseks on vajalik anda ASA-le ligipÀÀs Internetile, .
LĂŒhidalt, ASA vajab:
- HTTPS ligipÀÀsu Internetile;
- aja sĂŒnhroniseerimine (parim NTP kaudu);
- mÀÀratud DNS serverit;
- Logime telnetiga sisse meie ASA-sse ja teeme seadistused litsentsi aktiveerimiseks Smart-Accounti kaudu.
! 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 ! ! Kontrollime DNS-i tööd: ! 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: !!!!! ! ! Kontrollime NTP sĂŒnhroniseerimist: ! 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 (sĂŒnhroniseeritud), # master (sĂŒnhroniseerimata), + valitud, - kandidaat, ~ konfigureeritud ! ! Seadistame meie ASAv konfigureerimise Smart-Licensinguks (vastavalt Teie profiilile, minu puhul 100M nĂ€itena) ! ciscoasa(config)# license smart ciscoasa(config-smart-lic)# feature tier standard ciscoasa(config-smart-lic)# throughput level 100M ! ! Vajadusel vĂ”ite seadistada Interneti-juurdepÀÀsu lĂ€bi proksiserveri, kasutades jĂ€rgmist kĂ€skude blokki: !call-home ! http-proxy ip_address port port ! ! JĂ€rgmisena sisestame Smart-Accounti portaalist kopeeritud tokeni (<token>) ja registreerime litsentsi ! ciscoasa(config)# end ciscoasa# license smart register idtoken <token>- Kontrollime, et seade on litsentsi edukalt registreerinud ja krĂŒpteerimise valikud on saadaval:


Seadistame pÔhjalikud SSL-VPN iga vÀrava jaoks
- SeejÀrel seadistame juurdepÀÀsu SSH ja ASDM kaudu:
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 ! ! KÀivitame HTTPS serveri ASDM-ile porti 445, et mitte kattuda SSL-VPN portaali portiga ! vpn-demo-1(config)# http server enable 445 !- ASDM-i tööks tuleb see kÔigepealt cisco.com lehelt alla laadida, minu puhul on see jÀrgmine fail:

- AnyConnect kliendi tööks tuleb iga ASA peale laadida pilt igale kasutatavale töölaua opsĂŒsteemile (plaanitud kasutamiseks Linuxi/Windowsi/MAC) vajate faili Pealkirja juurdepÀÀsupakett nimetuses:

- Allalaetud faile saab nÀiteks FTP-serverisse panna ja laadida igasse eraldi ASA:isse:

- Seame ASDM-i ja iseehitatud sertifikaadi SSL-VPN-ile (tootmisreĆŸiimis soovitatakse kasutada usaldusvÀÀrset sertifikaati). Virtual Clusterri FQDN-aadress (vpn-demo.ashes.cc) ning iga FQDN, mis on seotud iga klastrimuudatuse vĂ€lise aadressiga, peab olema DNS-is vĂ€ljas kĂ”ik ctingi IP-aadressiga OUTSIDE liidesele (vĂ”i kaardistatud aadressile, kui kasutatakse UDP/443 (DTLS) ja TCP/443 (TLS) portide ĂŒlekandmist). Sertifikaadi nĂ”uete ĂŒksikasjalik teave on toodud jaotises Sertifikaadi kontrollimine dokumentatsioonis.
! 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 % Sertifikaadis olev tĂ€ielik domeeninimi on: vpn-demo.ashes.cc Luua iseehitatud sertifikaat? [jah/ei]: jah vpn-demo-1(config)# ! vpn-demo-1(config)# sh cry ca certificates Sertifikaat Staat: Saadaval Sertifikaadi seerianumber: 4d43725e Sertifikaadi kasutamise eesmĂ€rk: Ăldine Avaliku vĂ”tme tĂŒĂŒp: RSA (4096 bitti) Allkirja algoritm: SHA256 RSA krĂŒpteeringuga VĂ€ljakuulutaja nimi: seerianumber=9A439T02F95 hostname=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=ru Aadressi nimi: seerianumber=9A439T02F95 hostname=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=ru Kehtivuse kuupĂ€ev: alguskuupĂ€ev: 00:16:17 MSK 19. mĂ€rts 2020 lĂ”ppkuupĂ€ev: 00:16:17 MSK 17. mĂ€rts 2030 Salvestamine: konfigureeri Seotud usalduspunktid: SELF CA-sertifikaat Staat: Saadaval Sertifikaadi seerianumber: 0509 Sertifikaadi kasutamise eesmĂ€rk: Ăldine Avaliku vĂ”tme tĂŒĂŒp: RSA (4096 bitti) Allkirja algoritm: SHA1 RSA krĂŒpteeringuga VĂ€ljakuulutaja nimi: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Aadressi nimi: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Kehtivuse kuupĂ€ev: alguskuupĂ€ev: 21:27:00 MSK 24. nov 2006 lĂ”ppkuupĂ€ev: 21:23:33 MSK 24. nov 2031 Salvestamine: konfigureeri Seotud usalduspunktid: _SmartCallHome_ServerCA- ASDM-i töö kontrollimiseks Ă€rge unustage mÀÀrata porti, nĂ€iteks:

- Teeme tunneli jaoks pÔhinÔuded:
- Teeme ettevĂ”tte vĂ”rgu tunneli kaudu kergesti kĂ€tte saadavaks ning internettesse pÀÀseb otse (mitte kĂ”ige turvalisem meetod, kui ĂŒhendataval hostil puuduvad kaitsemeetmed, on vĂ”imalik tungida nakatunud hosti kaudu ja teavet ettevĂ”tte kohta vĂ€lja toimetada, valik split-tunnel-policy tunnelall suunab kĂ”ik hosti liikluse tunnelisse. Siiski Split-Tunnel annab vĂ”imaluse vĂ€hendada VPN-vĂ€rava koormust ning mitte töödelda hosti interneti liiklust)
- MÀÀrame tunnelis olevatele hostidele aadressid alamvĂ”rgust 192.168.20.0/24 (10â30 aadressi (node #1)). Igal VPN klastris peab olema oma kohaliku bassein.
- Teeme pÔhja autentimise kohalikult loodud kasutajaga ASA-s (see ei ole soovitatav, see on kÔige lihtsam meetod), parem on autentimine lÀbi LDAP/RADIUS, veel parem on seondada Mitme teguri autentimine (MFA), nÀiteks 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 !- (VALIKULINE): Ălaltoodud nĂ€ites kasutasime autentimiseks kaugreerige kasutajat MSE-s, mis pole muidugi soovitav, vĂ€lja arvatud laboratoorsetes tingimustes. Toon nĂ€ite, kuidas kiiresti kohandada seadistust autentimiseks RADIUS serveris, kasutades nĂ€iteks 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 !See integratsioon vĂ”imaldas mitte ainult kiiresti integreerida autentimisprotseduuri AD kataloogiteenusega, vaid ka eristada ĂŒhendatava arvuti kuulumist AD-sse, mĂ”ista, kas see on ettevĂ”tte seade vĂ”i isiklik ning teha ĂŒhendava seadme oleku hindamine.


- Teeme Transparent NAT seadistuse, et liiklus kliendi ja ettevÔtte vÔrguresource vahel ei saaks NAT-itud:
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- (VALIKULINE): Kuidas viia meie kliendid internetti kaudu ASA (kasutades tunnelall valikute) PAT kasutamine, ning ĂŒhenduda lĂ€bi sama OUTSIDE liidese, kust nad on ĂŒhendatud, tuleb teha jĂ€rgmised seaded
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 !- On ÀÀrmiselt oluline, et klastrit kasutades saaks sisevĂ”rk aru, kuhu ASA kohta tagasi liiklust marsruutida, selleks tuleb teha marsruutide \32 aadresside ĂŒmberjaotamine, mis antakse klientidele.
Praegu pole me klastrit veel seadistanud, kuid meil on juba töötavad VPN vĂ€ravad, millega saab individuaalselt ĂŒhendada FQDN vĂ”i IP kaudu.

NĂ€eme ĂŒhendatud klienti esimese ASA marsroute tabelis:

Kuna kogu meie VPN klaster ja kogu ettevĂ”tte vĂ”rk peavad teadma marsruuti meie kliendini, teeme kliendi prefiksi ĂŒmberjaotuse dĂŒnaamilise marsruutimise protokolli, nĂ€iteks 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-REDISTRIBUTENĂŒĂŒd on meil marsruut kliendini teiselt vĂ€ravalt ASA-2 ja erinevate VPN vĂ€ravate kaudu ĂŒhendatud kasutajad saavad nĂ€iteks suhelda otse ettevĂ”tte tarkvara kaudu, samuti nagu tagasi liiklus taotletud ressurssidest jĂ”uab vajalikku VPN vĂ€ravasse:

Liigume Load-Balancing klastrite seadistamise juurde.
Aadress 192.168.31.40 kasutatakse Virtuaalse IP-na (VIP - sellele ĂŒhenduvad kĂ”ik VPN kliendid), sellelt aadressilt suunab klaster Master vĂ€hem koormatud sĂ”lme. Ăra unusta mÀÀrata otsemiseks ja tagasiks DNS recordi nii iga vĂ€lise aadressi/FQDN iga sĂ”lme klastris, kui ka VIP jaoks.
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)#- Kontrollime klastrite tööd kahe ĂŒhendatud kliendiga:

- Teeme kliendi töö kogemuse mugavamaks automaatselt laaditava AnyConnect profiiliga ASDM kaudu.

Nimeame profiili mugaval viisil ja seostame selle meie grupipoliitikaga:

PĂ€rast jĂ€rgmise kliendi ĂŒhendust laaditakse see profiil automaatselt alla ja installitakse AnyConnecti kliendis, seega jÀÀb vajaliku ĂŒhenduse korral lihtsalt valida see nimekirjast:

Kuna me loomise kĂ€igus ASDM-i kaudu lĂ”ime selle profiili ainult ĂŒhes ASA-s, Ă€rge unustage samme korda saata ka teiste ASA klastrite puhul.
KokkuvĂ”te: Nii oleme kiiresti seadistanud mitme VPN-lĂŒli klastri automaatse koormuse tasakaalustamisega. Uute sĂ”lmede lisamine klastrisse pole keeruline, saavutades lihtsa horisontaalse skaleerimise uute ASAv virtuaalmasinate seadistamise vĂ”i riistvaralise ASA kasutamise kaudu. Multifunktsionaalne AnyConnect klient vĂ”ib oluliselt laiendada turvalise kaugĂŒhenduse vĂ”imalusi, kasutades funktsiooni Posture (oleku hindamine), mida on kĂ”ige tĂ”husam rakendada koos keskse juurdepÀÀsu haldamise ja arvestuse sĂŒsteemiga Identity Services Engine.
Allikas: habr.com


















