V tomto článku bych rád poskytl podrobné pokyny, jak můžete rychle nasadit aktuálně nejvíce škálovatelné schéma. Vzdálený přístup VPN přístup založený AnyConnect a Cisco ASA - Cluster pro vyrovnávání zatížení VPN.
Úvod: Mnoho společností po celém světě se s ohledem na současnou situaci s COVID-19 snaží převést své zaměstnance na práci na dálku. Vzhledem k masovému přechodu na práci na dálku kriticky roste zatížení stávajících VPN bran společností a je vyžadována velmi rychlá schopnost jejich škálování. Na druhou stranu je mnoho společností nuceno narychlo zvládnout koncept práce na dálku od nuly.
Připravil jsem průvodce krok za krokem pro jednoduché nasazení VPN Load-Balancing Cluster jako nejškálovatelnější technologie VPN.
Níže uvedený příklad bude poměrně jednoduchý z hlediska použitých autentizačních a autorizačních algoritmů, ale bude dobrou volbou pro rychlý start (který v současnosti mnohým nestačí) s možností hloubkového přizpůsobení vašim potřebám během nasazení proces.
stručná informace: Technologie VPN Load Balancing Cluster není převzetím služeb při selhání a není funkcí clusteringu v nativním smyslu, tato technologie může kombinovat zcela odlišné modely ASA (s určitými omezeními) za účelem vyvážení zatížení VPN připojení se vzdáleným přístupem. Mezi uzly takového clusteru nedochází k synchronizaci relací a konfigurací, ale je možné automaticky vyrovnávat zatížení VPN spojení a zajistit odolnost VPN spojení proti chybám, dokud v clusteru nezůstane alespoň jeden aktivní uzel. Zátěž v clusteru se automaticky vyrovnává v závislosti na vytížení uzlů počtem relací VPN.
Pro převzetí služeb při selhání konkrétních uzlů clusteru (v případě potřeby) lze použít filer, takže aktivní připojení bude obsluhovat Primární uzel fileru. Fileover není nezbytnou podmínkou pro zajištění odolnosti proti chybám v rámci clusteru Load-Balancing, samotný cluster v případě selhání uzlu přenese uživatelskou relaci do jiného živého uzlu, ale bez uložení stavu připojení, což je přesně poskytnutý souborem. V souladu s tím je možné v případě potřeby tyto dvě technologie kombinovat.
Cluster pro vyrovnávání zatížení VPN může obsahovat více než dva uzly.
Cluster pro vyrovnávání zatížení VPN je podporován na ASA 5512-X a vyšších.
Vzhledem k tomu, že každé ASA v rámci clusteru VPN Load-Balancing je samostatnou jednotkou z hlediska nastavení, provádíme všechny kroky konfigurace individuálně na každém jednotlivém zařízení.
Nasazujeme instance ASAv šablon, které potřebujeme (ASAv5/10/30/50) z obrázku.
Rozhraní INSIDE / OUTSIDE přiřazujeme stejným VLAN (mimo ve vlastní VLAN, INSIDE ve vlastní, ale obecně v rámci clusteru, viz topologie), důležité je, aby rozhraní stejného typu byla ve stejném segmentu L2.
Licence:
V tuto chvíli instalace ASAv nebude mít žádné licence a bude omezena na 100 kbps.
Chcete-li nainstalovat licenci, musíte ve svém účtu Smart-Account vygenerovat token: https://software.cisco.com/ -> Chytré licencování softwaru
V okně, které se otevře, klikněte na tlačítko Nový token
Ujistěte se, že v okně, které se otevře, je aktivní pole a že je zaškrtnuto Povolit funkce řízené exportem… Bez aktivního tohoto pole nebudete moci používat funkce silného šifrování a tedy ani VPN. Pokud toto pole není aktivní, obraťte se na svůj tým účtu s požadavkem na aktivaci.
Po stisknutí tlačítka Vytvořit token, vytvoří se token, který použijeme k získání licence pro ASAv, zkopírujte jej:
Opakujte kroky C, D, E pro každý nasazený ASAv.
Aby bylo kopírování tokenu snazší, dočasně povolme telnet. Pojďme nakonfigurovat každý ASA (příklad níže ukazuje nastavení na ASA-1). telnet nefunguje s vnějškem, pokud to opravdu potřebujete, změňte úroveň zabezpečení na 100 na vnější a vraťte ji zpět.
!
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
!
Chcete-li zaregistrovat token v cloudu Smart-Account, musíte ASA poskytnout přístup k internetu, podrobnosti zde.
Stručně řečeno, ASA je potřeba:
přístup přes HTTPS k internetu;
synchronizace času (přesněji přes NTP);
registrovaný DNS server;
Připojíme telnet k našemu ASA a provedeme nastavení pro aktivaci licence prostřednictvím 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>
Zkontrolujeme, že zařízení úspěšně zaregistrovalo licenci a jsou k dispozici možnosti šifrování:
Na každé bráně nastavte základní SSL-VPN
Dále nakonfigurujte přístup přes SSH a 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
!
Aby ASDM fungovalo, musíte si jej nejprve stáhnout z webu cisco.com, v mém případě je to následující soubor:
Aby klient AnyConnect fungoval, musíte do každého ASA nahrát obrázek pro každý použitý klientský desktopový OS (plánováno používat Linux / Windows / MAC), budete potřebovat soubor s Balíček nasazení koncové stanice V názvu:
Stažené soubory lze nahrát například na server FTP a nahrát do každého jednotlivého ASA:
Nakonfigurujeme ASDM a Self-Signed certifikát pro SSL-VPN (doporučujeme používat důvěryhodný certifikát ve výrobě). Nastavený FQDN adresy virtuálního klastru (vpn-demo.ashes.cc), stejně jako každý FQDN spojený s externí adresou každého uzlu klastru, se musí v externí zóně DNS přeložit na IP adresu rozhraní OUTSIDE (nebo na mapovanou adresu, pokud je použito přesměrování portů udp/443 (DTLS) a tcp/443(TLS)). Podrobné informace o požadavcích na certifikát jsou uvedeny v sekci Ověření certifikátu dokumentace.
!
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
Nezapomeňte zadat port pro kontrolu funkčnosti ASDM, například:
Provedeme základní nastavení tunelu:
Zpřístupněme firemní síť tunelem a nechme jít přímo Internet (není to nejbezpečnější metoda, pokud na připojujícím se hostiteli nejsou žádné ochrany, je možné proniknout přes infikovaný hostitel a zobrazit firemní data, možnost split-tunnel-policy tunnelall pustí veškerý hostitelský provoz do tunelu. Nicméně dělený tunel umožňuje snížit zátěž brány VPN a nezpracovávat hostitelský internetový provoz)
Vydejme adresy z podsítě 192.168.20.0/24 hostitelům v tunelu (soubor od 10 do 30 adres (pro uzel č. 1)). Každý uzel clusteru VPN musí mít svůj vlastní fond.
Základní autentizaci provedeme s lokálně vytvořeným uživatelem na ASA (toto se nedoporučuje, je to nejjednodušší způsob), je lepší provést autentizaci přes LDAP/RADIUS, nebo ještě lépe kravatu Multi-Factor Authentication (MFA)Např Cisco DUO.
(VOLITELNÝ): Ve výše uvedeném příkladu jsme použili místního uživatele na ITU k ověření vzdálených uživatelů, což je samozřejmě kromě laboratoře špatně použitelné. Uvedu příklad, jak rychle přizpůsobit nastavení pro autentizaci POLOMĚR server, například použitý Cisco Identity Services Engine:
Tato integrace umožnila nejen rychle integrovat autentizační proceduru s adresářovou službou AD, ale také rozlišit, zda připojený počítač patří AD, pochopit, zda je toto zařízení firemní nebo osobní, a posoudit stav připojeného zařízení. .
Nakonfigurujeme Transparent NAT tak, aby provoz mezi klientem a prostředky podnikové sítě nebyl načmárován:
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
(VOLITELNÝ): Abychom mohli naše klienty vystavit internetu prostřednictvím ASA (při použití tunelall možnosti) pomocí PAT, stejně jako výstup přes stejné VNĚJŠÍ rozhraní, ze kterého jsou připojeni, musíte provést následující nastavení
Při použití clusteru je nesmírně důležité umožnit interní síti, aby pochopila, které ASA má směrovat zpětný provoz k uživatelům, k tomu je třeba přerozdělit trasy / 32 adres vydaných klientům.
V tuto chvíli ještě nemáme nakonfigurovaný cluster, ale již máme funkční VPN brány, které lze individuálně připojit přes FQDN nebo IP.
Připojeného klienta vidíme ve směrovací tabulce prvního ASA:
Aby celý náš VPN cluster a celá podniková síť znaly cestu k našemu klientovi, přerozdělíme prefix klienta do dynamického směrovacího protokolu, například OSPF:
Nyní máme cestu ke klientovi z druhé brány ASA-2 a uživatelé připojení k různým branám VPN v rámci clusteru mohou například komunikovat přímo prostřednictvím podnikového softwarového telefonu a také vracet provoz ze zdrojů požadovaných uživatelem. přejděte na požadovanou bránu VPN:
Pojďme ke konfiguraci clusteru pro vyrovnávání zátěže.
Adresa 192.168.31.40 bude použita jako Virtuální IP (VIP - na ni se zpočátku připojí všichni VPN klienti), z této adresy Master cluster provede PŘESMĚROVÁNÍ do méně zatíženého uzlu clusteru. Nezapomeň napsat dopředný a zpětný DNS záznam jak pro každou externí adresu / FQDN každého uzlu clusteru, tak pro VIP.
Kontrolujeme provoz clusteru se dvěma připojenými klienty:
Udělejme zákaznickou zkušenost pohodlnější s automaticky načteným profilem AnyConnect přes ASDM.
Profil pojmenujeme pohodlným způsobem a přiřadíme k němu naši skupinovou politiku:
Po dalším připojení klienta se tento profil automaticky stáhne a nainstaluje do klienta AnyConnect, takže pokud se potřebujete připojit, stačí jej vybrat ze seznamu:
Protože jsme tento profil vytvořili pouze na jednom ASA pomocí ASDM, nezapomeňte zopakovat kroky na ostatních ASA v clusteru.
Závěr: Rychle jsme tak nasadili cluster několika VPN bran s automatickým vyrovnáváním zátěže. Přidání nových uzlů do clusteru je snadné, s jednoduchým horizontálním škálováním nasazením nových virtuálních strojů ASAv nebo pomocí hardwarových ASA. Klient AnyConnect s bohatými funkcemi může výrazně zlepšit zabezpečené vzdálené připojení pomocí Držení těla (odhady stavu), nejefektivněji využitelný ve spojení se systémem centralizovaného řízení a účtování přístupů Identity Services Engine.