En ĉi tiu artikolo, mi ŝatus doni paŝon post paŝo instrukciojn pri kiel vi povas rapide disfaldi la plej skaleblan skemon nuntempe. VPN de Fora Aliro aliro bazita AnyConnect kaj Cisco ASA - VPN-Ŝarĝbalanca Areto.
Enkonduko: Multaj kompanioj tra la mondo, konsiderante la nunan situacion kun COVID-19, klopodas translokigi siajn dungitojn al fora laboro. Pro la amasa transiro al fora laboro, la ŝarĝo sur la ekzistantaj VPN-enirejoj de kompanioj kritike pliiĝas kaj tre rapida kapablo grimpi ilin estas bezonata. Aliflanke, multaj kompanioj estas devigitaj haste regi la koncepton de fora laboro de nulo.
Mi preparis paŝon post paŝo gvidilon por simpla deplojo de VPN Load-Balancing Cluster kiel la plej skalebla VPN-teknologio.
La ĉi-suba ekzemplo estos sufiĉe simpla laŭ la uzataj algoritmoj de aŭtentigo kaj rajtigo, sed estos bona eblo por rapida komenco (kiu nuntempe ne sufiĉas por multaj) kun la ebleco de profunda adapto al viaj bezonoj dum la disfaldo. procezo.
Mallongaj informoj: VPN Load Balancing Cluster-teknologio ne estas malsukcesa kaj ne grupiga funkcio en sia denaska signifo, ĉi tiu teknologio povas kombini tute malsamajn ASA-modelojn (kun certaj limigoj) por ŝarĝi ekvilibron de Remote-Access VPN-konektoj. Ne ekzistas sinkronigado de sesioj kaj agordoj inter la nodoj de tia areto, sed eblas aŭtomate ŝarĝi ekvilibrajn VPN-konektoj kaj certigi misfunkciadon de VPN-konektoj ĝis almenaŭ unu aktiva nodo restas en la areto. La ŝarĝo en la areto estas aŭtomate ekvilibra depende de la laborkvanto de la nodoj per la nombro da VPN-sesioj.
Por malsukceso de specifaj nodoj de la areto (se necese), dosiero povas esti uzata, do la aktiva konekto estos pritraktita de la Primara nodo de la dosiero. La dosiertransporto ne estas necesa kondiĉo por certigi misfunkciadon ene de la Load-Balancing-areto, la areto mem, en la okazaĵo de noda fiasko, translokigos la uzantan sesion al alia viva nodo, sed sen konservi la konektan staton, kiu estas ĝuste. provizita de la dosiero. Sekve, eblas, se necese, kombini ĉi tiujn du teknologiojn.
VPN Load-Balancing areto povas enhavi pli ol du nodojn.
VPN Load-Balancing Cluster estas subtenata sur ASA 5512-X kaj supre.
Ĉar ĉiu ASA ene de la VPN Load-Balancing-grupo estas sendependa unuo laŭ agordoj, ni plenumas ĉiujn agordajn paŝojn individue sur ĉiu individua aparato.
Ni deplojas ASAv-instancojn de la ŝablonoj, kiujn ni bezonas (ASAv5/10/30/50) el la bildo.
Ni atribuas la INTERFAJN / EKSTER-interfacojn al la samaj VLAN-oj (Ekster en sia propra VLAN, INSIDE en sia propra, sed ĝenerale ene de la areto, vidu la topologion), gravas, ke interfacoj de la sama tipo estas en la sama L2-segmento.
Licencoj:
Nuntempe la instalado de ASAv ne havos licencojn kaj estos limigita al 100kbps.
Por instali permesilon, vi devas generi ĵetonon en via Smart-Konto: https://software.cisco.com/ -> Smart Software Licensing
En la fenestro kiu malfermiĝas, alklaku la butonon Nova Token
Certiĝu, ke en la fenestro kiu malfermiĝas estas aktiva kampo kaj marko estas markita Permesu eksport-kontrolitan funkcion… Sen ĉi tiu kampo aktiva, vi ne povos uzi la funkciojn de forta ĉifrado kaj, sekve, VPN. Se ĉi tiu kampo ne estas aktiva, bonvolu kontakti vian kontan teamon kun aktiviga peto.
Post premi la butonon Krei Tokenon, ĵetono estos kreita, kiun ni uzos por akiri permesilon por ASAv, kopiu ĝin:
Ripetu paŝojn C,D,E por ĉiu deplojita ASAv.
Por plifaciligi kopii la ĵetonon, ni provizore permesu telneton. Ni agordu ĉiun ASA (la ekzemplo sube ilustras la agordojn sur ASA-1). telnet ne funkcias kun ekstero, se vi vere bezonas ĝin, ŝanĝu sekurecan nivelon al 100 al ekstero, poste revenu ĝin.
!
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
!
Por registri ĵetonon en la nubo Smart-Account, vi devas provizi interretan aliron por ASA, detaloj ĉi tie.
Mallonge, ASA estas bezonata:
aliro per HTTPS al Interreto;
temposinkronigado (pli ĝuste, per NTP);
registrita DNS-servilo;
Ni telnet al nia ASA kaj faras agordojn por aktivigi la permesilon per 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>
Ni kontrolas, ke la aparato sukcese registris permesilon kaj ĉifradajn opciojn disponeblas:
Agordu bazan SSL-VPN sur ĉiu enirejo
Poste, agordu aliron per SSH kaj 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
!
Por ke ASDM funkciu, vi unue devas elŝuti ĝin de la retejo cisco.com, en mia kazo ĝi estas la sekva dosiero:
Por ke la kliento AnyConnect funkciu, vi devas alŝuti bildon al ĉiu ASA por ĉiu uzata klienta labortabla OS (planita por uzi Linukso / Vindozo / MAC), vi bezonos dosieron kun Headend Deploja Pako En la titolo:
La elŝutitaj dosieroj povas esti alŝutitaj, ekzemple, al FTP-servilo kaj alŝutitaj al ĉiu individua ASA:
Ni agordas ASDM kaj Memsubskribitan atestilon por SSL-VPN (oni rekomendas uzi fidindan atestilon en produktado). La fiksita FQDN de la Virtuala Areto-Adreso (vpn-demo.ashes.cc), same kiel ĉiu FQDN asociita kun la ekstera adreso de ĉiu clusternodo, devas solvi en la ekstera DNS-zono al la IP-adreso de la EKSTER-interfaco (aŭ al la mapita adreso se haveno plusendado udp/443 estas uzata (DTLS) kaj tcp/443(TLS)). Detalaj informoj pri la postuloj por la atestilo estas specifitaj en la sekcio Atestila Kontrolo dokumentado.
!
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
Ne forgesu specifi la havenon por kontroli ke ASDM funkcias, ekzemple:
Ni faru la bazajn agordojn de la tunelo:
Ni disponigu la kompanian reton tra la tunelo, kaj lasu la Interreton rekte iri (ne la plej sekura metodo se ne ekzistas protektoj sur la koneksa gastiganto, eblas penetri tra infektita gastiganto kaj montri kompaniajn datumojn, opcion. split-tunnel-policy tunnelall lasos ĉiun gastigan trafikon en la tunelon. Tamen split-tunnel ebligas malŝarĝi la VPN-enirejon kaj ne prilabori gastigantan interretan trafikon)
Ni eldonu adresojn de la subreto 192.168.20.0/24 al gastigantoj en la tunelo (kolekto de 10 ĝis 30 adresoj (por nodo n-ro 1)). Ĉiu nodo de la VPN-areto devas havi sian propran naĝejon.
Ni efektivigos bazan aŭtentikigon kun loke kreita uzanto sur la ASA (Ĉi tio ne estas rekomendita, ĉi tiu estas la plej facila metodo), estas pli bone fari aŭtentigon per LDAP/RADIUSO, aŭ pli bone ankoraŭ, kravato Plurfaktora Aŭtentigo (MFA)ekzemple Cisco DUO.
(LOVE): En la ĉi-supra ekzemplo, ni uzis lokan uzanton sur la ITU por aŭtentikigi forajn uzantojn, kio kompreneble, krom en la laboratorio, estas malbone aplikebla. Mi donos ekzemplon pri kiel rapide adapti la agordon por aŭtentigo al RADIUS servilo, ekzemple uzata Motoro de Cisco Identity Services:
Ĉi tiu integriĝo ebligis ne nur rapide integri la aŭtentikigproceduron kun la AD-adresa servo, sed ankaŭ distingi ĉu la konektita komputilo apartenas al AD, kompreni ĉu tiu aparato estas kompania aŭ persona, kaj taksi la staton de la konektita aparato. .
Ni agordu Travidebla NAT por ke la trafiko inter la kliento kaj la rimedoj de la kompania reto reto ne estu skribaĉita:
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
(LOVE): Por eksponi niajn klientojn al Interreto per la ASA (dum uzado tunnelall opcioj) uzante PAT, kaj ankaŭ eliri tra la sama EKSTER-interfaco, de kiu ili estas konektitaj, vi devas fari la jenajn agordojn
Kiam vi uzas grapolon, estas ege grave ebligi la internan reton kompreni kiun ASA direktu la revenan trafikon al uzantoj, por tio vi devas redistribui itinerojn / 32-adresojn eldonitajn al klientoj.
Nuntempe ni ankoraŭ ne agordis la areton, sed ni jam havas funkciajn VPN-enirejojn, kiuj povas esti individue konektitaj per FQDN aŭ IP.
Ni vidas la konektitan klienton en la envojiga tabelo de la unua ASA:
Por ke nia tuta VPN-grupo kaj la tuta kompania reto sciu la itineron al nia kliento, ni redistribuos la klientan prefikson en dinamikan enrutigan protokolon, ekzemple OSPF:
Nun ni havas vojon al la kliento de la dua ASA-2-enirejo kaj uzantoj konektitaj al malsamaj VPN-enirejoj ene de la areto povas, ekzemple, komuniki rekte per kompania softtelefono, kaj ankaŭ redoni trafikon de la rimedoj petitaj de la uzanto. venu al la dezirata VPN-enirejo:
Ni pluiru al agordo de la Load-Balancing-grupo.
La adreso 192.168.31.40 estos uzata kiel Virtuala IP (VIP - ĉiuj VPN-klientoj komence konektos al ĝi), de ĉi tiu adreso la Mastra areto faros REDIRECT al malpli ŝarĝita cluster nodo. Ne forgesu skribi antaŭen kaj inversa DNS-rekordo ambaŭ por ĉiu ekstera adreso/FQDN de ĉiu nodo de la cluster, kaj por VIP.
Ni kontrolas la funkciadon de la areto kun du konektitaj klientoj:
Ni igu la klientan sperton pli oportuna kun la aŭtomate ŝargita AnyConnect-profilo per ASDM.
Ni nomas la profilon en oportuna maniero kaj asocias nian gruppolitikon kun ĝi:
Post la sekva konekto de la kliento, ĉi tiu profilo estos aŭtomate elŝutita kaj instalita en la kliento AnyConnect, do se vi bezonas konektiĝi, simple elektu ĝin el la listo:
Ĉar ni kreis ĉi tiun profilon sur nur unu ASA uzante ASDM, ne forgesu ripeti la paŝojn sur la aliaj ASA en la areto.
Konkludo: Tiel, ni rapide deplojis aron de pluraj VPN-enirejoj kun aŭtomata ŝarĝoekvilibro. Aldoni novajn nodojn al la areto estas facila, kun simpla horizontala skalo per deplojado de novaj ASAv virtualaj maŝinoj aŭ uzante aparataron ASAoj. La funkcio-riĉa AnyConnect-kliento povas multe plibonigi sekuran foran konekton uzante la Pozo (ŝtataj taksoj), plej efike uzata kune kun la sistemo de centralizita kontrolo kaj alirkontado Identecaj Servoj Motoro.