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.
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.
İ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: https://software.cisco.com/ -> 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. ayrıntılar burada.
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 her istemci masaüstü işletim sistemi için (Linux/Windows/MAC kullanılması planlanmaktadır) her ASA'ya bir görüntü indirmeniz gerekir. 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.
(İ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:
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.
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:
Artı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.
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.