ProHoster > Blog > yönetim > Yüksek güvenlikli uzaktan erişim konseptinin uygulanması
Yüksek güvenlikli uzaktan erişim konseptinin uygulanması
Organizasyon konusuyla ilgili makale serisinin devamı Uzaktan Erişim VPN'i erişim İlginç dağıtım deneyimimi paylaşmadan edemem son derece güvenli VPN yapılandırması. Bir müşteri tarafından önemsiz olmayan bir görev sunuldu (Rus köylerinde mucitler var), ancak Mücadele kabul edildi ve yaratıcı bir şekilde uygulandı. Sonuç, aşağıdaki özelliklere sahip ilginç bir konsepttir:
Terminal cihazının değiştirilmesine karşı çeşitli koruma faktörleri (kullanıcıyı sıkı bir şekilde bağlayan);
Kullanıcının bilgisayarının, kimlik doğrulama veritabanında izin verilen bilgisayarın atanmış UDID'si ile uyumluluğunun değerlendirilmesi;
Cisco DUO aracılığıyla ikincil kimlik doğrulama için sertifikadaki PC UDID'sini kullanan MFA ile (SAML/Radius uyumlu herhangi bir tanesini ekleyebilirsiniz);
Çok faktörlü kimlik doğrulama:
Bunlardan birine karşı alan doğrulaması ve ikincil kimlik doğrulaması içeren kullanıcı sertifikası;
Kullanıcı adı (değiştirilemez, sertifikadan alınır) ve şifre;
Bağlanan ana bilgisayarın durumunu tahmin etme (Duruş)
Kullanılan çözüm bileşenleri:
Cisco ASA (VPN Ağ Geçidi);
Cisco ISE (Kimlik Doğrulama / Yetkilendirme / Muhasebe, Durum Değerlendirmesi, CA);
Cisco DUO (Çok Faktörlü Kimlik Doğrulama) (SAML/Radius uyumlu herhangi bir tanesini ekleyebilirsiniz);
Cisco AnyConnect (İş istasyonları ve mobil işletim sistemi için çok amaçlı aracı);
Müşterinin gereksinimleriyle başlayalım:
Kullanıcı, Oturum Açma/Şifre kimlik doğrulaması aracılığıyla AnyConnect istemcisini VPN ağ geçidinden indirebilmelidir; gerekli tüm AnyConnect modülleri, kullanıcının politikasına uygun olarak otomatik olarak kurulmalıdır;
Kullanıcının otomatik olarak bir sertifika verebilmesi gerekir (senaryolardan biri için ana senaryo manuel olarak verme ve bir PC'ye yüklemedir), ancak ben gösteri için otomatik yayınlamayı uyguladım (bunu kaldırmak için asla geç değildir).
Temel kimlik doğrulama birkaç aşamada gerçekleşmelidir; önce gerekli alanların ve değerlerinin analiziyle sertifika kimlik doğrulaması yapılır, ardından kullanıcı adı/şifre yapılır, yalnızca bu kez sertifika alanında belirtilen kullanıcı adı oturum açma penceresine eklenmelidir Konu Adı (CN) düzenleme yeteneği olmadan.
Giriş yaptığınız cihazın, kullanıcıya uzaktan erişim için verilen kurumsal dizüstü bilgisayar olduğundan, başka bir şey olmadığından emin olmanız gerekir. (Bu gereksinimi karşılamak için çeşitli seçenekler yapılmıştır)
Bağlantı cihazının durumu (bu aşamada PC), geniş bir müşteri gereksinimleri tablosunun (özetlenerek) kontrol edilmesiyle değerlendirilmelidir:
Dosyalar ve özellikleri;
Kayıt girişleri;
Sağlanan listeden işletim sistemi yamaları (daha sonra SCCM entegrasyonu);
Anti-Virüs'ün belirli bir üreticiden temin edilebilirliği ve imzaların uygunluğu;
Belirli hizmetlerin etkinliği;
Belirli yüklü programların kullanılabilirliği;
Başlangıç olarak, sonuçta ortaya çıkan uygulamanın video gösterimine mutlaka göz atmanızı öneririm. Youtube (5 dakika).
Şimdi video klipte yer almayan uygulama ayrıntılarını dikkate almayı öneriyorum.
AnyConnect profilini hazırlayalım:
Daha önce ayarlarla ilgili yazımda profil oluşturma örneğini (ASDM'deki bir menü öğesi açısından) vermiştim. VPN Yük Dengeleme Kümesi. Şimdi ihtiyaç duyacağımız seçenekleri ayrı ayrı not etmek istiyorum:
Profilde, son istemciye bağlanmak için VPN ağ geçidini ve profil adını belirteceğiz:
Profil tarafından, özellikle sertifika parametrelerini belirten ve karakteristik olarak alana dikkat eden bir sertifikanın otomatik olarak verilmesini yapılandıralım. Baş harfler (I)belirli bir değerin manuel olarak girildiği yer SEN YAPTIN test makinesi (Cisco AnyConnect istemcisi tarafından oluşturulan benzersiz cihaz tanımlayıcısı).
Bu makale kavramı açıkladığı için burada lirik bir ara vermek istiyorum; gösteri amacıyla, sertifika vermek için UDID, AnyConnect profilinin Baş Harfleri alanına girilir. Elbette, gerçek hayatta bunu yaparsanız, tüm istemciler bu alanda aynı UDID'ye sahip bir sertifika alacak ve kendi bilgisayarlarının UDID'sine ihtiyaç duydukları için hiçbir şey onlar için işe yaramayacaktır. AnyConnect, ne yazık ki, örneğin bir değişkenle yaptığı gibi, UDID alanının sertifika istek profiline bir ortam değişkeni aracılığıyla değiştirilmesini henüz uygulamamaktadır. %KULLANICI%.
Müşterinin (bu senaryoda) başlangıçta bu tür Korumalı PC'lere manuel modda belirli bir UDID ile bağımsız olarak sertifikalar vermeyi planladığını ve bunun onun için sorun olmadığını belirtmekte fayda var. Ancak çoğumuz için otomasyon istiyoruz (benim için bu doğru =)).
Otomasyon açısından sunabileceğim şey budur. AnyConnect, UDID'yi dinamik olarak değiştirerek otomatik olarak sertifika veremiyorsa, o zaman biraz yaratıcı düşünce ve becerikli eller gerektirecek başka bir yol daha var - size konsepti anlatacağım. Öncelikle UDID'nin farklı işletim sistemlerinde AnyConnect aracısı tarafından nasıl oluşturulduğuna bakalım:
Windows — DigitalProductID ve Makine SID kayıt anahtarı kombinasyonunun SHA-256 karması
Buna göre kurumsal Windows işletim sistemimiz için bir komut dosyası oluşturuyoruz, bu komut dosyasıyla bilinen girişleri kullanarak UDID'yi yerel olarak hesaplıyoruz ve bu UDID'yi gerekli alana girerek sertifika verilmesi için bir talep oluşturuyoruz, bu arada bir makine de kullanabilirsiniz AD tarafından verilen sertifika (şemaya bir sertifika kullanarak çift kimlik doğrulama ekleyerek Çoklu Sertifika).
Cisco ASA tarafındaki ayarları hazırlayalım:
ISE CA sunucusu için bir TrustPoint oluşturalım, istemcilere sertifika verecek olan o olacaktır. Anahtar Zinciri içe aktarma prosedürünü dikkate almayacağım; kurulumla ilgili makalemde bir örnek anlatılıyor VPN Yük Dengeleme Kümesi.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
Kimlik doğrulama için kullanılan sertifikadaki alanlara uygun olarak kurallara göre Tünel Grubuna göre dağıtımı yapılandırıyoruz. Bir önceki aşamada oluşturduğumuz AnyConnect profili de burada yapılandırılıyor. Lütfen değeri kullandığımı unutmayın GÜVENLİBANK-RA, verilen sertifikaya sahip kullanıcıları bir tünel grubuna aktarmak için GÜVENLİ-BANKA-VPN, AnyConnect profili sertifika isteği sütununda bu alanın bulunduğunu lütfen unutmayın.
Kimlik doğrulama sunucularını ayarlama. Benim durumumda bu, kimlik doğrulamanın ilk aşaması için ISE ve MFA olarak DUO'dur (Radius Proxy).
! CISCO ISE
aaa-server ISE protocol radius
authorize-only
interim-accounting-update periodic 24
dynamic-authorization
aaa-server ISE (inside) host 192.168.99.134
key *****
!
! DUO RADIUS PROXY
aaa-server DUO protocol radius
aaa-server DUO (inside) host 192.168.99.136
timeout 60
key *****
authentication-port 1812
accounting-port 1813
no mschapv2-capable
!
Grup politikaları ve tünel grupları ve bunların yardımcı bileşenlerini oluşturuyoruz:
Tünel grubu VarsayılanWEBVPNGrubu öncelikle AnyConnect VPN istemcisini indirmek ve ASA'nın SCEP-Proxy işlevini kullanarak bir kullanıcı sertifikası vermek için kullanılacaktır; bunun için hem tünel grubunun kendisinde hem de ilgili grup politikasında ilgili seçenekleri etkinleştirdik AC-İndirve yüklenen AnyConnect profilinde (sertifika verme alanları vb.). Ayrıca bu grup politikasında indirme ihtiyacını belirtiyoruz ISE Duruş Modülü.
Tünel grubu GÜVENLİ-BANKA-VPN Sertifika Haritasına göre bağlantı özellikle bu tünel grubuna düşeceğinden, önceki aşamada verilen sertifikayla kimlik doğrulaması yapılırken müşteri tarafından otomatik olarak kullanılacaktır. Burada size ilginç seçeneklerden bahsedeceğim:
ikincil kimlik doğrulama sunucusu grubu DUO # DUO sunucusunda (Radius Proxy) ikincil kimlik doğrulamayı ayarlayın
sertifikadan-kullanıcı adıCN # Birincil kimlik doğrulama için, kullanıcı oturum açma bilgilerini devralmak üzere sertifikanın CN alanını kullanırız
sertifikadan gelen ikincil kullanıcı adı I # DUO sunucusunda ikincil kimlik doğrulama için, çıkarılan kullanıcı adını ve sertifikanın Baş Harfleri (I) alanlarını kullanıyoruz.
kullanıcı adını önceden doldurma istemcisi # kullanıcı adını değiştirme olanağı olmadan kimlik doğrulama penceresinde önceden doldurulmuş hale getirin
ikincil-ön-doldurma-kullanıcı adı istemcisi gizleme kullanımı-ortak-şifre gönderme # İkincil kimlik doğrulama DUO'su için oturum açma/şifre giriş penceresini gizleriz ve kimlik doğrulama isteğinde bulunmak için şifre alanı yerine bildirim yöntemini (sms/push/telefon) kullanırız burada
!
access-list posture-redirect extended permit tcp any host 72.163.1.80
access-list posture-redirect extended deny ip any any
!
access-list VPN-Filter extended permit ip any any
!
ip local pool vpn-pool 192.168.100.33-192.168.100.63 mask 255.255.255.224
!
group-policy SECURE-BANK-VPN internal
group-policy SECURE-BANK-VPN attributes
dns-server value 192.168.99.155 192.168.99.130
vpn-filter value VPN-Filter
vpn-tunnel-protocol ssl-client
split-tunnel-policy tunnelall
default-domain value ashes.cc
address-pools value vpn-pool
webvpn
anyconnect ssl dtls enable
anyconnect mtu 1300
anyconnect keep-installer installed
anyconnect ssl keepalive 20
anyconnect ssl rekey time none
anyconnect ssl rekey method ssl
anyconnect dpd-interval client 30
anyconnect dpd-interval gateway 30
anyconnect ssl compression lzs
anyconnect dtls compression lzs
anyconnect modules value iseposture
anyconnect profiles value SECUREBANK type user
!
group-policy AC-DOWNLOAD internal
group-policy AC-DOWNLOAD attributes
dns-server value 192.168.99.155 192.168.99.130
vpn-filter value VPN-Filter
vpn-tunnel-protocol ssl-client
split-tunnel-policy tunnelall
default-domain value ashes.cc
address-pools value vpn-pool
scep-forwarding-url value http://ise.ashes.cc:9090/auth/caservice/pkiclient.exe
webvpn
anyconnect ssl dtls enable
anyconnect mtu 1300
anyconnect keep-installer installed
anyconnect ssl keepalive 20
anyconnect ssl rekey time none
anyconnect ssl rekey method ssl
anyconnect dpd-interval client 30
anyconnect dpd-interval gateway 30
anyconnect ssl compression lzs
anyconnect dtls compression lzs
anyconnect modules value iseposture
anyconnect profiles value SECUREBANK type user
!
tunnel-group DefaultWEBVPNGroup general-attributes
address-pool vpn-pool
authentication-server-group ISE
accounting-server-group ISE
default-group-policy AC-DOWNLOAD
scep-enrollment enable
tunnel-group DefaultWEBVPNGroup webvpn-attributes
authentication aaa certificate
!
tunnel-group SECURE-BANK-VPN type remote-access
tunnel-group SECURE-BANK-VPN general-attributes
address-pool vpn-pool
authentication-server-group ISE
secondary-authentication-server-group DUO
accounting-server-group ISE
default-group-policy SECURE-BANK-VPN
username-from-certificate CN
secondary-username-from-certificate I
tunnel-group SECURE-BANK-VPN webvpn-attributes
authentication aaa certificate
pre-fill-username client
secondary-pre-fill-username client hide use-common-password push
group-alias SECURE-BANK-VPN enable
dns-group ASHES-DNS
!
Daha sonra İMKB'ye geçiyoruz:
Yerel bir kullanıcı yapılandırıyoruz (AD/LDAP/ODBC vb. kullanabilirsiniz), basitlik açısından, ISE'nin kendisinde bir yerel kullanıcı oluşturdum ve onu alana atadım. tanımUDID bilgisayarı VPN aracılığıyla oturum açmasına izin veriliyor. ISE'de yerel kimlik doğrulama kullanırsam, çok fazla alan olmadığı için yalnızca bir cihazla sınırlı kalacağım, ancak üçüncü taraf kimlik doğrulama veritabanlarında bu tür kısıtlamalara sahip olmayacağım.
Yetkilendirme politikasına bakalım, dört bağlantı aşamasına ayrılmıştır:
1 Adım — AnyConnect aracısını indirme ve sertifika verme politikası
İlginç bir duruma bakalım UUID_VALIDATED, kimlik doğrulaması yapan kullanıcının aslında alanda izin verilen bir UDID ile ilişkilendirilmiş bir bilgisayardan geldiği anlaşılıyor Açıklama hesapta koşullar şöyle görünür:
1,2,3 aşamalarında kullanılan yetkilendirme profili aşağıdaki gibidir:
AnyConnect istemcisinden gelen UDID'nin bize tam olarak nasıl ulaştığını ISE'deki istemci oturumu ayrıntılarına bakarak kontrol edebilirsiniz. Ayrıntılı olarak AnyConnect mekanizması aracılığıyla göreceğiz ASİTEX yalnızca platform hakkındaki bilgileri değil aynı zamanda cihazın UDID'sini de gönderir. Cisco-AV-ÇİFT:
Kullanıcıya ve alana verilen sertifikaya dikkat edelim Baş harfler (I), bunu Cisco DUO'da ikincil MFA kimlik doğrulaması için oturum açma adı olarak almak için kullanılır:
Günlüğün DUO Radius Proxy tarafında, kimlik doğrulama isteğinin nasıl yapıldığını açıkça görebiliriz, kullanıcı adı olarak UDID kullanılarak gelir:
DUO portalından başarılı bir kimlik doğrulama olayı görüyoruz:
Ve kullanıcı özelliklerinde ayarladım ALIASoturum açmak için kullandığım bu da oturum açmaya izin verilen bilgisayarın UDID'sidir:
Sonuç olarak şunu elde ettik:
Çok faktörlü kullanıcı ve cihaz kimlik doğrulaması;
Kullanıcının cihazının sahtekarlığına karşı koruma;
Cihazın durumunun değerlendirilmesi;
Etki alanı makine sertifikası vb. ile artırılmış kontrol potansiyeli;
Otomatik olarak dağıtılan güvenlik modülleriyle kapsamlı uzaktan işyeri koruması;