Бул макалада мен учурда эң масштабдуу схеманы кантип тез арада жайгаштыруу боюнча этап-этабы менен көрсөтмөлөрдү бергим келет. Remote Access VPN мүмкүндүк алуу негизделген AnyConnect жана Cisco ASA - VPN жүктөөнү теңдөөчү кластер.
Киришүү: Дүйнө жүзү боюнча көптөгөн компаниялар, COVID-19 менен болгон учурдагы кырдаалды эске алуу менен, өз кызматкерлерин аралыктан иштөөгө өткөрүү аракетин көрүүдө. Алыскы иштөөгө массалык түрдө өтүүгө байланыштуу компаниялардын учурдагы VPN шлюздарына жүктөм кескин өсүп жатат жана аларды масштабдоо үчүн абдан тез жөндөмдүүлүк талап кылынат. Башка жагынан алып караганда, көптөгөн компаниялар шашылыш түрдө нөлдөн баштап аралыктан иштөө концепциясын өздөштүрүүгө аргасыз болушат.
Мен эң масштабдуу VPN технологиясы катары VPN Load-Balancing Clusterди жөнөкөй жайылтуу үчүн этап-этабы менен жолду даярдадым.
Төмөндөгү мисал колдонулган аутентификация жана авторизация алгоритмдери жагынан абдан жөнөкөй болот, бирок тез баштоо үчүн жакшы вариант болот (бул азыр көптөр үчүн жетишсиз) жана жайылтуу учурунда сиздин муктаждыктарыңызга терең ыңгайлашуу мүмкүнчүлүгү менен. процесс.
Кыскача маалымат: VPN Load Balancing Cluster технологиясы өзүнүн түпкү маанисинде иштебей калуу жана кластердик функция эмес, бул технология Remote-Access VPN байланыштарын жүктөө үчүн таптакыр башка ASA моделдерин (белгилүү чектөөлөр менен) айкалыштыра алат. Мындай кластердин түйүндөрүнүн ортосунда сеанстарды жана конфигурацияларды синхрондоштуруу жок, бирок VPN туташууларынын балансын автоматтык түрдө жүктөө жана кластерде жок дегенде бир активдүү түйүн калганга чейин VPN туташууларынын катачылыкка чыдамдуулугун камсыз кылуу мүмкүн. Кластердеги жүк VPN сеанстарынын саны боюнча түйүндөрдүн иш жүгүнө жараша автоматтык түрдө тең салмакталат.
Кластердин белгилүү түйүндөрүнүн үзгүлтүккө учурашы үчүн (зарыл болсо) филер колдонулушу мүмкүн, андыктан жигердүү туташуу филердин Негизги түйүнү тарабынан иштетилет. Fileover - бул Load-Balancing кластериндеги каталарга сабырдуулукту камсыз кылуу үчүн зарыл шарт эмес, кластердин өзү түйүн иштебей калса, колдонуучунун сеансын башка жандуу түйүнгө өткөрүп берет, бирок туташуу статусун сактабастан, бул так файл берүүчү тарабынан берилет. Демек, зарыл болсо, бул эки технологияны айкалыштырууга болот.
VPN Load-Balancing кластери экиден ашык түйүндү камтышы мүмкүн.
VPN Load-Balancing Cluster ASA 5512-X жана андан жогоруда колдоого алынат.
VPN Load-Balancing кластериндеги ар бир ASA орнотуулар боюнча көз карандысыз бирдик болгондуктан, биз конфигурациялоонун бардык кадамдарын ар бир түзмөктө өз алдынча аткарабыз.
Бизге керектүү калыптардын ASAv инстанцияларын (ASAv5/10/30/50) сүрөттөн колдонобуз.
Биз INSIDE / OUTSIDE интерфейстерин ошол эле VLANларга дайындайбыз (сыртында өзүнүн VLANында, INSIDE өзүндө, бирок жалпысынан кластердин ичинде, топологияны караңыз), бир типтеги интерфейстер бир эле L2 сегментинде болушу маанилүү.
Лицензиялар:
Учурда ASAv орнотуунун эч кандай лицензиясы болбойт жана 100 кбит/сек менен чектелет.
Лицензияны орнотуу үчүн Smart-аккаунтуңузда токен түзүү керек: https://software.cisco.com/ -> Smart программалык камсыздоону лицензиялоо
Ачылган терезеде баскычты басыңыз Жаңы Токен
Ачылган терезеде жигердүү талаа бар экенин жана белги коюлганын текшериңиз Экспорттук башкарылуучу функцияларга уруксат берүү... Бул талаа активдүү болбосо, сиз күчтүү шифрлөө жана, демек, VPN функцияларын колдоно албайсыз. Эгер бул талаа активдүү болбосо, активдештирүү өтүнүчү менен аккаунтуңуздун жамаатына кайрылыңыз.
Баскычын баскандан кийин Токен түзүү, биз ASAv лицензиясын алуу үчүн колдоно турган токен түзүлөт, аны көчүрүңүз:
Ар бир жайгаштырылган ASAv үчүн C,D,E кадамдарын кайталаңыз.
Токенди көчүрүүнү жеңилдетүү үчүн, келгиле, telnet'ке убактылуу уруксат берели. Келгиле, ар бир ASAны конфигурациялайлы (төмөндөгү мисал ASA-1деги орнотууларды көрсөтөт). telnet сырткы менен иштебейт, эгер сизге чындап керек болсо, коопсуздук деңгээлин 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
!
Smart-Account булутунда белгини каттоо үчүн, сиз ASA үчүн Интернетке кирүү мүмкүнчүлүгүн беришиңиз керек, чоо-жайы бул жерде.
Кыскасы, ASA керек:
HTTPS аркылуу интернетке кирүү;
убакыт синхрондоштуруу (туурараак, NTP аркылуу);
катталган DNS сервери;
Биз ASAга телнет байланышып, 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>
Түзмөктүн лицензияны ийгиликтүү каттаганын жана шифрлөө параметрлери бар экенин текшеребиз:
Ар бир шлюзда негизги SSL-VPN орнотуңуз
Андан кийин, SSH жана 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
!
ASDM иштеши үчүн, алгач аны cisco.com веб-сайтынан жүктөп алышыңыз керек, менин учурда бул төмөнкү файл:
AnyConnect кардары иштеши үчүн, ар бир колдонулган кардар иш столунун OS (Linux / Windows / MAC колдонууга пландаштырылган) үчүн ар бир ASAга сүрөт жүктөшүңүз керек, сизге файл керек болот. Headend Deployment Package Аталышында:
Жүктөлгөн файлдарды, мисалы, FTP серверине жана ар бир жеке ASAга жүктөөгө болот:
SSL-VPN үчүн ASDM жана Self-Signed сертификатын конфигурациялайбыз (өндүрүштө ишенимдүү сертификатты колдонуу сунушталат). Виртуалдык кластердик даректин (vpn-demo.ashes.cc) коюлган FQDN, ошондой эле ар бир кластер түйүнүнүн тышкы дареги менен байланышкан ар бир FQDN тышкы DNS зонасында ТЫШКЫ интерфейстин IP дарегине чечилиши керек (же эгер порт багыттоо udp/443 (DTLS) жана tcp/443(TLS) колдонулса, карталанган дарекке. Сертификатка коюлуучу талаптар боюнча толук маалымат бөлүмдө көрсөтүлгөн Тастыктаманы текшерүү документтер.
!
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
ASDM иштеп жатканын текшерүү үчүн портту көрсөтүүнү унутпаңыз, мисалы:
Туннелдин негизги орнотууларын жасайлы:
Корпоративдик тармакты туннель аркылуу жеткиликтүү кылып, Интернетти түз иштетели (эгер туташкан хостто коргоо жок болсо, эң коопсуз ыкма эмес, вирус жуккан хост аркылуу кирип, корпоративдик маалыматтарды көрсөтүүгө болот, опция бөлүү-туннель-политика туннелл бардык хост трафикти туннелге киргизет. Ошого карабастан бөлүү туннель VPN шлюзун түшүрүүгө жана хосттун интернет трафигин иштетүүгө мүмкүндүк берет)
Туннелдеги хостторго 192.168.20.0/24 субнеттен адрестерди чыгаралы (10дон 30га чейин бассейн (№1 түйүн үчүн)). VPN кластеринин ар бир түйүнүнүн өзүнүн бассейни болушу керек.
Биз ASA боюнча жергиликтүү түзүлгөн колдонуучу менен негизги аутентификацияны жүргүзөбүз (бул сунушталбайт, бул эң оңой ыкма), аутентификацияны аркылуу жүргүзгөн жакшы. LDAP/RADIUS, же андан да жакшысы, галстук Көп факторлуу аутентификация (MFA)Мисалы, Cisco DUO.
(КОЛДООЧО): Жогорудагы мисалда биз алыскы колдонуучулардын аутентификациясы үчүн ITUдагы жергиликтүү колдонуучуну колдондук, ал албетте лабораториядан башкасы начар колдонулат. Мен аныктыгын текшерүү үчүн орнотууну кантип тез ыңгайлаштырууга мисал келтирем RADIUS сервер, мисалы колдонулат Cisco Identity Services Engine:
Бул интеграция аутентификация процедурасын AD каталог кызматы менен тез интеграциялоого гана эмес, ошондой эле туташкан компьютер ADга таандык экендигин ажыратууга, бул аппарат корпоративдик же жеке экендигин түшүнүүгө жана туташкан түзүлүштүн абалын баалоого мүмкүндүк берди. .
Келгиле, Transparent NAT конфигурациясын кардар менен корпоративдик тармактын ресурстарынын ортосундагы трафик сызылып калбашы үчүн конфигурациялайлы:
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
(МИЛДЕТТҮҮ): Биздин кардарларды ASA аркылуу Интернетке чыгаруу үчүн (пайдаланууда tunnelall параметрлери) PAT аркылуу, ошондой эле алар туташкан ТЫШКЫ интерфейс аркылуу чыгуу үчүн, төмөнкү орнотууларды жасашыңыз керек.
Кластерди колдонууда, ички тармакты колдонуучуларга кайтаруучу трафикти кайсы АСА багыттоо керектигин түшүнүү үчүн иштетүү өтө маанилүү, ал үчүн кардарларга берилген маршруттарды / 32 даректи кайра бөлүштүрүү керек.
Учурда биз кластерди конфигурациялай элекпиз, бирок бизде FQDN же IP аркылуу өзүнчө туташтырылган VPN шлюздары бар.
Биринчи ASAнын маршруттук таблицасында туташкан кардарды көрөбүз:
Биздин бүт VPN кластерибиз жана бүт корпоративдик тармак кардарыбызга маршрутту билиши үчүн, биз кардар префиксин динамикалык маршрутташтыруу протоколуна кайра бөлүштүрөбүз, мисалы OSPF:
Эми бизде экинчи ASA-2 шлюзунан кардарга маршрут бар жана кластердин ичиндеги ар кандай VPN шлюздарына туташкан колдонуучулар, мисалы, корпоративдик программалык телефон аркылуу түз байланыша алышат, ошондой эле колдонуучу сураган ресурстардан трафикти кайтара алышат. каалаган VPN шлюзуна келиңиз:
192.168.31.40 дареги Виртуалдык IP катары колдонулат (VIP - бардык VPN кардарлары алгач ага туташат), бул даректен Мастер кластер аз жүктөлгөн кластер түйүнүнө REDIRECT жасайт. Жазганды унутпаңыз алдыга жана артка DNS жазуу кластердин ар бир түйүнүнүн ар бир тышкы дареги / FQDN үчүн да, VIP үчүн да.
Биз эки туташкан кардар менен кластердин ишин текшеребиз:
ASDM аркылуу автоматтык түрдө жүктөлгөн AnyConnect профили менен кардар тажрыйбасын ыңгайлуураак кылалы.
Биз профилди ыңгайлуу жол менен атайбыз жана аны менен биздин топтук саясатты байланыштырабыз:
Кардардын кийинки туташуусунан кийин, бул профиль автоматтык түрдө жүктөлүп алынат жана AnyConnect кардарына орнотулат, андыктан туташуу керек болсо, жөн гана аны тизмеден тандаңыз:
Биз бул профилди ASDM аркылуу бир гана ASAда түзгөндүктөн, кластердеги башка ASAлардагы кадамдарды кайталоону унутпаңыз.
корутундусу: Ошентип, биз тез арада жүктү автоматтык балансташтыруу менен бир нече VPN шлюздарынын кластерин жайгаштырдык. Жаңы ASAv виртуалдык машиналарын жайгаштыруу же аппараттык ASAларды колдонуу аркылуу жөнөкөй горизонталдуу масштабдоо менен кластерге жаңы түйүндөрдү кошуу оңой. өзгөчөлүктөргө бай AnyConnect кардары аркылуу коопсуз алыскы байланышты жакшыртат Поза (мамлекеттик баа), эң натыйжалуу борборлоштурулган башкаруу жана мүмкүндүк эсепке алуу системасы менен бирге колдонулат Identity Services Engine.