In hierdie artikel wil ek stap-vir-stap instruksies gee oor hoe u die mees skaalbare skema op die oomblik vinnig kan ontplooi. Afstandtoegang VPN toegang gebaseer AnyConnect en Cisco ASA - VPN-lasbalanseringskluster.
Inleiding: Baie maatskappye regoor die wêreld, in die lig van die huidige situasie met COVID-19, wend pogings aan om hul werknemers na afgeleë werk oor te plaas. As gevolg van die massa-oorgang na afgeleë werk, neem die las op die bestaande VPN-poorte van maatskappye krities toe en 'n baie vinnige vermoë om dit te skaal word vereis. Aan die ander kant word baie maatskappye gedwing om die konsep van afgeleë werk inderhaas van nuuts af te bemeester.
Ek het 'n stap-vir-stap-gids voorberei vir 'n eenvoudige implementering van VPN Load-Balancing Cluster as die mees skaalbare VPN-tegnologie.
Die voorbeeld hieronder sal redelik eenvoudig wees in terme van die verifikasie- en magtigingsalgoritmes wat gebruik word, maar sal 'n goeie opsie wees vir 'n vinnige begin (wat tans nie genoeg is vir baie nie) met die moontlikheid van in-diepte aanpassing by jou behoeftes tydens die ontplooiing proses.
Kort inligting: Skynprivaatnetwerk Load Balancing Cluster-tegnologie is nie 'n failover en nie 'n groeperingsfunksie in sy oorspronklike sin nie, hierdie tegnologie kan heeltemal verskillende ASA-modelle kombineer (met sekere beperkings) om 'n laaibalans van afstandtoegang-VPN-verbindings te laai. Daar is geen sinchronisasie van sessies en konfigurasies tussen die nodusse van so 'n cluster nie, maar dit is moontlik om outomatiese laaibalans VPN-verbindings te laai en fouttoleransie van VPN-verbindings te verseker totdat ten minste een aktiewe nodus in die cluster oorbly. Die las in die cluster word outomaties gebalanseer, afhangende van die werklading van die nodusse deur die aantal VPN-sessies.
Vir failover van spesifieke nodusse van die groepering (indien nodig), kan 'n lêer gebruik word, sodat die aktiewe verbinding deur die Primêre nodus van die lêer hanteer sal word. Die oorlêer is nie 'n noodsaaklike voorwaarde vir die versekering van fouttoleransie binne die Load-Balancing cluster nie, die cluster self, in die geval van 'n nodus mislukking, sal die gebruikersessie na 'n ander lewendige nodus oordra, maar sonder om die verbindingstatus te stoor, wat presies is verskaf deur die lêer. Gevolglik is dit moontlik om, indien nodig, hierdie twee tegnologieë te kombineer.
'n VPN-lasbalanseringskluster kan meer as twee nodusse bevat.
VPN Load-Balancing Cluster word ondersteun op ASA 5512-X en hoër.
Aangesien elke ASA binne die VPN Load-Balancing-kluster 'n onafhanklike eenheid is wat instellings betref, voer ons alle konfigurasiestappe individueel op elke individuele toestel uit.
Ons ontplooi ASAv-gevalle van die sjablone wat ons benodig (ASAv5/10/30/50) vanaf die prent.
Ons ken die BINNE / BUITE-koppelvlakke toe aan dieselfde VLAN's (buite in sy eie VLAN, BINNE in sy eie, maar oor die algemeen binne die groepie, sien die topologie), is dit belangrik dat koppelvlakke van dieselfde tipe in dieselfde L2-segment is.
Lisensies:
Op die oomblik sal die ASAv-installasie geen lisensies hê nie en sal beperk word tot 100kbps.
Om 'n lisensie te installeer, moet jy 'n teken in jou Smart-rekening genereer: https://software.cisco.com/ -> Slim sagteware-lisensiëring
Klik op die knoppie in die venster wat oopmaak Nuwe Token
Maak seker dat daar 'n aktiewe veld in die venster wat oopmaak en 'n regmerkie gemerk is Laat uitvoerbeheerde funksionaliteit toe… Sonder hierdie veld aktief, sal jy nie die funksies van sterk enkripsie en dienooreenkomstig VPN kan gebruik nie. As hierdie veld nie aktief is nie, kontak asseblief jou rekeningspan met 'n aktiveringsversoek.
Nadat u op die knoppie gedruk het Skep teken, 'n teken sal geskep word wat ons sal gebruik om 'n lisensie vir ASAv te bekom, kopieer dit:
Herhaal stappe C,D,E vir elke ontplooide ASAv.
Om dit makliker te maak om die teken te kopieer, laat ons telnet tydelik toe. Kom ons konfigureer elke ASA (die voorbeeld hieronder illustreer die instellings op ASA-1). telnet werk nie met buite nie, as jy dit regtig nodig het, verander sekuriteitsvlak na 100 na buite, en stuur dit dan terug.
!
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
!
Om 'n teken in die Smart-Account-wolk te registreer, moet jy internettoegang vir ASA verskaf, besonderhede hier.
Kortom, ASA is nodig:
toegang via HTTPS tot die internet;
tydsinchronisasie (meer korrek, via NTP);
geregistreerde DNS-bediener;
Ons telnet na ons ASA en maak instellings om die lisensie deur Smart-Account te aktiveer.
!
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>
Ons kyk of die toestel 'n lisensie suksesvol geregistreer het en enkripsie-opsies is beskikbaar:
Stel 'n basiese SSL-VPN op elke poort op
Stel dan toegang op via SSH en 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
!
Vir ASDM om te werk, moet jy dit eers van die cisco.com webwerf aflaai, in my geval is dit die volgende lêer:
Vir die AnyConnect-kliënt om te werk, moet jy 'n prent na elke ASA oplaai vir elke rekenaarkliënt-bedryfstelsel wat gebruik word (beplan om Linux / Windows / MAC te gebruik), jy sal 'n lêer nodig hê met Koppunt-ontplooiingspakket In die titel:
Die afgelaaide lêers kan byvoorbeeld na 'n FTP-bediener opgelaai word en na elke individuele ASA opgelaai word:
Ons konfigureer ASDM en Self-Signed sertifikaat vir SSL-VPN (dit word aanbeveel om 'n betroubare sertifikaat in produksie te gebruik). Die vasgestelde FQDN van die virtuele groepadres (vpn-demo.ashes.cc), sowel as elke FQDN wat met die eksterne adres van elke groepnodus geassosieer word, moet in die eksterne DNS-sone na die IP-adres van die BUITE-koppelvlak (of na die gekarteerde adres as poortaanstuur udp/443 gebruik word (DTLS) en tcp/443(TLS)). Gedetailleerde inligting oor die vereistes vir die sertifikaat word in die afdeling gespesifiseer Sertifikaatverifikasie dokumentasie.
!
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
Moenie vergeet om die poort te spesifiseer om seker te maak ASDM werk nie, byvoorbeeld:
Kom ons voer die basiese instellings van die tonnel uit:
Kom ons maak die korporatiewe netwerk beskikbaar deur die tonnel, en laat die internet direk gaan (nie die veiligste metode as daar geen beskerming op die verbindende gasheer is nie, dit is moontlik om deur 'n besmette gasheer te penetreer en korporatiewe data te vertoon, opsie verdeel-tonnel-beleid tonnelall sal alle gasheerverkeer die tonnel inlaat. Nietemin gesplete tonnel maak dit moontlik om die VPN-poort af te laai en nie gasheerinternetverkeer te verwerk nie)
Kom ons reik adresse uit die 192.168.20.0/24 subnet aan gashere in die tonnel (poel van 10 tot 30 adresse (vir nodus #1)). Elke nodus van die VPN-kluster moet sy eie poel hê.
Ons sal basiese verifikasie uitvoer met 'n plaaslik geskepde gebruiker op die ASA (Dit word nie aanbeveel nie, dit is die maklikste metode), dit is beter om verifikasie te doen deur LDAP/RADIUS, of nog beter, das Multi-faktor-verifikasie (MFA)byvoorbeeld Cisco DUO.
(OPSIONEEL): In die voorbeeld hierbo het ons 'n plaaslike gebruiker op die ITU gebruik om afgeleë gebruikers te verifieer, wat natuurlik, behalwe in die laboratorium, swak toepaslik is. Ek sal 'n voorbeeld gee van hoe om die instelling vir verifikasie vinnig aan te pas RADIUS bediener, byvoorbeeld gebruik Cisco Identity Services Engine:
Hierdie integrasie het dit moontlik gemaak om nie net die verifikasieprosedure vinnig met die AD-gidsdiens te integreer nie, maar ook om te onderskei of die gekoppelde rekenaar aan AD behoort, om te verstaan of hierdie toestel korporatief of persoonlik is, en om die status van die gekoppelde toestel te assesseer .
Kom ons stel deursigtige NAT op sodat die verkeer tussen die kliënt en die hulpbronne van die korporatiewe netwerknetwerk nie gekrabbel word nie:
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
(OPSIONEEL): Ten einde ons kliënte aan die internet bloot te stel deur die ASA (wanneer gebruik word tonnel opsies) deur PAT te gebruik, sowel as om deur dieselfde BUITE-koppelvlak te gaan waaruit hulle gekoppel is, moet jy die volgende instellings maak
Wanneer 'n cluster gebruik word, is dit uiters belangrik om die interne netwerk in staat te stel om te verstaan watter ASA terugvoerverkeer na gebruikers moet stuur, hiervoor moet jy roetes / 32 adresse uitgereik aan kliënte herverdeel.
Op die oomblik het ons nog nie die cluster gekonfigureer nie, maar ons het reeds werkende VPN-poorte wat individueel via FQDN of IP verbind kan word.
Ons sien die gekoppelde kliënt in die roeteringtabel van die eerste ASA:
Sodat ons hele VPN-kluster en die hele korporatiewe netwerk die roete na ons kliënt kan ken, sal ons die kliëntvoorvoegsel herverdeel na 'n dinamiese roeteringprotokol, byvoorbeeld OSPF:
Nou het ons 'n roete na die kliënt vanaf die tweede ASA-2-poort en gebruikers wat aan verskillende VPN-poorte binne die groepering gekoppel is, kan byvoorbeeld direk deur 'n korporatiewe sagtefoon kommunikeer, asook verkeer terugstuur vanaf die hulpbronne wat deur die gebruiker versoek word. kom na die gewenste VPN-poort:
Kom ons gaan voort met die opstel van die Load-Balancing cluster.
Die adres 192.168.31.40 sal as 'n virtuele IP gebruik word (VIP - alle VPN-kliënte sal aanvanklik daaraan koppel), vanaf hierdie adres sal die Meester-kluster 'n HERDIREK na 'n minder gelaaide groepknoop maak. Moenie vergeet om te skryf nie vorentoe en omgekeerde DNS-rekord beide vir elke eksterne adres / FQDN van elke nodus van die cluster, en vir VIP.
Ons kontroleer die werking van die groepering met twee gekoppelde kliënte:
Kom ons maak die kliënt-ervaring geriefliker met die outomaties gelaaide AnyConnect-profiel via ASDM.
Ons benoem die profiel op 'n gerieflike manier en assosieer ons groepbeleid daarmee:
Na die volgende verbinding van die kliënt, sal hierdie profiel outomaties afgelaai en in die AnyConnect-kliënt geïnstalleer word, so as jy moet koppel, moet jy dit net uit die lys kies:
Aangesien ons hierdie profiel op slegs een ASA geskep het met ASDM, moenie vergeet om die stappe op die ander ASA's in die groep te herhaal nie.
Gevolgtrekking: Ons het dus vinnig 'n groep van verskeie VPN-poorte met outomatiese lasbalansering ontplooi. Dit is maklik om nuwe nodusse by die groepering te voeg, met eenvoudige horisontale skaal deur nuwe ASAv virtuele masjiene te ontplooi of hardeware ASA's te gebruik. Die kenmerkryke AnyConnect-kliënt kan veilige afstandverbinding aansienlik verbeter deur die Postuur (staatsberamings), mees effektief gebruik in samewerking met die stelsel van gesentraliseerde beheer en toegangsrekeningkunde Identiteitsdienste-enjin.