Tässä artikkelissa haluan antaa vaiheittaiset ohjeet siitä, kuinka voit ottaa nopeasti käyttöön tällä hetkellä skaalautuvimman järjestelmän. Etäkäyttö VPN pääsyyn perustuva AnyConnect ja Cisco ASA - VPN-kuormituksen tasapainotusklusteri.
Johdanto: Monet yritykset ympäri maailmaa pyrkivät nykyisen COVID-19-tilanteen vuoksi siirtämään työntekijänsä etätöihin. Johtuen joukkosiirtymästä etätyöhön, yritysten olemassa olevien VPN-yhdyskäytävien kuormitus kasvaa kriittisesti ja vaaditaan erittäin nopeaa kykyä skaalata niitä. Toisaalta monet yritykset joutuvat hätäisesti omaksumaan etätyön käsitteen tyhjästä.
Alla oleva esimerkki on melko yksinkertainen käytettävien todennus- ja valtuutusalgoritmien suhteen, mutta se on hyvä vaihtoehto nopeaan alkuun (mikä ei tällä hetkellä riitä monille), koska sitä voidaan mukauttaa perusteellisesti tarpeisiisi käyttöönoton aikana. käsitellä asiaa.
Lyhyt tiedot: VPN Load Balancing Cluster -tekniikka ei ole vikasiirtymä eikä klusterointitoiminto alkuperäisessä merkityksessään, vaan tämä tekniikka voi yhdistää täysin erilaisia ASA-malleja (tietyin rajoituksin) kuormituksen tasapainottamiseksi Remote-Access VPN -yhteyksissä. Sellaisen klusterin solmujen välillä ei tapahdu istuntojen ja konfiguraatioiden synkronointia, mutta VPN-yhteyksien kuormitustasapaino on mahdollista automaattisesti varmistaa ja VPN-yhteyksien vikasietoisuus, kunnes klusteriin jää vähintään yksi aktiivinen solmu. Klusterin kuormitus tasapainotetaan automaattisesti solmujen työkuorman mukaan VPN-istuntojen lukumäärällä.
Klusterin tiettyjen solmujen vikasietoa varten (tarvittaessa) voidaan käyttää tiedostoa, joten tiedostojen ensisijainen solmu hoitaa aktiivisen yhteyden. Tiedostonvaihto ei ole välttämätön ehto Load-Balancing-klusterin vikasietokyvyn varmistamiseksi, vaan klusteri itse siirtää solmun vian sattuessa käyttäjäistunnon toiseen live-solmuun, mutta tallentamatta yhteyden tilaa, joka on juuri toimittaja. Näin ollen on mahdollista tarvittaessa yhdistää nämä kaksi tekniikkaa.
VPN Load-Balancing -klusteri voi sisältää enemmän kuin kaksi solmua.
VPN Load-Balancing Cluster on tuettu ASA 5512-X:ssä ja uudemmissa.
Koska jokainen VPN Load-Balancing -klusterin ASA on asetukseltaan itsenäinen yksikkö, teemme kaikki konfigurointivaiheet erikseen jokaisessa yksittäisessä laitteessa.
Otamme käyttöön ASAv-esiintymät tarvitsemistamme malleista (ASAv5/10/30/50) kuvasta.
Määritämme INSIDE / OUTSIDE-liitännät samoihin VLAN-verkkoihin (Ulkopuolella omassa VLANissa, INSIDE omassa, mutta yleensä klusterin sisällä, katso topologia), on tärkeää, että samantyyppiset rajapinnat ovat samassa L2-segmentissä.
lisenssi:
Tällä hetkellä ASAv-asennuksella ei ole lisenssejä ja se rajoitetaan 100 kbps:iin.
Lisenssin asentamiseksi sinun on luotava tunnus Smart-tilillesi: https://software.cisco.com/ -> Älykäs ohjelmiston lisensointi
Napsauta avautuvassa ikkunassa -painiketta Uusi Token
Varmista, että avautuvassa ikkunassa on aktiivinen kenttä ja valintamerkki on valittuna Salli vientiohjatut toiminnot… Jos tämä kenttä ei ole aktiivinen, et voi käyttää vahvan salauksen ja vastaavasti VPN:n toimintoja. Jos tämä kenttä ei ole aktiivinen, ota yhteyttä tilitiimiisi ja pyydä aktivointipyyntö.
Kun olet painanut painiketta Luo tunnus, luodaan tunnus, jota käytämme ASAv-lisenssin hankkimiseen, kopioi se:
Toista vaiheet C, D, E jokaiselle käyttöönotetulle ASAv:lle.
Tokenin kopioimisen helpottamiseksi sallitaan tilapäisesti telnet. Määritetään jokainen ASA (alla oleva esimerkki havainnollistaa ASA-1:n asetuksia). Telnet ei toimi ulkopuolisten kanssa, jos todella tarvitset sitä, vaihda suojaustasoksi 100 ulkopuoliseksi ja palauta se sitten takaisin.
!
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
!
Jotta voit rekisteröidä tunnuksen Smart-Account-pilveen, sinun on tarjottava ASA:lle Internet-yhteys, yksityiskohdat täältä.
Lyhyesti sanottuna ASA:ta tarvitaan:
pääsy Internetiin HTTPS:n kautta;
ajan synkronointi (oikein, NTP:n kautta);
rekisteröity DNS-palvelin;
Telnetimme ASA:han ja teemme asetukset aktivoidaksemme lisenssin Smart-Accountin kautta.
!
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>
Tarkistamme, että laite on rekisteröinyt lisenssin onnistuneesti ja salausvaihtoehdot ovat käytettävissä:
Määritä perus-SSL-VPN jokaiselle yhdyskäytävälle
Määritä seuraavaksi pääsy SSH:n ja ASDM:n kautta:
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
!
Jotta ASDM toimisi, sinun on ensin ladattava se cisco.com-sivustolta, minun tapauksessani se on seuraava tiedosto:
Jotta AnyConnect-asiakasohjelma toimisi, sinun on ladattava kuva jokaiseen ASA:han kullekin käytetylle asiakastietokoneen käyttöjärjestelmälle (suunniteltu käytettäväksi Linux / Windows / MAC), tarvitset tiedoston Headend-käyttöönottopaketti Otsikossa:
Ladatut tiedostot voidaan ladata esimerkiksi FTP-palvelimelle ja jokaiseen yksittäiseen ASA:han:
Määritämme ASDM- ja Self-Signed-sertifikaatin SSL-VPN:lle (tuotannossa on suositeltavaa käyttää luotettua varmennetta). Virtuaaliklusterin osoitteen (vpn-demo.ashes.cc) asetetun FQDN:n sekä jokaisen klusterisolmun ulkoiseen osoitteeseen liittyvän FQDN:n tulee ratkaista ulkoisessa DNS-vyöhykkeessä ULKOliittymän IP-osoitteeksi (tai yhdistettyyn osoitteeseen, jos käytetään portin edelleenohjausta udp/443 (DTLS) ja tcp/443(TLS)). Tarkemmat tiedot sertifikaatin vaatimuksista on kuvattu kohdassa Varmenteen varmennus dokumentointi.
!
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
Älä unohda määrittää porttia tarkistaaksesi, että ASDM toimii, esimerkiksi:
Suoritetaan tunnelin perusasetukset:
Tehdään yritysverkko saataville tunnelin kautta ja annetaan Internet mennä suoraan (ei turvallisin tapa, jos yhdistävässä isännässä ei ole suojauksia, on mahdollista tunkeutua tartunnan saaneen isännän läpi ja näyttää yritystiedot, vaihtoehto split-tunnel-policy tunnell päästää kaiken isäntäliikenteen tunneliin. tästä huolimatta jaettu tunneli mahdollistaa VPN-yhdyskäytävän purkamisen eikä isäntä-Internet-liikenteen käsittelyä)
Myönnetään osoitteet aliverkosta 192.168.20.0/24 tunnelin isäntäkoneille (varasto 10 - 30 osoitetta (solmulle #1)). Jokaisella VPN-klusterin solmulla on oltava oma poolinsa.
Suoritamme perustodennuksen paikallisesti luodun käyttäjän kanssa ASA:ssa (tätä ei suositella, tämä on helpoin tapa), on parempi tehdä todennus kautta LDAP/SÄDEtai vielä parempaa, solmio Monitekijäinen todennus (MFA), Esim Cisco DUO.
(VALINNAINEN): Yllä olevassa esimerkissä käytimme paikallista käyttäjää ITU:ssa etäkäyttäjien todentamiseen, mikä tietysti laboratoriota lukuun ottamatta on huonosti sovellettavissa. Annan esimerkin kuinka nopeasti mukauttaa todennusasetus SÄDE käytetään esimerkiksi palvelinta Cisco Identity Services -moottori:
Tämä integrointi mahdollisti paitsi nopean todennusmenettelyn integroinnin AD-hakemistopalveluun, myös sen erottamisen, kuuluuko yhdistetty tietokone AD:lle, ymmärtää, onko tämä laite yritys vai henkilökohtainen, ja arvioida yhdistetyn laitteen tilaa. .
Määritetään Transparent NAT niin, että asiakkaan ja yrityksen verkkoverkon resurssien välistä liikennettä ei kirjoiteta:
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
(VALINNAINEN): Altistaaksemme asiakkaamme Internetin ASA:n kautta (käytettäessä tunnellall valinnat) PAT:n avulla sekä poistuminen saman ULKOPUOLISEN liitännän kautta, josta ne on kytketty, sinun on tehtävä seuraavat asetukset
Klusteria käytettäessä on erittäin tärkeää, että sisäinen verkko ymmärtää, mikä ASA reitittää paluuliikenteen käyttäjille, tätä varten sinun on jaettava uudelleen reitit / 32 asiakkaille myönnettyä osoitetta.
Tällä hetkellä emme ole vielä määrittäneet klusteria, mutta meillä on jo toimivat VPN-yhdyskäytävät, jotka voidaan liittää yksitellen FQDN:n tai IP:n kautta.
Näemme yhdistetyn asiakkaan ensimmäisen ASA:n reititystaulukossa:
Jotta koko VPN-klusterimme ja koko yritysverkko tietäisivät reitin asiakkaallemme, jaamme asiakasetuliitteen uudelleen dynaamiseksi reititysprotokollaksi, esimerkiksi OSPF:ksi:
Nyt meillä on reitti asiakkaalle toisesta ASA-2-yhdyskäytävästä ja klusterin eri VPN-yhdyskäytäviin yhdistetyt käyttäjät voivat esimerkiksi kommunikoida suoraan yrityksen softphonen kautta sekä palauttaa liikennettä käyttäjän pyytämiltä resursseista. tule haluamaasi VPN-yhdyskäytävään:
Osoitetta 192.168.31.40 käytetään virtuaalisena IP-osoitteena (VIP - kaikki VPN-asiakkaat muodostavat siihen aluksi yhteyden), tästä osoitteesta pääklusteri tekee REDIRECTin vähemmän kuormitettuun klusterisolmuun. Älä unohda kirjoittaa eteenpäin ja taaksepäin DNS-tietue sekä klusterin kunkin solmun jokaiselle ulkoiselle osoitteelle / FQDN:lle että VIP:lle.
Tarkistamme klusterin toiminnan kahdella yhdistetyllä asiakkaalla:
Tehdään asiakaskokemuksesta mukavampi ASDM:n kautta automaattisesti ladattavalla AnyConnect-profiililla.
Nimeämme profiilin kätevällä tavalla ja yhdistämme siihen ryhmäkäytäntömme:
Asiakkaan seuraavan yhteyden jälkeen tämä profiili ladataan ja asennetaan automaattisesti AnyConnect-asiakasohjelmaan, joten jos haluat muodostaa yhteyden, valitse se luettelosta:
Koska loimme tämän profiilin vain yhdelle ASA:lle ASDM:n avulla, älä unohda toistaa vaiheita muille klusterin ASA:ille.
Johtopäätös: Näin ollen otimme nopeasti käyttöön useita VPN-yhdyskäytäviä sisältävän klusterin automaattisen kuormituksen tasapainotuksen kanssa. Uusien solmujen lisääminen klusteriin on helppoa yksinkertaisella vaakasuuntaisella skaalauksella ottamalla käyttöön uusia ASAv-virtuaalikoneita tai käyttämällä laitteisto-ASA:ita. Monipuolinen AnyConnect-asiakasohjelma voi parantaa huomattavasti suojattua etäyhteyttä käyttämällä Asento (tilaarviot), jota käytetään tehokkaimmin yhdessä keskitetyn ohjaus- ja käyttökirjanpitojärjestelmän kanssa Identiteettipalveluiden moottori.