Ebben a cikkben lépésről lépésre bemutatom, hogyan lehet gyorsan elindítani a jelenleg elérhető legskálázhatóbb rendszert. Remote-Access VPN hozzáférést alapként AnyConnect és Cisco ASA – VPN Terhelésmegosztó Kláster.
Bevezetés: A világ számos vállalata a COVID-19 helyzet miatt erőfeszítéseket tesz az alkalmazottaik távoli munkavégzésre való átállítására. A távoli munkára való tömeges átállás következtében kritikus mértékben megnő a meglévő vállalati VPN átjárók terhelése, és rendkívül fontos a gyors skálázási lehetőség. Másrészt sok cég kénytelen gyorsan megismerkedni a távoli munkavégzés fogalmával.
Annak érdekében, hogy a vállalkozások a lehető leghamarabb kényelmes, biztonságos és skálázható VPN hozzáférést biztosítsanak munkavállalóik számára, a Cisco legfeljebb 13 hétig licencet biztosít a sokfunkciós SSL-VPN kliens AnyConnect használatára. .
.
Elkészítettem egy lépésről lépésre útmutatót a VPN terhelésmegosztó klaszter egyszerű telepítési lehetőségéről, mint a legskálázhatóbb VPN technológiáról.
Az alábbi példa meglehetősen egyszerű lesz az alkalmazott hitelesítési és engedélyezési algoritmusok szempontjából, de jó lehetőség lesz a gyors induláshoz (amiből sokaknak most éppen hiányoznak) a későbbi igényekhez való mélyebb adaptálás lehetőségével a telepítés során.
Rövid áttekintés: A VPN Terhelésmegosztó Kláster nem failover és nem cluster funkció a natív értelmében, ez a technológia különböző ASA modellek kombinálására szolgál (bizonyos korlátozásokkal) a Remote-Access VPN kapcsolatok terhelésának elosztása érdekében. A klaszterek közötti session és konfigurációs szinkronizálás nem létezik, de lehetővé teszi a VPN kapcsolatok automatikus terhelésmegosztását és a kapcsolatok megbízhatóságának biztosítását, amíg legalább egy aktív csomópont van a klaszterben. A terhelés automatikusan eloszlik a csomópontok VPN session mennyisége alapján.
A klaszter egyes csomópontjainak hibatűrő működéséhez (ha ez szükséges) alkalmazhatunk fájlverziót, így az aktív kapcsolatot a fájlverzió elsődleges csomópontja fogja kezelni. A fájlverzió nem egy kötelező feltétele a hibatűrő működés biztosításának egy Load-Balancing klaszterben; a klaszter az egyik csomópont leállása esetén át fogja irányítani a felhasználói munkamenetet egy másik élő csomóra, azonban a kapcsolat státuszának megőrzése nélkül, ami pont a fájlverzió révén biztosítható. Ennek megfelelően szükség szerint kombinálhatjuk e két technológiát.
A VPN Load-Balancing klaszter több mint két csomópontot is tartalmazhat.
A VPN Load-Balancing klaszter támogatott az ASA 5512-X és újabb modelleken.
Mivel minden ASA a VPN Load-Balancing klaszter keretein belül önálló egység a beállítások szempontjából, ezért minden konfigurációs lépést egyedileg végezzük el minden egyes eszközön.
A példában bemutatott logikai topológia:

Elsődleges telepítés:
Telepítjük az ASAv kívánt mintáit képből (ASAv5/10/30/50).
Az INSIDE/OUTSIDE interfészeket azonos VLAN-ra rendeljük (Outside a saját VLAN-jában, INSIDE a sajátjában, de közös a klaszter keretein belül, lásd a topológiát); fontos, hogy az azonos típusú interfészek egy L2 szegmensen legyenek.
Engedélyek:
- Az ASAv telepítésekor nem lesznek aktív licencek és a teljesítmény 100 kbit/s-ra korlátozódik.
- A licenc telepítéséhez létre kell hoznia egy tokent a Smart-Account fiókjában: -> Smart Software Licensing
- A megnyíló ablakban kattintson a gombra Új Token

- Győződjön meg róla, hogy a megnyíló ablakban aktív mező található és a jelölőnégyzet be van pipálva Engedélyezze az export-korlátozott funkciót… E mező aktív hiányában nem tudja használni az erős titkosítási funkciókat, így a VPN-t sem. Ha ez a mező nem aktív, kérjük, forduljon a fiókja csapatához aktiválási kérelemmel.

- A gomb megnyomása után Token létrehozása, egy tokent hozunk létre, amelyet az ASAv licencének beszerzésére fogunk használni, másoljuk is:

