ASA VPN terheléselosztó fürt telepítése

Ebben a cikkben lépésről lépésre szeretnék útmutatást adni arra vonatkozóan, hogyan telepítheti gyorsan a pillanatnyilag leginkább méretezhető sémát. Távoli hozzáférés VPN bázis hozzáférés AnyConnect és Cisco ASA - VPN terheléselosztó fürt.

Bevezetés: A COVID-19 jelenlegi helyzetére való tekintettel világszerte sok vállalat tesz erőfeszítéseket annak érdekében, hogy alkalmazottait távmunkára helyezze át. A távmunkára való tömeges átállás miatt a vállalatok meglévő VPN-átjáróinak terhelése kritikusan növekszik, és nagyon gyors méretezési képességre van szükség. Másrészt sok cég kénytelen elhamarkodottan a semmiből elsajátítani a távmunka fogalmát.

Annak érdekében, hogy a vállalkozások a lehető legrövidebb időn belül kényelmes, biztonságos és méretezhető VPN-hozzáférést érjenek el az alkalmazottak számára, a Cisco akár 13 hétre licenceli az AnyConnect funkciókban gazdag SSL-VPN klienst. Az ASAv-t tesztre is elviheti (Virtuális ASA VMWare/Hyper-V/KVM hipervizorokhoz és AWS/Azure felhőplatformokhoz) a felhatalmazott partnerektől, vagy kapcsolatba léphet az Önnel együttműködő Cisco képviselőkkel..

Az AnyConnect COVID-19 licencek kiadásának eljárása itt található.

Lépésről lépésre elkészítettem egy útmutatót a VPN terheléselosztó fürt egyszerű telepítéséhez, mint a leginkább méretezhető VPN-technológiához.

Az alábbi példa meglehetősen egyszerű lesz a használt hitelesítési és engedélyezési algoritmusok tekintetében, de jó lehetőség a gyors kezdéshez (ami jelenleg sokak számára nem elegendő), mivel a telepítés során mélyrehatóan igazodhat az Ön igényeihez. folyamat.

Rövid információ: A VPN Load Balancing Cluster technológia nem feladatátvétel és nem fürtözési funkció a natív értelmében, ez a technológia teljesen különböző ASA-modelleket kombinálhat (bizonyos korlátozásokkal) a távoli hozzáférésű VPN-kapcsolatok terheléselosztása érdekében. Egy ilyen fürt csomópontjai között nincs munkamenetek és konfigurációk szinkronizálása, de lehetőség van a VPN-kapcsolatok automatikus terheléselosztására és a VPN-kapcsolatok hibatűrésének biztosítására mindaddig, amíg legalább egy aktív csomópont nem marad a fürtben. A fürt terhelése automatikusan kiegyenlítésre kerül a csomópontok munkaterhelésétől függően a VPN-munkamenetek számával.

A fürt egyes csomópontjainak feladatátvételéhez (ha szükséges) egy fájlkezelő használható, így az aktív kapcsolatot a fájlkezelő elsődleges csomópontja kezeli. A fileover nem szükséges feltétele a Load-Balancing klaszteren belüli hibatűrés biztosításának, maga a fürt csomóponthiba esetén a felhasználói munkamenetet egy másik élő csomópontra viszi át, de a kapcsolat állapotának mentése nélkül, ami pontosan az iratadó biztosítja. Ennek megfelelően szükség esetén lehetőség van a két technológia kombinálására.

Egy VPN terheléselosztó fürt kettőnél több csomópontot is tartalmazhat.

A VPN Load-Balancing Cluster az ASA 5512-X és újabb verziókon támogatott.

Mivel a VPN Load-Balancing klaszteren belül minden ASA a beállításokat tekintve független egység, minden konfigurációs lépést egyedileg hajtunk végre minden egyes eszközön.

Technológiai részletek itt

Az adott példa logikai topológiája:

ASA VPN terheléselosztó fürt telepítése

