Selles artiklis tahaksin anda samm-sammult juhised selle kohta, kuidas saate kiiresti juurutada hetkel kõige skaleeritavama skeemi. Kaugjuurdepääsu VPN juurdepääsupõhine AnyConnect ja Cisco ASA - VPN-i koormuse tasakaalustamise klaster.
Sissejuhatus: Paljud ettevõtted üle maailma teevad COVID-19 praegust olukorda silmas pidades jõupingutusi, et viia oma töötajad üle kaugtööle. Seoses massilise üleminekuga kaugtööle suureneb ettevõtete olemasolevate VPN-lüüside koormus kriitiliselt ning vajalik on väga kiire suutlikkus neid skaleerida. Teisest küljest on paljud ettevõtted sunnitud kaugtöö kontseptsiooni kiiresti nullist omandama.
Olen koostanud samm-sammulise juhendi VPN-i koormuse tasakaalustamise klastri kui kõige skaleeritavama VPN-tehnoloogia lihtsaks juurutamiseks.
Allolev näide on kasutatavate autentimis- ja autoriseerimisalgoritmide osas üsna lihtne, kuid on hea võimalus kiireks alustamiseks (mis praegu paljudele ei ole piisav) koos võimalusega juurutamise ajal põhjalikult kohandada oma vajadustega. protsessi.
Lühiteave: VPN Load Balancing Cluster tehnoloogia ei ole tõrkesiirde ega klastrite funktsioon selle loomulikus tähenduses, see tehnoloogia võib kombineerida täiesti erinevaid ASA mudeleid (teatud piirangutega), et tasakaalustada kaugjuurdepääsu VPN-ühendusi. Sellise klastri sõlmede vahel ei toimu seansside ja konfiguratsioonide sünkroonimist, kuid VPN-ühendusi on võimalik automaatselt koormata ja tagada VPN-ühenduste tõrketaluvus seni, kuni klastrisse jääb vähemalt üks aktiivne sõlm. Koormus klastris tasakaalustatakse automaatselt sõltuvalt sõlmede töökoormusest VPN-i seansside arvuga.
Klastri konkreetsete sõlmede tõrkesiirde jaoks (vajadusel) saab kasutada failirit, nii et aktiivset ühendust haldab failiri esmane sõlm. Fileover ei ole Load-Balancing klastri tõrketaluvuse tagamiseks vajalik tingimus, sõlme rikke korral kannab klaster ise kasutaja seansi üle teise aktiivsesse sõlme, kuid ühenduse olekut salvestamata, mis on täpselt esitaja. Sellest lähtuvalt on võimalik neid kahte tehnoloogiat vajadusel kombineerida.
VPN-i koormuse tasakaalustamise klaster võib sisaldada rohkem kui kahte sõlme.
VPN-i koormuse tasakaalustamise klastrit toetavad ASA 5512-X ja uuemad.
Kuna VPN Load-Balancing klastri iga ASA on seadistuste osas iseseisev üksus, teostame kõik konfiguratsioonietapid igas seadmes eraldi.
INSIDE / OUTSIDE liidesed määrame samadele VLAN-idele (Väljas oma VLAN-is, INSIDE omas, aga üldiselt klastri sees, vaata topoloogiat), on oluline, et sama tüüpi liidesed oleksid samas L2 segmendis.
Litsentsid:
Hetkel ei ole ASAv-i installil litsentse ja see piirdub kiirusega 100 kbit/s.
Litsentsi installimiseks peate oma Smart-kontol looma märgi: https://software.cisco.com/ -> Tarkvara litsentsimine
Avanevas aknas klõpsake nuppu Uus märk
Veenduge, et avanevas aknas oleks aktiivne väli ja linnuke on märgitud Luba ekspordiga juhitavad funktsioonid… Kui see väli pole aktiivne, ei saa te kasutada tugeva krüptimise ja vastavalt VPN-i funktsioone. Kui see väli pole aktiivne, võtke aktiveerimistaotlusega ühendust oma kontomeeskonnaga.
Pärast nupu vajutamist Loo Token, luuakse tunnus, mida kasutame ASAv litsentsi saamiseks, kopeerige see:
Korrake samme C, D, E iga juurutatud ASAv jaoks.
Tokeni kopeerimise hõlbustamiseks lubame ajutiselt telneti. Konfigureerime iga ASA (allpool olev näide illustreerib ASA-1 sätteid). telnet ei tööta väljastpoolt, kui seda tõesti vajad, muuda turvatase 100-ks väljapoole, siis tagasta see 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
!
Telnetime oma ASA-ga ja teeme sätted 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
!
! Проверим работу 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>
Kontrollime, kas seade on litsentsi edukalt registreerinud ja krüpteerimisvalikud on saadaval:
Seadistage igas lüüsis põhiline SSL-VPN
Järgmisena konfigureerige juurdepääs SSH ja ASDM-i 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
!
! Поднимем сервер HTTPS для ASDM на порту 445 чтобы не пересекаться с SSL-VPN порталом
!
vpn-demo-1(config)# http server enable 445
!
ASDM-i toimimiseks peate selle esmalt alla laadima veebisaidilt cisco.com, minu puhul on see järgmine fail:
AnyConnecti kliendi töötamiseks peate iga kasutatava kliendi töölaua OS-i jaoks üles laadima pildi igasse ASA-sse (kavandatakse kasutada Linuxi / Windowsi / MAC-i), vajate faili Headendi juurutuspakett Pealkirjas:
Allalaaditud faile saab üles laadida näiteks FTP-serverisse ja üles laadida igasse ASA-sse:
Konfigureerime SSL-VPN jaoks ASDM ja Self-Signed sertifikaadi (tootmises on soovitatav kasutada usaldusväärset sertifikaati). Virtuaalse klastri aadressi (vpn-demo.ashes.cc) määratud FQDN ja iga klastri sõlme välisaadressiga seotud FQDN peavad välises DNS-i tsoonis lahendama VÄLISliidese IP-aadressi (või vastendatud aadressile, kui kasutatakse pordi edastamist udp/443 (DTLS) ja tcp/443 (TLS)). Üksikasjalik teave sertifikaadile esitatavate nõuete kohta on toodud jaotises Sertifikaadi kontrollimine dokumentatsioon.
!
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
Ärge unustage ASDM-i töö kontrollimiseks määrata porti, näiteks:
Teeme tunneli põhiseaded:
Teeme ettevõtte võrgu tunneli kaudu kättesaadavaks ja laseme Internetil otse minna (pole kõige turvalisem meetod, kui ühendaval hostil pole kaitseid, on võimalik tungida läbi nakatunud hosti ja kuvada ettevõtte andmeid, valik split-tunnel-policy tunnell laseb kogu hostiliikluse tunnelisse. Sellest hoolimata jagatud tunnel võimaldab VPN-lüüsi maha laadida ja hosti Interneti-liiklust mitte töödelda)
Väljastame tunnelis olevatele hostidele aadressid alamvõrgust 192.168.20.0/24 (kogum 10 kuni 30 aadressi (sõlme nr 1 jaoks)). Igal VPN-i klastri sõlmel peab olema oma bassein.
Põhiautentimise teostame ASA-s kohapeal loodud kasutajaga (see pole soovitatav, see on kõige lihtsam meetod), parem on autentimine läbi LDAP/RADIUS, või veel parem, lips Mitmefaktoriline autentimine (MFA)Näiteks Cisco DUO.
(VALIKULINE): Ülaltoodud näites kasutasime kaugkasutajate autentimiseks ITU kohalikku kasutajat, mis on muidugi halvasti rakendatav, välja arvatud laboris. Toon näite, kuidas autentimise seadet kiiresti kohandada RADIUS kasutatakse näiteks serverit Cisco identiteediteenuste mootor:
See integreerimine võimaldas mitte ainult kiiresti integreerida autentimisprotseduuri AD kataloogiteenusega, vaid ka eristada, kas ühendatud arvuti kuulub AD-le, mõista, kas see seade on ettevõtte või isiklik, ja hinnata ühendatud seadme olekut. .
Seadistame läbipaistva NAT-i nii, et kliendi ja ettevõtte võrguvõrgu ressursside vaheline liiklus ei oleks kritseldatud:
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): Oma klientidele ASA kaudu Internetti avaldamiseks (kui kasutate tunnell valikud) kasutades PAT-i ja väljudes sama VÄLJALIIDES-liidese kaudu, millest need on ühendatud, peate tegema järgmised sätted
Klastri kasutamisel on äärmiselt oluline võimaldada sisevõrgul aru saada, milline ASA suunab liikluse kasutajatele tagasi suunama, selleks on vaja klientidele väljastatud marsruute / 32 aadressi ümber jagada.
Hetkel pole me veel klastrit konfigureerinud, kuid meil on juba töötavad VPN-lüüsid, mida saab FQDN-i või IP kaudu eraldi ühendada.
Ühendatud klienti näeme esimese ASA marsruutimistabelis:
Selleks, et kogu meie VPN-klaster ja kogu ettevõtte võrk teaks marsruuti meie kliendini, jaotame kliendi prefiksi ümber dünaamilise marsruutimisprotokolli, näiteks OSPF-i:
Nüüd on meil marsruut kliendini teisest ASA-2 lüüsist ja klastri erinevate VPN-lüüsidega ühendatud kasutajad saavad näiteks suhelda otse ettevõtte tarkvaratelefoni kaudu, samuti tagastada liiklust kasutaja soovitud ressurssidest. minge soovitud VPN-lüüsi:
Liigume edasi koormuse tasakaalustamise klastri konfigureerimise juurde.
Aadressi 192.168.31.40 kasutatakse virtuaalse IP-na (VIP - kõik VPN-i kliendid loovad sellega algselt ühenduse), sellelt aadressilt teeb põhiklaster REDIRECT-i vähem koormatud klastri sõlme. Ärge unustage kirjutada edasi- ja tagurpidi DNS-kirje nii klastri iga sõlme iga välisaadressi / FQDN-i kui ka VIP-i jaoks.
Kontrollime klastri toimimist kahe ühendatud kliendiga:
Muudame kliendikogemuse mugavamaks ASDM-i kaudu automaatselt laaditava AnyConnecti profiiliga.
Nimetame profiili mugaval viisil ja seostame sellega oma rühmapoliitika:
Pärast kliendi järgmist ühendamist laaditakse see profiil automaatselt alla ja installitakse AnyConnecti klienti, nii et kui teil on vaja ühenduse luua, peate selle lihtsalt loendist valima:
Kuna lõime selle profiili ainult ühes ASA-s, kasutades ASDM-i, ärge unustage samme korrata klastri teiste ASA-de puhul.
Järeldus: Seega juurutasime kiiresti mitme VPN-lüüsi klastri koos automaatse koormuse tasakaalustamisega. Uute sõlmede lisamine klastrisse on lihtne, kasutades lihtsat horisontaalset skaleerimist uute ASAv-i virtuaalmasinate juurutamise või riistvara-ASA-de abil. Funktsiooniderikas AnyConnecti klient võib oluliselt parandada turvalist kaugühendust, kasutades Asend (seisundi hinnangud), mida kasutatakse kõige tõhusamalt koos tsentraliseeritud kontrolli ja juurdepääsuarvestuse süsteemiga Identiteediteenuste mootor.