- Ismételjük meg a C, D, E lépéseket minden telepített ASAv esetében.
- A token másolásának megkönnyítése érdekében ideiglenesen engedjük a telnetet. Beállítjuk minden ASA-t (az alábbi példa az ASA-1 beállításait szemlélteti). A telnet a külső interfészről nem működik; ha szükséges, változtassa meg a security-level-t 100-ra a külső interfészen, majd állítsa vissza.
! 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 !- A Smart-Account felhőben történő token regisztrálásához internet hozzáférést kell biztosítani az ASA számára. .
Röviden összefoglalva az ASA-ra szükség van:
- HTTPS hozzáférés az internethez;
- időszinkronizálás (legjobb NTP-n keresztül);
- megadott DNS szerver;
- Jelentkezzünk be telneten az ASA-ra és végezzük el a licenc aktiválásához szükséges beállításokat a Smart-Account-on keresztül.
! 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 ! ! Ellenőrizzük a DNS működését: ! 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: !!!!! ! ! Ellenőrizzük az NTP szinkronizálást: ! 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 (szinkronizálva), # master (nem szinkronizálva), + kiválasztott, - jelölt, ~ konfigurálva ! ! Állítsuk be az ASAv konfigurációját a Smart-Licensinghez (az Ön profiljának megfelelően, az én esetemben például 100M) ! ciscoasa(config)# license smart ciscoasa(config-smart-lic)# feature tier standard ciscoasa(config-smart-lic)# throughput level 100M ! ! Szükség esetén beállíthat egy proxy-t az internethez való hozzáféréshez, használja a következő parancsblokkokat: !call-home ! http-proxy ip_address port port ! ! Ezután beillesztjük a Smart-Account portálról másolt tokent (<token>) és regisztráljuk a licencet ! ciscoasa(config)# end ciscoasa# license smart register idtoken <token>- Ellenőrizzük, hogy az eszköz sikeresen regisztrálta-e a licencet, és hogy a titkosítási opciók elérhetők-e:


Alap SSL-VPN beállítása minden átjárón
- Ezután SSH és ASDM hozzáférés beállítása:
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 ! ! Építsük fel az HTTPS szervert az ASDM-hez a 445-ös porton, hogy ne ütközzön az SSL-VPN portáljal ! vpn-demo-1(config)# http server enable 445 !- Az ASDM működéséhez először le kell tölteni azt a cisco.com oldalról, az én esetemben ez a következő fájl:

- Az AnyConnect kliens működéséhez le kell tölteni az ASÁ-ra a használni kívánt asztali operációs rendszerhez (Linux/Windows/MAC) tartozó képet. Fejállomás Telepítési Csomag a neve:

- A letöltött fájlokat például FTP szerverre lehet feltölteni, és minden egyes ASÁ-ra be kell tölteni őket:

- Beállítjuk az ASDM-et és az SSL-VPN-hez szükséges önaláírt tanúsítványt (éles környezetben ajánlott megbízható tanúsítványt használni). A virtuális klaszter teljesen kvalifikált domain neve (vpn-demo.ashes.cc), valamint minden FQDN, amely a klaszter egyes csomópontjainak külső címével van társítva, DNS-en keresztül az OUTSIDE interfész IP címére (vagy a leképezett címre, ha UDP/443 (DTLS) és TCP/443 (TLS) porttovábbítást használnak) kell feloldódjon. A tanúsítványra vonatkozó követelmények részletes információját a Tanúsítvány Ellenőrzés dokumentációban.
! 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=hu 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 % A tanúsítványban szereplő teljesen kvalifikált domain név: vpn-demo.ashes.cc Generálni szeretné az önaláírt tanúsítványt? [igen/nem]: igen vpn-demo-1(config)# ! vpn-demo-1(config)# sh cry ca certificates Tanúsítvány Státusz: Elérhető Tanúsítvány Sorszáma: 4d43725e Tanúsítvány Használata: Általános Célú Nyilvános Kulcs Típusa: RSA (4096 bit) Aláírási Algoritmus: SHA256 RSA Titkosítással Kibocsátó Neve: sorozatszám=9A439T02F95 hosztnév=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=hu Tárgy Neve: sorozatszám=9A439T02F95 hosztnév=vpn-demo.ashes.cc cn=*.ashes.cc ou=ashes-lab o=ashes c=hu Érvényességi Dátum: kezdési dátum: 00:16:17 MSK 2020. március 19 záró dátum: 00:16:17 MSK 2030. március 17 Tárolás: konfiguráció Társított Trustpointok: SELF CA Tanúsítvány Státusz: Elérhető Tanúsítvány Sorszáma: 0509 Tanúsítvány Használata: Általános Célú Nyilvános Kulcs Típusa: RSA (4096 bit) Aláírási Algoritmus: SHA1 RSA Titkosítással Kibocsátó Neve: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Tárgy Neve: cn=QuoVadis Root CA 2 o=QuoVadis Limited c=BM Érvényességi Dátum: kezdési dátum: 21:27:00 MSK 2006. november 24 záró dátum: 21:23:33 MSK 2031. november 24 Tárolás: konfiguráció Társított Trustpointok: _SmartCallHome_ServerCA- Az ASDM működésének ellenőrzéséhez ne felejtsük el megadni a portot, például:

