Implementazione di un cluster di bilanciamento di carica VPN ASA
In questu articulu, vogliu furnisce struzzioni passu per passu nantu à cumu pudete implementà rapidamente u schema più scalabile in u mumentu. Accessu remoto VPN accessu basatu AnyConnect è Cisco ASA - Cluster di equilibriu di carica VPN.
Introduzione: Parechje cumpagnie in u mondu, in vista di a situazione attuale cù COVID-19, facenu sforzi per trasfirià i so impiegati à u travagliu remoto. A causa di a transizione di massa à u travagliu remoto, a carica nantu à e porte VPN esistenti di l'imprese hè in crescita critica è una capacità assai veloce di scala hè necessaria. Per d 'altra banda, assai cumpagnie sò furzati à ammaistrà in fretta u cuncettu di travagliu remoto da zero.
Aghju preparatu una guida passo-passu per una implementazione simplice di VPN Load-Balancing Cluster cum'è a tecnulugia VPN più scalabile.
L'esempiu quì sottu serà abbastanza simplice in quantu à l'algoritmi di autentificazione è d'autorizazione utilizati, ma serà una bona opzione per un iniziu rapidu (chì attualmente ùn hè micca abbastanza per parechji) cù a pussibilità di adattazione in profonda à i vostri bisogni durante a implementazione. prucessu.
Brevi infurmazione: A tecnulugia VPN Load Balancing Cluster ùn hè micca un failover è micca una funzione di clustering in u so sensu nativu, sta tecnulugia pò cumminà mudelli ASA completamente differenti (cun certe restrizioni) per equilibrà e cunnessione VPN Remote-Access. Ùn ci hè micca sincronizazione di sessioni è cunfigurazioni trà i nodi di un tali cluster, ma hè pussibule di carica automaticamente e cunnessione VPN di equilibriu è assicurà a tolleranza di difetti di cunnessione VPN finu à chì almenu un node attivu resta in u cluster. A carica in u cluster hè automaticamente equilibratu secondu a carica di travagliu di i nodi da u numeru di sessioni VPN.
Per fallu di nodi specifichi di u cluster (se necessariu), un filer pò esse usatu, cusì a cunnessione attiva serà trattata da u node primariu di u filer. U fileover ùn hè micca una cundizione necessaria per assicurà a tolleranza di difetti in u cluster Load-Balancing, u cluster stessu, in casu di fallimentu di u nodu, trasfirerà a sessione di l'utilizatori à un altru node live, ma senza salvà u statutu di cunnessione, chì hè precisamente. furnitu da u filer. In cunsiquenza, hè pussibule, se ne necessariu, cunghjuntà sti dui tecnulugia.
Un cluster di equilibriu di carica VPN pò cuntene più di dui nodi.
U cluster di equilibriu di carica VPN hè supportatu in ASA 5512-X è sopra.
Siccomu ogni ASA in u cluster VPN Load-Balancing hè una unità indipendente in quantu à i paràmetri, effettuemu tutti i passi di cunfigurazione individualmente in ogni dispusitivu individuale.
Implementemu istanze ASAv di i mudelli chì avemu bisognu (ASAv5/10/30/50) da l'imaghjini.
Assignemu l'interfacce INSIDE / OUTSIDE à i stessi VLAN (Fora in u so propiu VLAN, INSIDE in u so propiu, ma in generale in u cluster, vede a topologia), hè impurtante chì l'interfacce di u listessu tipu sò in u stessu segmentu L2.
Licenze:
À u mumentu, l'installazione ASAv ùn hà micca licenze è serà limitata à 100kbps.
Per installà una licenza, avete bisognu di generà un token in u vostru Smart-Account: https://software.cisco.com/ -> Licenza di software intelligente
In a finestra chì si apre, cliccate nantu à u buttone New Token
Assicuratevi chì in a finestra chì si apre ci hè un campu attivu è una marca di spunta hè verificata Permette a funziunalità cuntrullata da l'esportazione... Senza stu campu attivu, ùn puderete micca aduprà e funzioni di criptografia forte è, per quessa, VPN. Se stu campu ùn hè micca attivu, cuntattate u vostru squadra di contu cun una dumanda di attivazione.
Dopu avè pressu u buttone Crea Token, serà creatu un token chì useremu per ottene una licenza per ASAv, copiate:
Ripete i passi C,D,E per ogni ASAv implementatu.
Per fà più faciule per copià u token, permettemu temporaneamente telnet. Cunfiguremu ogni ASA (l'esempiu quì sottu illustra i paràmetri nantu à ASA-1). telnet ùn funziona micca cù l'esternu, se ne avete veramente bisognu, cambiate u nivellu di sicurezza à 100 à l'esternu, dopu torna torna.
!
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
!
Per registrà un token in u nuvulu Smart-Account, duvete furnisce l'accessu Internet per ASA, dettagli quì.
In breve, ASA hè necessariu:
accessu via HTTPS à Internet;
sincronizazione di u tempu (più currettamente, via NTP);
servitore DNS registratu;
Avemu telnet à u nostru ASA è fà paràmetri per attivà a licenza attraversu 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>
Avemu verificatu chì u dispusitivu hà registratu successu una licenza è l'opzioni di criptografia sò dispunibili:
Configurate un SSL-VPN di basa in ogni gateway
Dopu, cunfigurà l'accessu via 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
!
Per chì l'ASDM funziona, prima deve esse scaricatu da u situ web cisco.com, in u mo casu hè u schedariu seguente:
Per u cliente AnyConnect per travaglià, avete bisognu di carica una maghjina à ogni ASA per ogni OS desktop client utilizatu (prughjettatu à aduprà Linux / Windows / MAC), avete bisognu di un schedariu cù Paquet di implementazione di Headend In u titulu:
I schedarii telecaricati ponu esse caricati, per esempiu, à un servitore FTP è caricati à ogni ASA individuale:
Configuremu ASDM è certificatu autofirmatu per SSL-VPN (hè cunsigliatu di utilizà un certificatu di fiducia in a produzzione). U FQDN stabilitu di l'indirizzu di u Cluster Virtual (vpn-demo.ashes.cc), è ancu ogni FQDN assuciatu cù l'indirizzu esternu di ogni node di cluster, deve risolve in a zona DNS esterna à l'indirizzu IP di l'interfaccia OUTSIDE (o à l'indirizzu mappatu se u port forwarding udp/443 hè utilizatu (DTLS) è tcp/443 (TLS)). L'infurmazioni detallate nantu à i requisiti per u certificatu sò specificate in a sezione Verificazione di u Certificatu documentazione.
!
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
Ùn vi scurdate di specificà u portu per verificà chì l'ASDM funziona, per esempiu:
Facemu i paràmetri di basa di u tunnel:
Facemu a rete corporativa dispunibile attraversu u tunelu, è lascià l'Internet andà direttamente (micca u metudu più sicuru se ùn ci hè micca prutezzione nantu à l'ospite di cunnessione, hè pussibule penetrà attraversu un host infettatu è vede e dati corporativi, opzione. split-tunnel-policy tunnelall permetterà tuttu u trafficu di l'ospiti in u tunnel. Tuttavia split-tunnel permette di scaricà u gateway VPN è micca processà u trafficu Internet di l'ospite)
Emettemu indirizzi da a subnet 192.168.20.0/24 à l'ospiti in u tunnel (piscina da 10 à 30 indirizzi (per u node #1)). Ogni node di u cluster VPN deve avè u so propiu pool.
Realizzeremu l'autentificazione di basa cù un utilizatore creatu localmente nantu à l'ASA (Questu ùn hè micca cunsigliatu, questu hè u metudu più faciule), hè megliu fà l'autentificazione attraversu LDAP/RADIUS, o megliu ancu, cravatta Autenticazione multifattore (MFA), per esempiu Cisco DUO.
(OPZIONALE): In l'esempiu di sopra, avemu usatu un utilizatore locale nantu à l'ITU per autentificà l'utilizatori remoti, chì di sicuru, salvu in u laboratoriu, hè pocu applicabile. Daraghju un esempiu di cumu adattà rapidamente l'impostazione per l'autentificazione RADIUS servitore, per esempiu usatu Cisco Identity Services Engine:
Questa integrazione hà permessu micca solu di integrà rapidamente a prucedura di autentificazione cù u serviziu di annuariu AD, ma ancu di distinguishà se l'urdinatore cunnessu appartene à l'AD, per capiscenu s'ellu hè corporativu o persunale, è per valutà u statutu di u dispusitivu cunnessu. .
Cunfiguremu Transparent NAT in modu chì u trafficu trà u cliente è e risorse di a reta di a rete corporativa ùn hè micca scribbled:
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
(OPZIONALE): Per espose i nostri clienti à Internet attraversu l'ASA (quandu usanu tunnelall opzioni) utilizendu PAT, è ancu esce da a stessa interfaccia OUTSIDE da quale sò cunnessi, avete bisognu di fà i seguenti paràmetri
Quandu si usa un cluster, hè estremamente impurtante per attivà a rete interna per capisce quale ASA per indirizzà u trafficu di ritornu à l'utilizatori, per questu avete bisognu di redistribuisce rotte / indirizzi 32 emessi à i clienti.
À u mumentu, ùn avemu micca cunfiguratu u cluster, ma avemu digià gateway VPN chì ponu esse cunnessi individualmente via FQDN o IP.
Avemu vistu u cliente cunnessu in a tabella di routing di u primu ASA:
Per chì tuttu u nostru cluster VPN è tutta a reta corporativa cunnosce a strada à u nostru cliente, redistribuemu u prefissu di u cliente in un protokollu di routing dinamicu, per esempiu OSPF:
Avà avemu un itinerariu à u cliente da a seconda porta ASA-2 è l'utilizatori cunnessi à e diverse porte VPN in u cluster ponu, per esempiu, cumunicà direttamente attraversu un softphone corporativu, è ancu rinvià u trafficu da e risorse richieste da l'utilizatore. vene à a porta VPN desiderata:
Passemu à cunfigurà u cluster Load-Balancing.
L'indirizzu 192.168.31.40 serà utilizatu cum'è un IP Virtual (VIP - tutti i clienti VPN inizialmente cunnette à questu), da questu indirizzu u cluster Maestru farà un REDIRECT à un node cluster menu carricu. Ùn vi scurdate di scrive record DNS avanti è inversu sia per ogni indirizzu esternu / FQDN di ogni nodu di u cluster, sia per VIP.
Cuntrollamu u funziunamentu di u cluster cù dui clienti cunnessi:
Facemu l'esperienza di u cliente più còmuda cù u prufilu AnyConnect caricatu automaticamente via ASDM.
Nominemu u prufilu in una manera còmuda è associemu a nostra pulitica di gruppu cun ella:
Dopu à a prossima cunnessione di u cliente, stu prufilu serà scaricatu automaticamente è installatu in u cliente AnyConnect, perchè se avete bisognu di cunnette, basta selezziunate da a lista:
Siccomu avemu creatu stu prufilu in un solu ASA cù ASDM, ùn vi scurdate di ripetiri i passi nantu à l'altri ASA in u cluster.
Cunsigliu: Cusì, avemu implementatu rapidamente un cluster di parechje gateway VPN cù equilibriu automaticu di carica. L'aghjunzione di novi nodi à u cluster hè faciule, cù una scala horizontale simplice implementendu novi macchine virtuali ASAv o utilizendu ASA hardware. U cliente AnyConnect riccu di funzioni pò migliurà assai a cunnessione remota sicura usendu u Postura (estimazioni statali), più efficacemente utilizatu in cunghjunzione cù u sistema di cuntrollu centralizatu è cuntabilità di accessu Motore di servizii d'identità.