Bu makalede, şu anda en ölçeklenebilir şemayı hızlı bir şekilde nasıl dağıtabileceğinize dair adım adım talimatlar sunmak istiyorum. Uzaktan Erişim VPN'i erişim tabanlı AnyConnect ve Cisco ASA - VPN Yük Dengeleme Kümesi.
Giriş: Dünya çapında pek çok şirket, COVID-19 ile birlikte yaşanan mevcut durum nedeniyle, çalışanlarını uzaktan çalışmaya aktarmak için çaba harcıyor. Uzaktan çalışmaya yaygın geçiş nedeniyle şirketlerin mevcut VPN ağ geçitleri üzerindeki yük kritik derecede artıyor ve bunların çok hızlı ölçeklenebilmesi gerekiyor. Öte yandan pek çok şirket, uzaktan çalışma kavramını aceleyle sıfırdan öğrenmek zorunda kalıyor.
İşletmelerin çalışanlar için uygun, güvenli ve ölçeklenebilir VPN erişimini hızlı bir şekilde uygulamasına yardımcı olmak amacıyla Cisco, zengin özelliklere sahip AnyConnect SSL-VPN istemcisi için 13 haftaya kadar lisanslar sağlar. .
.
En ölçeklenebilir VPN teknolojisi olarak VPN Yük Dengeleme kümesini dağıtmaya yönelik basit bir seçenek için adım adım talimatlar hazırladım.
Aşağıdaki örnek, kullanılan kimlik doğrulama ve yetkilendirme algoritmaları açısından oldukça basit olacaktır, ancak hızlı bir başlangıç için (bu, şu anda pek çok insanın eksik olduğu bir şeydir) derinlemesine adaptasyon olasılığı ile iyi bir seçenek olacaktır. Dağıtım işlemi sırasında ihtiyaçlarınızı karşılayın.
Kısa bilgi: VPN Yük Dengeleme Küme teknolojisi, asıl anlamıyla bir yük devretme veya kümeleme işlevi değildir; bu teknoloji, Uzaktan Erişim VPN bağlantılarının yükünü dengelemek için tamamen farklı ASA modellerini (belirli kısıtlamalarla) birleştirebilir. Böyle bir kümenin düğümleri arasında oturumların ve yapılandırmaların senkronizasyonu yoktur, ancak kümede en az bir aktif düğüm kalana kadar VPN bağlantılarının yükünü otomatik olarak dengelemek ve VPN bağlantılarının hata toleransını sağlamak mümkündür. Kümedeki yük, düğümlerin iş yüküne ve VPN oturum sayısına bağlı olarak otomatik olarak dengelenir.
Belirli küme düğümlerinin hata toleransı için (gerekiyorsa), bir filtreleyici kullanabilirsiniz, böylece etkin bağlantı, filtreleyicinin Birincil düğümü tarafından işlenir. Dosya devretme, Yük Dengeleme kümesinde hata toleransını sağlamak için gerekli bir koşul değildir; bir düğüm arızası durumunda kümenin kendisi, kullanıcı oturumunu başka bir canlı düğüme aktarır, ancak bağlantı durumunu korumaz; dosyalayıcı sağlar. Buna göre gerekirse bu iki teknoloji birleştirilebilir.
Bir VPN Yük Dengeleme kümesi ikiden fazla düğüm içerebilir.
VPN Yük Dengeleme kümesi ASA 5512-X ve üzeri sürümlerde desteklenir.
VPN Yük Dengeleme kümesindeki her ASA, ayarlar açısından bağımsız bir birim olduğundan, tüm yapılandırma adımlarını her cihazda ayrı ayrı gerçekleştiriyoruz.
Verilen örneğin mantıksal topolojisi şöyledir:

İlk Dağıtım:
-
İmajdan ihtiyacımız olan şablonların (ASAv5/10/30/50) ASAv örneklerini dağıtıyoruz.
-
INSIDE/OUTSIDE arayüzlerini aynı VLAN'a atarız (Dışarı kendi VLAN'ında, INSIDE kendi içinde, ancak küme içinde ortaktır, bkz. topoloji), aynı tipteki arayüzlerin aynı L2 segmentinde bulunması önemlidir.
-
Lisanslar:
- Kurulum sırasında ASav'ın herhangi bir lisansı olmayacak ve 100kbit/sn ile sınırlı olacaktır.
- Lisans yüklemek için Akıllı Hesap hesabınızda bir jeton oluşturmanız gerekir: -> Akıllı Yazılım Lisanslama
- Açılan pencerede butona tıklayın Yeni Simge