- Végrehajtjuk a tunnel alapbeállításait:
- Tegyük elérhetővé a vállalati hálózatot a tunnelen keresztül, miközben az internetet közvetlenül engedjük (rendkívül nem biztonságos módszer, ha a kapcsolódó hoszton nincsenek védelmi eszközök, lehetséges a korrupt hoszton keresztüli behatolás és vállalati adatok kiszivárgása, opció split-tunnel-policy tunnelall minden hosztforgalmat a tunnelen keresztül enged. Ennek ellenére Split-Tunnel lehetővé teszi a VPN gateway terhelésének csökkentését, és nem kezeli a hoszt internetforgalmát)
- A tunnelen belüli hosztoknak a 192.168.20.0/24 alhálózatból címeket adunk (10-30 közötti címek száma (az 1-es csomópont számára)). A VPN pool must be unique to each node in the cluster.
- Let's perform basic authentication with a locally created user on the ASA (This is not recommended, as it’s the simplest method); it’s better to authenticate via LDAP/RADIUS, and even better to link with Multi-Factor Authentication (MFA), például Cisco DUO.
! vpn-demo-1(config)# ip local pool vpn-pool 192.168.20.10-192.168.20.30 mask 255.255.255.0 ! vpn-demo-1(config)# access-list split-tunnel standard permit 192.168.0.0 255.255.0.0 ! vpn-demo-1(config)# group-policy SSL-VPN-GROUP-POLICY internal vpn-demo-1(config)# group-policy SSL-VPN-GROUP-POLICY attributes vpn-demo-1(config-group-policy)# vpn-tunnel-protocol ssl-client vpn-demo-1(config-group-policy)# split-tunnel-policy tunnelspecified vpn-demo-1(config-group-policy)# split-tunnel-network-list value split-tunnel vpn-demo-1(config-group-policy)# dns-server value 192.168.99.132 vpn-demo-1(config-group-policy)# default-domain value ashes.cc vpn-demo-1(config)# tunnel-group DefaultWEBVPNGroup general-attributes vpn-demo-1(config-tunnel-general)# default-group-policy SSL-VPN-GROUP-POLICY vpn-demo-1(config-tunnel-general)# address-pool vpn-pool ! vpn-demo-1(config)# username dkazakov password cisco vpn-demo-1(config)# username dkazakov attributes vpn-demo-1(config-username)# service-type remote-access ! vpn-demo-1(config)# ssl trust-point SELF vpn-demo-1(config)# webvpn vpn-demo-1(config-webvpn)# enable outside vpn-demo-1(config-webvpn)# anyconnect image disk0:/anyconnect-win-4.8.03036-webdeploy-k9.pkg vpn-demo-1(config-webvpn)# anyconnect enable !- (OPTIONAL): In the above example, we used a local user on the MSE for authenticating remote users, which is hardly applicable outside a lab setting. I'll provide an example of how to quickly adapt the configuration for authentication on the RADIUS server, using the example of Cisco Identity Services Engine:
vpn-demo-1(config-aaa-server-group)# dynamic-authorization vpn-demo-1(config-aaa-server-group)# interim-accounting-update vpn-demo-1(config-aaa-server-group)# aaa-server RADIUS (outside) host 192.168.99.134 vpn-demo-1(config-aaa-server-host)# key cisco vpn-demo-1(config-aaa-server-host)# exit vpn-demo-1(config)# tunnel-group DefaultWEBVPNGroup general-attributes vpn-demo-1(config-tunnel-general)# authentication-server-group RADIUS !This integration allows not only for the quick incorporation of the authentication procedure with the AD directory service, but also to distinguish whether the connecting computer belongs to the AD, understand if it’s a corporate or personal device, and assess the state of the connecting device.