Elsődleges telepítés:

  1. A képből telepítjük a szükséges sablonok (ASAv5/10/30/50) ASAv példányait.

  2. Az INSIDE / OUTSIDE interfészeket ugyanazokhoz a VLAN-okhoz rendeljük (Outside saját VLAN-ban, BELÜL saját VLAN-ban, de általában a klaszteren belül, lásd a topológiát), fontos, hogy az azonos típusú interfészek ugyanabban az L2 szegmensben legyenek.

  3. Engedélyek:

    • Jelenleg az ASAv telepítése nem rendelkezik licencekkel, és 100 kbps-ra korlátozódik.
    • A licenc telepítéséhez létre kell hoznia egy tokent a Smart-Account-ban: https://software.cisco.com/ -> Intelligens szoftverlicenc
    • A megnyíló ablakban kattintson a gombra Új token

    ASA VPN terheléselosztó fürt telepítése

    • Győződjön meg arról, hogy a megnyíló ablakban van egy aktív mező és egy pipa be van jelölve Exportvezérelt funkciók engedélyezése… Ha ez a mező nincs aktív, akkor nem fogja tudni használni az erős titkosítás és ennek megfelelően a VPN funkcióit. Ha ez a mező nem aktív, kérjük, lépjen kapcsolatba fiókjával egy aktiválási kérelemmel.

    ASA VPN terheléselosztó fürt telepítése

    • A gomb megnyomása után Token létrehozása, akkor létrejön egy token, amelyet az ASAv licenc beszerzéséhez használunk, másolja ki:

    ASA VPN terheléselosztó fürt telepítése

    • Ismételje 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 engedélyezzük a telnetet. Konfiguráljunk minden ASA-t (az alábbi példa az ASA-1 beállításait mutatja be). A telnet nem működik a külsővel, ha valóban szükséged van rá, állítsd át a biztonsági szintet 100-ra külsőre, majd add 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
    !

    • Ahhoz, hogy egy token regisztráljon a Smart-Account felhőben, internet-hozzáférést kell biztosítania az ASA számára, részletek itt.

    Röviden, az ASA-ra van szükség:

    • hozzáférés az internethez HTTPS-en keresztül;
    • időszinkronizálás (pontosabban, NTP-n keresztül);
    • regisztrált DNS szerver;
      • Telnetet csatlakozunk az ASA-hoz, és beállítjuk a licencet 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 
    !
    ! Проверим работу 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>

    • Ellenőrizzük, hogy az eszköz sikeresen regisztrálta-e a licencet, és rendelkezésre állnak-e a titkosítási lehetőségek:

    ASA VPN terheléselosztó fürt telepítése

    ASA VPN terheléselosztó fürt telepítése

  4. Állítson be egy alapvető SSL-VPN-t minden átjárón

    • Ezután konfigurálja a hozzáférést SSH-n és ASDM-en keresztül:

    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 
    !

    • Az ASDM működéséhez először le kell töltenie a cisco.com webhelyről, esetemben ez a következő fájl:

    ASA VPN terheléselosztó fürt telepítése

    • Ahhoz, hogy az AnyConnect kliens működjön, fel kell töltenie egy képet minden egyes ASA-ba minden használt asztali kliens operációs rendszerhez (Linux / Windows / MAC használatára tervezett), szükség lesz egy fájlra Fejállomási telepítési csomag A címben:

    ASA VPN terheléselosztó fürt telepítése

    • A letöltött fájlok feltölthetők például egy FTP-kiszolgálóra, és feltölthetők minden egyes ASA-ra:

    ASA VPN terheléselosztó fürt telepítése

    • Az SSL-VPN-hez ASDM-et és önaláírt tanúsítványt konfigurálunk (a termelés során ajánlott megbízható tanúsítványt használni). A virtuális fürtcím beállított FQDN-jének (vpn-demo.ashes.cc), valamint minden egyes fürtcsomópont külső címéhez társított FQDN-nek a külső DNS-zónában a KÜLSŐ interfész IP-címére kell feloldódnia (vagy a leképezett címre, ha porttovábbítás udp/443 (DTLS) és tcp/443(TLS) van használva). A tanúsítvánnyal szemben támasztott követelményekről a fejezetben található részletes információ Tanúsítvány ellenőrzése dokumentáció.

    !
    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               

    • Ne felejtse el megadni a portot az ASDM működésének ellenőrzéséhez, például:

    ASA VPN terheléselosztó fürt telepítése

    • Végezzük el az alagút alapbeállításait:
    • Tegyük elérhetővé a vállalati hálózatot az alagúton keresztül, és engedjük közvetlenül az internetet (nem a legbiztonságosabb módszer, ha a csatlakozó gazdagépen nincs védelem, lehet áthatolni egy fertőzött gazdagépen és megjeleníteni a vállalati adatokat, opció split-tunnel-policy tunnell beengedi az összes fogadó forgalmat az alagútba. Mindazonáltal osztott alagút lehetővé teszi a VPN-átjáró tehermentesítését, és nem a gazdagép internetes forgalom feldolgozását)
    • Adjunk ki címeket a 192.168.20.0/24 alhálózatról az alagútban lévő gazdagépeknek (10-től 30-ig terjedő címkészlet (az 1-es csomóponthoz)). A VPN-fürt minden csomópontjának saját készlettel kell rendelkeznie.
    • Az alapvető hitelesítést egy helyileg létrehozott felhasználóval hajtjuk végre az ASA-n (ez nem ajánlott, ez a legegyszerűbb módszer), jobb, ha a hitelesítést a LDAP/RADIUS, vagy ami még jobb, nyakkendő Többtényezős hitelesítés (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
    !

    • (VÁLASZTHATÓ): A fenti példában egy helyi felhasználót használtunk az ITU-n a távoli felhasználók hitelesítésére, ami természetesen a laboratórium kivételével rosszul alkalmazható. Mondok egy példát arra, hogyan lehet gyorsan hozzáigazítani a hitelesítés beállításait SUGÁR szerver például használt 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 
    !

    Ez az integráció nemcsak a hitelesítési eljárás gyors integrálását tette lehetővé az AD-címtárszolgáltatással, hanem annak megkülönböztetését is, hogy a csatlakoztatott számítógép az AD-hez tartozik-e, megérteni, hogy ez az eszköz vállalati vagy személyes-e, és felmérni a csatlakoztatott eszköz állapotát. .

    ASA VPN terheléselosztó fürt telepítése

    ASA VPN terheléselosztó fürt telepítése

    • Állítsuk be az Átlátszó NAT-ot úgy, hogy a kliens és a vállalati hálózati hálózat erőforrásai közötti forgalom ne legyen firkálva:

    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

    • (VÁLASZTHATÓ): Annak érdekében, hogy ügyfeleinket az ASA-n keresztül elérhetővé tegyük az Internetnek (használatakor tunnellall opciók) PAT használatával, valamint ugyanazon a KÜLSŐ interfészen keresztül való kilépéshez, amelyről csatlakoznak, a következő beállításokat kell elvégeznie

    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 
    !

    • Fürt használatakor rendkívül fontos, hogy a belső hálózat megértse, melyik ASA irányítja a visszatérő forgalmat a felhasználókhoz, ehhez újra el kell osztani az útvonalakat / 32, az ügyfeleknek kiadott címet.
      Jelenleg még nem konfiguráltuk a klasztert, de már vannak működő VPN-átjáróink, amelyek FQDN-en vagy IP-n keresztül egyedileg csatlakoztathatók.

    ASA VPN terheléselosztó fürt telepítése

    A csatlakoztatott klienst az első ASA útválasztási táblázatában látjuk:

    ASA VPN terheléselosztó fürt telepítése

    Annak érdekében, hogy a teljes VPN-fürtünk és a teljes vállalati hálózat ismerje a kliensünkhöz vezető útvonalat, a kliens előtagot egy dinamikus útválasztási protokollba, például OSPF-be osztjuk újra:

    !
    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-REDISTRIBUTE

    Most már van egy útvonalunk a klienshez a második ASA-2 átjárótól, és a fürtön belüli különböző VPN-átjárókhoz csatlakozó felhasználók például közvetlenül kommunikálhatnak egy vállalati szoftvertelefonon keresztül, valamint visszaküldhetik a forgalmat a felhasználó által kért erőforrásokból. lépjen a kívánt VPN-átjáróhoz:

    ASA VPN terheléselosztó fürt telepítése

  5. Térjünk át a terheléselosztási fürt konfigurálására.

    A 192.168.31.40 címet használjuk virtuális IP-ként (VIP – kezdetben minden VPN kliens ehhez fog csatlakozni), erről a címről a Mester fürt REDIRECT-et hajt végre egy kevésbé terhelt fürtcsomópontra. Ne felejts el írni előre és fordított DNS rekord mind a fürt minden csomópontjának minden külső címéhez / FQDN-éhez, mind a VIP-hez.

    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)#

    • Két csatlakoztatott klienssel ellenőrizzük a fürt működését:

    ASA VPN terheléselosztó fürt telepítése

    • Tegyük kényelmesebbé az ügyfélélményt az ASDM-en keresztül automatikusan betöltődő AnyConnect profillal.

    ASA VPN terheléselosztó fürt telepítése

    A profilt kényelmes módon elnevezzük, és hozzárendeljük csoportszabályzatunkat:

    ASA VPN terheléselosztó fürt telepítése

    A kliens következő csatlakozása után ez a profil automatikusan letöltődik és telepítődik az AnyConnect kliensbe, így ha csatlakoznia kell, csak ki kell választania a listából:

    ASA VPN terheléselosztó fürt telepítése

    Mivel ezt a profilt csak egy ASA-n hoztuk létre ASDM használatával, ne felejtse el megismételni a lépéseket a fürt többi ASA-ján.

Következtetés: Így gyorsan telepítettünk egy több VPN-átjáróból álló fürtöt automatikus terheléselosztással. Új csomópontok hozzáadása a fürthöz egyszerű, egyszerű vízszintes skálázással új ASAv virtuális gépek telepítésével vagy hardveres ASA-k használatával. A funkciókban gazdag AnyConnect kliens nagymértékben javíthatja a biztonságos távoli kapcsolatot a Testtartás (állapoti becslések), a leghatékonyabban a központosított ellenőrzési és hozzáférési elszámolási rendszerrel együtt alkalmazva Identity Services Engine.

Forrás: will.com

Hozzászólás