Примена АСА ВПН кластера за балансирање оптерећења

У овом чланку бих желео да пружим упутства корак по корак о томе како можете брзо да примените најскалабилнију шему у овом тренутку ВПН са удаљеним приступом на основу приступа АниЦоннецт и Цисцо АСА - ВПН кластер за балансирање оптерећења.

Увод: Многе компаније широм света, због тренутне ситуације са ЦОВИД-19, улажу напоре да своје запослене пребаце на даљински рад. Због широко распрострањеног преласка на рад на даљину, оптерећење постојећих ВПН гатеваи-а компанија критично расте и потребна је веома брза могућност њиховог скалирања. С друге стране, многе компаније су принуђене да на брзину савладају концепт рада на даљину од нуле.

Да би помогао предузећима да брзо имплементирају згодан, безбедан и скалабилан ВПН приступ за запослене, Цисцо обезбеђује до 13-недељне лиценце за АниЦоннецт ССЛ-ВПН клијент богат функцијама. Такође можете узети АСАв за тестирање (виртуелни АСА за ВМВаре/Хипер-В/КВМ хипервизоре и АВС/Азуре цлоуд платформе) од овлашћених партнера или тако што ћете контактирати Цисцо представнике који раде са вама.

Овде је описана процедура за издавање АниЦоннецт ЦОВИД-19 лиценци.

Припремио сам упутства корак по корак за једноставну опцију за постављање ВПН кластера за балансирање оптерећења као најскалабилније ВПН технологије.

Пример у наставку ће бити прилично једноставан са становишта коришћених алгоритама за аутентификацију и ауторизацију, али ће бити добра опција за брз почетак (што сада многима недостаје) са могућношћу дубинског прилагођавања ваше потребе током процеса имплементације.

Кратке информације: Технологија ВПН кластера за балансирање оптерећења није функција преласка на грешку или функција кластерирања у свом изворном смислу; ова технологија може комбиновати потпуно различите АСА моделе (са одређеним ограничењима) како би избалансирала ВПН везе са удаљеним приступом. Не постоји синхронизација сесија и конфигурација између чворова таквог кластера, али је могуће аутоматски балансирати ВПН везе и обезбедити отпорност на грешке ВПН веза све док бар један активни чвор не остане у кластеру. Оптерећење у кластеру се аутоматски балансира у зависности од оптерећења чворова по броју ВПН сесија.

За толеранцију грешака одређених чворова кластера (ако је потребно), можете користити филер, тако да ће активну везу обрадити примарни чвор филера. Филеовер није неопходан услов за обезбеђивање толеранције грешака унутар кластера за балансирање оптерећења; у случају квара чвора, сам кластер ће пренети корисничку сесију на други активни чвор, али без одржавања статуса везе, што је управо оно што филер пружа. Сходно томе, ове две технологије се могу комбиновати ако је потребно.

ВПН кластер за балансирање оптерећења може да садржи више од два чвора.

ВПН кластер за балансирање оптерећења је подржан на АСА 5512-Кс и новијим верзијама.

Пошто је сваки АСА у оквиру ВПН Лоад-Баланцинг кластера независна јединица у смислу подешавања, све кораке конфигурације спроводимо појединачно на сваком појединачном уређају.

Детаљи о технологији овде

Логичка топологија датог примера је:

Примена АСА ВПН кластера за балансирање оптерећења