- Let's configure Transparent NAT so that traffic between the client and the resources of the corporate network is not translated:
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- (OPTIONAL): To release our clients to the Internet through ASA (when using tunnelall A PAT használatával kapcsolatos lehetőségek, valamint a szükséges beállítások elvégzése, ahonnan csatlakoznak, a következőképpen történik.
vpn-demo-1(config-network-object)# nat (outside,outside) source dynamic vpn-users interface vpn-demo-1(config)# nat (inside,outside) source dynamic any interface vpn-demo-1(config)# same-security-traffic permit intra-interface !- Különösen fontos, hogy a klaszter használata során lehetőséget adjunk a belső hálózat számára, hogy megértse, melyik ASA-ra irányítsa a visszaáramló forgalmat. Ehhez szükséges a klienseknek kiosztott /32 címek útvonalának redisztribúciója.
Jelenleg még nem állítottuk be a klasztert, de már rendelkezésünkre állnak működő VPN átjárók, amelyekhez egyedileg lehet csatlakozni FQDN-en vagy IP-n keresztül.

Látjuk a csatlakoztatott klienst az első ASA routing táblájában:

Ahhoz, hogy a VPN klaszterünk és az egész vállalati hálózat tudja, hogy a kliensek felé merre van az útvonal, redisztribuáljuk a kliens előtagját a dinamikus routing protokollba, például OSPF-be:
! vpn-demo-1(config)# route-map RMAP-VPN-REDISTRIBUTE permit 1 vpn-demo-1(config-route-map)# match ip address VPN-REDISTRIBUTE ! vpn-demo-1(config)# router ospf 1 vpn-demo-1(config-router)# network 192.168.255.0 255.255.255.0 area 0 vpn-demo-1(config-router)# log-adj-changes vpn-demo-1(config-router)# redistribute static metric 5000 subnets route-map RMAP-VPN-REDISTRIBUTEMost már megvan az útvonal a klienshez a második ASA-2 átjárón, és a különböző VPN átjárókhoz csatlakozó felhasználók például közvetlenül kommunikálhatnak vállalati szoftvertelefonon, ugyanúgy, ahogy a felhasználó által kért erőforrások visszaáramló forgalma a megfelelő VPN átjáróra érkezik:

Folytatjuk a klaszter Load-Balancing beállításával.
Az 192.168.31.40 cím Virtual IP (VIP) címmé válik (ide fog elsődlegesen csatlakozni az összes VPN kliens), erről a címről a klaszter mester REDIRECT-ot végez a kevésbé terhelt klaszternódra. Ne felejtsd el megadni a közvetlen és visszafelé DNS rekordot mindegyik külső cím/FQDN-re a klaszter minden nódájához, valamint a VIP-re.
vpn-demo-1(config)# vpn load-balancing vpn-demo-1(config-load-balancing)# interface lbpublic outside vpn-demo-1(config-load-balancing)# interface lbprivate inside vpn-demo-1(config-load-balancing)# priority 10 vpn-demo-1(config-load-balancing)# cluster ip address 192.168.31.40 vpn-demo-1(config-load-balancing)# cluster port 4000 vpn-demo-1(config-load-balancing)# redirect-fqdn enable vpn-demo-1(config-load-balancing)# cluster key cisco vpn-demo-1(config-load-balancing)# cluster encryption vpn-demo-1(config-load-balancing)# cluster port 9023 vpn-demo-1(config-load-balancing)# participate vpn-demo-1(config-load-balancing)#- Ellenőrizzük a klaszter működését két csatlakoztatott klienssel:

- Jobbá tesszük az ügyfél munkatapasztalatát az AnyConnect automatikusan letöltődő profiljával az ASDM-en keresztül.

Kényelmes módon nevezzük el a profilt, és társítjuk a csoportos politikánkkal:

A következő ügyfélszerver csatlakozásakor ez a profil automatikusan letöltésre kerül és telepítésre az AnyConnect kliensen, így szükség esetén egyszerűen választható lesz a listából.

Mivel az ASDM használatával ezt a profilt csak egy ASA-n hoztuk létre, ne felejtsük el megismételni a lépéseket a klaszter többi ASA-ján is.
Következtetés: Így gyorsan telepítettük a több VPN átjárót tartalmazó klasztert automatikus terheléselosztással. Új csomópontokat hozzáadni a klaszterhez nem nehéz, egyszerű vízszintes skálázást elérve új virtuális ASAv gépek telepítésével vagy hardveres ASA használatával. Az AnyConnect sokfunkciós kliens jelentősen kibővítheti a biztonságos távoli kapcsolódás lehetőségeit a Posture (állapotértékelés), amely a legjobban a központosított hozzáférés-ellenőrzési rendszerrel együtt alkalmazható. Identity Services Engine.
Forrás: habr.com


















