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:

  1. 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);
  2. Ç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;
  3. 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:

  1. 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;
  2. 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).
  3. 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.
  4. 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)
  5. 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:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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ı).

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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ı
  • OSX — SHA-256 karma PlatformUUID
  • Linux — Kök bölümün UUID'sinin SHA-256 karması.
  • Apple iOS — SHA-256 karma PlatformUUID
  • Android – Şuradaki belgeye bakın: bağlantı

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.

tunnel-group-map enable rules
!
crypto ca certificate map OU-Map 6
 subject-name attr ou eq securebank-ra
!
webvpn
 anyconnect profiles SECUREBANK disk0:/securebank.xml
 certificate-group-map OU-Map 6 SECURE-BANK-VPN
!

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ım UDID 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.

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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ı
  • 2 Adım — Birincil kimlik doğrulama politikası Oturum Açma (sertifikadan)/Parola + UDID doğrulamalı Sertifika
  • 3 Adım — Kullanıcı adı olarak UDID + Durum değerlendirmesi kullanılarak Cisco DUO (MFA) aracılığıyla ikincil kimlik doğrulama
  • 4 Adım — Nihai yetki şu eyalettedir:
    • Uysal;
    • UDID doğrulaması (sertifika + oturum açma bağlamasından),
    • Cisco DUO MFA;
    • Giriş yaparak kimlik doğrulama;
    • Sertifika kimlik doğrulaması;

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

İ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:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

1,2,3 aşamalarında kullanılan yetkilendirme profili aşağıdaki gibidir:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

DUO portalından başarılı bir kimlik doğrulama olayı görüyoruz:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

Ve kullanıcı özelliklerinde ayarladım ALIASoturum açmak için kullandığım bu da oturum açmaya izin verilen bilgisayarın UDID'sidir:

Yüksek güvenlikli uzaktan erişim konseptinin uygulanması

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ı;

Cisco VPN serisi makalelerine bağlantılar:

Kaynak: habr.com

Yorum ekle