Прво постављање:

  1. Ми примењујемо АСАв инстанце шаблона који су нам потребни (АСАв5/10/30/50) са слике.

  2. ИНСИДЕ/ОУТСИДЕ интерфејсе додељујемо истом ВЛАН-у (Споља у сопственом ВЛАН-у, УНУТРА у сопственом, али уобичајено унутар кластера, види топологију), важно је да се интерфејси истог типа налазе у истом Л2 сегменту.

  3. Лиценце:

    • У време инсталације, АСАв неће имати никакве лиценце и биће ограничен на 100кбит/сец.
    • Да бисте инсталирали лиценцу, потребно је да генеришете токен на свом Смарт-Аццоунт налогу: https://software.cisco.com/ -> Паметно лиценцирање софтвера
    • У прозору који се отвори кликните на дугме Нови токен

    Примена АСА ВПН кластера за балансирање оптерећења

    • Уверите се да је поље у прозору који се отвара активно и да је поље за потврду означено Дозволите функционалност контролисане извозом... Без овог активног поља нећете моћи да користите јаке функције шифровања и, сходно томе, ВПН. Ако ово поље није активно, контактирајте свој тим за налог да затражите активацију.

    Примена АСА ВПН кластера за балансирање оптерећења

    • Након притиска на дугме Креирајте токен, биће креиран токен који ћемо користити за добијање лиценце за АСАв, копирајте га:

    Примена АСА ВПН кластера за балансирање оптерећења

    • Поновимо кораке Ц,Д,Е за сваки распоређени АСАв.
    • Да бисмо олакшали копирање токена, хајде да привремено омогућимо телнет. Хајде да конфигуришемо сваки АСА (пример испод илуструје подешавања на АСА-1). телнет споља не ради, ако вам је заиста потребан, промените ниво безбедности на 100 на спољашњи, а затим га вратите.

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

    • Да бисте регистровали токен у облаку Смарт-Аццоунт, морате да обезбедите приступ Интернету за АСА, детаљи овде.

    Укратко, АСА је потребна:

    • Приступ Интернету преко ХТТПС-а;
    • синхронизација времена (тачније преко НТП-а);
    • регистровани ДНС сервер;
      • Идемо преко телнета до нашег АСА и вршимо подешавања за активирање лиценце преко Смарт-Аццоунт-а.

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

    • Проверавамо да ли је уређај успешно регистровао лиценцу и да ли су доступне опције шифровања:

    Примена АСА ВПН кластера за балансирање оптерећења

    Примена АСА ВПН кластера за балансирање оптерећења

  4. Конфигурисање основног ССЛ-ВПН-а на сваком мрежном пролазу

    • Затим конфигуришемо приступ преко ССХ и АСДМ:

    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 
    !

    • Да би АСДМ функционисао, прво морате да га преузмете са цисцо.цом, у мом случају то је следећа датотека:

    Примена АСА ВПН кластера за балансирање оптерећења

    • Да би АниЦоннецт клијент функционисао, потребно је да преузмете слику на сваки АСА за сваки коришћени оперативни систем клијента (планирано да користи Линук/Виндовс/МАЦ), биће вам потребна датотека са Пакет за имплементацију главног уређаја У наслову:

    Примена АСА ВПН кластера за балансирање оптерећења

    • Преузете датотеке се могу отпремити, на пример, на ФТП сервер и отпремити на сваки појединачни АСА:

    Примена АСА ВПН кластера за балансирање оптерећења

    • Конфигуришемо АСДМ и Селф-Сигнед сертификат за ССЛ-ВПН (препоручује се коришћење поузданог сертификата у производњи). Успостављени ФКДН виртуелне адресе кластера (впн-демо.асхес.цц), као и сваки ФКДН повезан са екстерном адресом сваког чвора кластера морају бити решени у спољној ДНС зони на ИП адресу ВАЊСКОГ интерфејса (или на мапирану адресу ако се користи прослеђивање порта удп/443 (ДТЛС) и тцп/443(ТЛС)). Детаљне информације о захтевима за сертификат су наведене у одељку Верификација сертификата документацију.

    !
    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               

    • Да бисте проверили рад АСДМ-а, не заборавите да наведете порт, на пример:

    Примена АСА ВПН кластера за балансирање оптерећења

    • Хајде да извршимо основна подешавања тунела:
    • Учинићемо корпоративну мрежу доступном кроз тунел, и директно повезати Интернет (није најбезбеднији метод у одсуству безбедносних мера на хосту за повезивање, могуће је продрети преко зараженог хоста и изнети корпоративне податке, опција сплит-туннел-полици туннелалл ће дозволити сав саобраћај домаћина у тунел. Ипак Сплит-Тунел омогућава да се растерети ВПН гејтвеј и не обрађује интернет саобраћај домаћина)
    • Издаћемо хостове у тунелу са адресама из подмреже 192.168.20.0/24 (скуп од 10 до 30 адреса (за чвор #1)). Сваки чвор у кластеру мора имати сопствени ВПН базен.
    • Хајде да извршимо основну аутентификацију са локално креираним корисником на АСА (ово се не препоручује, ово је најједноставнији метод), боље је извршити аутентификацију преко ЛДАП/РАДИУС, или још боље, кравата Вишефакторска аутентикација (МФА), Нпр Цисцо ДУО.

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

    • (ОПЦИОНО): У горњем примеру, користили смо локалног корисника на заштитном зиду за аутентификацију удаљених корисника, што је наравно од мале користи осим у лабораторији. Даћу пример како брзо прилагодити подешавање за аутентификацију РАДИУС сервер, који се користи на пример Цисцо Идентити Сервицес Енгине:

    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 
    !

    Ова интеграција је омогућила не само брзу интеграцију процедуре аутентификације са услугом АД именика, већ и да се разликује да ли повезани рачунар припада АД, да се разуме да ли се ради о корпоративном или личном уређају и процени стање повезаног уређај.

    Примена АСА ВПН кластера за балансирање оптерећења

    Примена АСА ВПН кластера за балансирање оптерећења

    • Хајде да конфигуришемо Транспарент НАТ тако да се не омета саобраћај између клијента и мрежних ресурса корпоративне мреже:

    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

    • (ОПЦИОНО): Да бисмо своје клијенте изложили Интернету преко АСА (када користите тунелалл опције) користећи ПАТ, а такође изађу кроз исти ВАЊСКИ интерфејс одакле су повезани, потребно је да извршите следећа подешавања

    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 
    !

    • Изузетно је важно када се користи кластер да се интерној мрежи омогући да разуме који АСА да усмерава повратни саобраћај до корисника, за то је потребно прерасподелити руте /32 адресе које се издају клијентима.
      Тренутно још нисмо конфигурисали кластер, али већ имамо функционалне ВПН мрежне пролазе на које се можете појединачно повезати преко ФКДН-а или ИП-а.

    Примена АСА ВПН кластера за балансирање оптерећења

    Видимо повезаног клијента у табели рутирања првог АСА:

    Примена АСА ВПН кластера за балансирање оптерећења

    Да би цео наш ВПН кластер и цела корпоративна мрежа знали пут до нашег клијента, префикс клијента ћемо прерасподелити у динамички протокол за рутирање, на пример ОСПФ:

    !
    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

    Сада имамо руту до клијента од другог АСА-2 гејтвеја и корисници повезани на различите ВПН гејтвејеве унутар кластера могу, на пример, да комуницирају директно преко корпоративног софтфона, баш као што ће стизати повратни саобраћај из ресурса које корисник захтева на жељеном ВПН пролазу:

    Примена АСА ВПН кластера за балансирање оптерећења

  5. Пређимо на подешавање кластера за балансирање оптерећења.

    Адреса 192.168.31.40 ће се користити као виртуелна ИП адреса (ВИП - сви ВПН клијенти ће се иницијално повезати на њу), са ове адресе ће Цлустер Мастер ПРЕУСМЕРИТИ на мање оптерећен чвор кластера. Не заборавите да се региструјете унапред и уназад ДНС записе како за сваку екстерну адресу/ФКДН сваког чвора кластера, тако и за ВИП.

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

    • Проверавамо рад кластера са два повезана клијента:

    Примена АСА ВПН кластера за балансирање оптерећења

    • Учинимо корисничко искуство практичнијим са аутоматски преузетим АниЦоннецт профилом преко АСДМ-а.

    Примена АСА ВПН кластера за балансирање оптерећења

    Именујемо профил на погодан начин и повезујемо нашу политику групе са њим:

    Примена АСА ВПН кластера за балансирање оптерећења

    Након следећег повезивања са клијентом, овај профил ће бити аутоматски преузет и инсталиран у АниЦоннецт клијенту, тако да ако треба да се повежете, само треба да га изаберете са листе:

    Примена АСА ВПН кластера за балансирање оптерећења

    Пошто смо користећи АСДМ креирали овај профил само на једном АСА-у, не заборавите да поновите кораке на преосталим АСА-овима у кластеру.

Закључак: Стога смо брзо применили кластер од неколико ВПН мрежних пролаза са аутоматским балансирањем оптерећења. Додавање нових чворова у кластер је једноставно, постижући једноставно хоризонтално скалирање применом нових АСАв виртуелних машина или коришћењем хардверских АСА. АниЦоннецт клијент богат функцијама може у великој мери побољшати ваше могућности безбедне даљинске везе помоћу Држање (процене стања), који се најефикасније користи у комбинацији са централизованим системом контроле приступа и рачуноводства Идентити Сервицес Енгине.

Извор: ввв.хабр.цом

Додај коментар