- Açılan penceredeki alanın aktif olduğundan ve onay kutusunun işaretli olduğundan emin olun. Dışa aktarma kontrollü işlevselliğe izin ver... Bu aktif alan olmadan güçlü şifreleme işlevlerini ve buna bağlı olarak VPN'i kullanamayacaksınız. Bu alan etkin değilse lütfen etkinleştirme talebinde bulunmak için hesap ekibinizle iletişime geçin.

- Düğmeye bastıktan sonra Jeton OluşturASAv lisansı almak için kullanacağımız bir jeton oluşturulacak, kopyalayın:

- Dağıtılan her ASAv için C,D,E adımlarını tekrarlayalım.
- Belirteci kopyalamayı kolaylaştırmak için telnet'i geçici olarak etkinleştirelim. Her bir ASA'yı yapılandıralım (aşağıdaki örnekte ASA-1'deki ayarlar gösterilmektedir). Dışarıdan telnet çalışmıyor, eğer gerçekten ihtiyacınız varsa, güvenlik seviyesini 100 olarak dışarıya değiştirin, sonra tekrar değiştirin.
! 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 !- Akıllı Hesap bulutuna bir jeton kaydetmek için ASA'ya İnternet erişimi sağlamanız gerekir. .
Kısacası ASA'ya ihtiyaç var:
- HTTPS üzerinden İnternet erişimi;
- zaman senkronizasyonu (daha doğrusu NTP aracılığıyla);
- kayıtlı DNS sunucusu;
- Telnet aracılığıyla ASA'mıza gidiyoruz ve lisansı Akıllı Hesap aracılığıyla etkinleştirmek için ayarları yapıyoruz.
! 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>- Cihazın başarıyla bir lisans kaydettirdiğini ve şifreleme seçeneklerinin mevcut olup olmadığını kontrol ediyoruz:


-
Her ağ geçidinde temel SSL-VPN'i yapılandırma
- Daha sonra SSH ve ASDM aracılığıyla erişimi yapılandırıyoruz:
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'nin çalışması için önce onu cisco.com'dan indirmelisiniz, benim durumumda bu aşağıdaki dosyadır:

- AnyConnect istemcisinin çalışması için, kullanılan (veya kullanılması planlanan) her masaüstü istemci işletim sistemi için her ASA cihazına bir imaj indirmeniz gerekir. Linux/Windows/MAC) aşağıdaki özelliklere sahip bir dosyaya ihtiyacınız olacak: Merkez Dağıtım Paketi Başlıkta:

- İndirilen dosyalar örneğin bir FTP sunucusuna yüklenebilir ve her bir ASA'ya yüklenebilir:

- SSL-VPN için ASDM ve Kendinden İmzalı sertifikayı yapılandırıyoruz (üretimde güvenilir bir sertifika kullanılması önerilir). Küme Sanal Adresinin (vpn-demo.ashes.cc) belirlenen FQDN'sinin yanı sıra her küme düğümünün harici adresiyle ilişkilendirilen her FQDN, harici DNS bölgesinde DIŞ arayüzün IP adresine (veya udp/443 bağlantı noktası yönlendirme (DTLS) ve tcp/443(TLS) kullanılıyorsa eşlenen adrese. Sertifika gereksinimlerine ilişkin ayrıntılı bilgi bölümde belirtilmiştir. Sertifika Doğrulaması dokümantasyon.
! 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'nin çalışmasını kontrol etmek için bağlantı noktasını belirtmeyi unutmayın, örneğin:

- Temel tünel ayarlarını yapalım:
- Kurumsal ağı bir tünel aracılığıyla erişilebilir hale getireceğiz ve İnternet'e doğrudan bağlanacağız (bağlanan ana bilgisayarda güvenlik önlemlerinin olmaması durumunda en güvenli yöntem bu değildir, virüslü bir ana bilgisayar üzerinden sızmak ve kurumsal verileri çıkarmak mümkündür, seçenek) bölünmüş tünel politikası tünel tümü tüm ana bilgisayar trafiğinin tünele girmesine izin verecektir. Yine de Bölünmüş Tünel VPN ağ geçidini rahatlatmayı ve ana bilgisayar İnternet trafiğini işlememeyi mümkün kılar)
- Tüneldeki ana bilgisayarları 192.168.20.0/24 alt ağındaki adreslerle yayınlayacağız (10 ila 30 adreslik bir havuz (düğüm #1 için)). Kümedeki her düğümün kendi VPN havuzu olmalıdır.
- ASA üzerinde yerel olarak oluşturulmuş bir kullanıcı ile temel kimlik doğrulaması yapalım (Bu önerilmez, en basit yöntemdir), kimlik doğrulamayı ASA üzerinden yapmak daha iyidir LDAP/RADIUSya da daha iyisi kravat Çok Faktörlü Kimlik Doğrulama (MFA)Örneğin 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 !- (İSTEĞE BAĞLI): Yukarıdaki örnekte, uzak kullanıcıların kimliğini doğrulamak için güvenlik duvarındaki yerel bir kullanıcıyı kullandık ve bu elbette laboratuvar dışında pek işe yaramaz. Kimlik doğrulama için kurulumun hızlı bir şekilde nasıl uyarlanacağına dair bir örnek vereceğim. RADIUS örneğin kullanılan sunucu Cisco Kimlik Hizmetleri Motoru:
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 !Bu entegrasyon, yalnızca kimlik doğrulama prosedürünü AD dizin hizmetiyle hızlı bir şekilde entegre etmeyi değil, aynı zamanda bağlı bilgisayarın AD'ye ait olup olmadığını ayırt etmeyi, bunun kurumsal bir cihaz mı yoksa kişisel bir cihaz mı olduğunu anlamayı ve bağlı bilgisayarın durumunu değerlendirmeyi de mümkün kıldı. cihaz.


- İstemci ile kurumsal ağın ağ kaynakları arasındaki trafiğe müdahale edilmemesi için Şeffaf NAT'ı yapılandıralım:
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- (İSTEĞE BAĞLI): Müşterilerimizi ASA aracılığıyla internete çıkarmak (kullanırken tünel Seçenekler) PAT kullanarak ve ayrıca bağlandıkları yerden aynı OUTSIDE arayüzünden çıkış yapmak için aşağıdaki ayarları yapmanız gerekir.
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 !- Bir küme kullanıldığında, dahili ağın hangi ASA'nın kullanıcılara dönüş trafiğini yönlendireceğini anlamasını sağlamak son derece önemlidir; bunun için istemcilere verilen rotaların /32 adresin yeniden dağıtılması gerekir.
Şu anda kümeyi henüz yapılandırmadık ancak FQDN veya IP aracılığıyla ayrı ayrı bağlanabileceğiniz çalışan VPN ağ geçitlerimiz zaten var.

Bağlı istemciyi ilk ASA'nın yönlendirme tablosunda görüyoruz:

VPN kümemizin tamamının ve kurumsal ağımızın tamamının istemcimize giden yolu bilmesi için, istemci önekini dinamik bir yönlendirme protokolüne, örneğin OSPF'ye yeniden dağıtacağız:
! 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-REDISTRIBUTEArtık ikinci ASA-2 ağ geçidinden istemciye giden bir rotamız var ve küme içindeki farklı VPN ağ geçitlerine bağlanan kullanıcılar, örneğin kullanıcı tarafından talep edilen kaynaklardan gelen dönüş trafiğinin gelmesi gibi, örneğin kurumsal bir yazılım telefonu aracılığıyla doğrudan iletişim kurabilirler. istenen VPN ağ geçidinde:

-
Yük Dengeleme kümesinin kurulumuna geçelim.
192.168.31.40 adresi Sanal IP olarak kullanılacaktır (VIP - tüm VPN istemcileri başlangıçta ona bağlanacaktır), Küme Yöneticisi bu adresten daha az yüklü bir küme düğümüne YÖNLENDİRECEKTİR. Kayıt olmayı unutmayın ileri ve geri DNS kayıtları hem her küme düğümünün her harici adresi/FQDN'si hem de VIP için.
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ümenin çalışmasını iki bağlı istemciyle kontrol ediyoruz:

- ASDM aracılığıyla otomatik olarak indirilen AnyConnect profiliyle müşteri deneyimini daha kullanışlı hale getirelim.

Profile uygun bir ad veriyoruz ve grup politikamızı onunla ilişkilendiriyoruz:

Bir sonraki istemci bağlantısından sonra, bu profil otomatik olarak AnyConnect istemcisine indirilecek ve yüklenecektir; dolayısıyla bağlanmanız gerekirse listeden seçmeniz yeterlidir:

ASDM'yi kullanarak bu profili yalnızca bir ASA üzerinde oluşturduğumuz için, kümedeki geri kalan ASA'larda adımları tekrarlamayı unutmayın.
Sonuç: Böylece, otomatik yük dengeleme özelliğine sahip birkaç VPN ağ geçidinden oluşan bir kümeyi hızlı bir şekilde dağıttık. Yeni ASav sanal makinelerini dağıtarak veya donanım ASA'larını kullanarak basit yatay ölçeklendirme elde ederek kümeye yeni düğümler eklemek kolaydır. Zengin özelliklere sahip AnyConnect istemcisi, aşağıdakileri kullanarak güvenli uzaktan bağlantı yeteneklerinizi büyük ölçüde artırabilir: Duruş (durum değerlendirmeleri)Merkezi erişim kontrolü ve muhasebe sistemiyle birlikte en etkili şekilde kullanılır Kimlik Hizmetleri Motoru.
Kaynak: habr.com
