Utfiering fan it konsept fan heul feilige tagong op ôfstân

Trochgean mei de searje artikels oer it ûnderwerp fan organisaasje VPN op ôfstân tagong Ik kin it net helpe om myn ynteressante ynsetûnderfining te dielen heul feilige VPN-konfiguraasje. In net-triviale taak waard presintearre troch ien klant (d'r binne útfiners yn Russyske doarpen), mar de Challenge waard akseptearre en kreatyf útfierd. It resultaat is in nijsgjirrich konsept mei de folgjende skaaimerken:

  1. Ferskate faktoaren fan beskerming tsjin ferfanging fan it terminalapparaat (mei strikte bining foar de brûker);
    • Beoardieling fan de konformiteit fan 'e PC fan' e brûker mei de tawiisde UDID fan 'e tastiene PC yn' e autentikaasjedatabase;
    • Mei MFA mei help fan de PC UDID út it sertifikaat foar sekundêre autentikaasje fia Cisco DUO (Jo kinne elke SAML / Radius-kompatibel taheakje);
  2. Multi-faktor autentikaasje:
    • Brûkerssertifikaat mei fjildferifikaasje en sekundêre autentikaasje tsjin ien fan har;
    • Oanmelde (net te feroarjen, nommen út it sertifikaat) en wachtwurd;
  3. Berekkenje de steat fan 'e ferbinende host (Posture)

Brûkte oplossingskomponinten:

  • Cisco ASA (VPN Gateway);
  • Cisco ISE (Autentikaasje / Autorisaasje / Accounting, State Evaluaasje, CA);
  • Cisco DUO (Multi-Factor Authentication) (Jo kinne elke SAML / Radius-kompatibel taheakje);
  • Cisco AnyConnect (Multi-purpose agint foar wurkstasjons en mobile OS);

Litte wy begjinne mei de easken fan 'e klant:

  1. De brûker moat, fia syn Login / Wachtwurd-autentikaasje, de AnyConnect-kliïnt kinne downloade fan 'e VPN-gateway; alle nedige AnyConnect-modules moatte automatysk ynstalleare wurde yn oerienstimming mei it belied fan 'e brûker;
  2. De brûker moat in sertifikaat automatysk kinne útjaan (foar ien fan 'e senario's is it haadsenario hânmjittich útjaan en uploaden op in PC), mar ik ymplementearre automatyske útjefte foar demonstraasje (it is noait te let om it te ferwiderjen).
  3. Basisferifikaasje moat plakfine yn ferskate stadia, earst is d'r sertifikaatferifikaasje mei analyze fan 'e nedige fjilden en har wearden, dan oanmelde / wachtwurd, allinich dizze kear moat de brûkersnamme opjûn yn it sertifikaatfjild yn it oanmeldfinster wurde ynfoege Underwerpnamme (CN) sûnder de mooglikheid om te bewurkjen.
  4. Jo moatte der wis fan wêze dat it apparaat wêrfan jo ynlogge de bedriuwslaptop is dy't útjûn is oan de brûker foar tagong op ôfstân, en net wat oars. (Ferskate opsjes binne makke om oan dizze eask te foldwaan)
  5. De steat fan it ferbinende apparaat (op dit stadium PC) moat wurde beoardiele mei in kontrôle fan in heule heftige tabel fan klanteasken (gearfetting):
    • Triemmen en harren eigenskippen;
    • Registry yngongen;
    • OS-patches fan 'e levere list (letter SCCM-yntegraasje);
    • Beskikberens fan Anti-Virus fan in spesifike fabrikant en relevânsje fan hantekeningen;
    • aktiviteit fan bepaalde tsjinsten;
    • Beskikberens fan bepaalde ynstalleare programma's;

Om te begjinnen, stel ik foar dat jo perfoarst sjogge nei de fideodemonstraasje fan 'e resultearjende ymplemintaasje op Youtube (5 minuten).

No stel ik foar om de ymplemintaasjedetails te beskôgjen dy't net yn 'e fideoklip binne behannele.

Litte wy it AnyConnect-profyl tariede:

Ik joech earder in foarbyld fan it meitsjen fan in profyl (yn termen fan in menu-item yn ASDM) yn myn artikel oer ynstelling VPN Load-Balancing Cluster. No wol ik de opsjes apart notearje dy't wy nedich binne:

Yn it profyl sille wy de VPN-gateway en de profylnamme oanjaan foar ferbining mei de einkliïnt:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Litte wy de automatyske útjefte fan in sertifikaat fan 'e profylkant konfigurearje, yn it bysûnder de sertifikaatparameters oanjaan en, karakteristyk, omtinken jaan oan it fjild Inisjalen (I), dêr't in spesifike wearde mei de hân ynfierd wurdt UID test masine (Unike apparaat identifier dat wurdt oanmakke troch de Cisco AnyConnect client).

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Hjir wol ik in lyryske digresje meitsje, om't dit artikel it konsept beskriuwt; foar demonstraasjedoelen wurdt de UDID foar it útjaan fan in sertifikaat ynfierd yn it Initials-fjild fan it AnyConnect-profyl. Fansels, yn it echte libben, as jo dit dogge, dan krije alle kliïnten in sertifikaat mei deselde UDID op dit fjild en neat sil foar har wurkje, om't se de UDID fan har spesifike PC nedich binne. AnyConnect implementeart spitigernôch noch gjin ferfanging fan it UDID-fjild yn it sertifikaatfersykprofyl fia in omjouwingsfariabele, lykas it docht, bygelyks, mei in fariabele %BRÛKER%.

It is de muoite wurdich opskriuwen dat de klant (fan dit senario) yn earste ynstânsje plannen om selsstannich útjaan sertifikaten mei in opjûne UDID yn hânmjittich modus oan sokke Protected PCs, dat is gjin probleem foar him. Foar de measten fan ús wolle wy lykwols automatisearring (goed, foar my is it wier =)).

En dit is wat ik kin biede yn termen fan automatisearring. As AnyConnect noch net yn steat is om automatysk in sertifikaat út te jaan troch dynamysk de UDID te ferfangen, dan is d'r in oare manier dy't in bytsje kreatyf tinken en betûfte hannen sil fereaskje - ik sil jo it konsept fertelle. Litte wy earst sjen hoe't de UDID wurdt generearre op ferskate bestjoeringssystemen troch de AnyConnect-agint:

  • Windows - SHA-256-hash fan 'e kombinaasje fan' e DigitalProductID en Machine SID-registerkaai
  • OSX - SHA-256 hash PlatfoarmUUID
  • linux - SHA-256-hash fan 'e UUID fan' e root-partysje.
  • Apple iOS - SHA-256 hash PlatfoarmUUID
  • Android - Sjoch dokumint op link

Dêrtroch meitsje wy in skript foar ús bedriuw Windows OS, mei dit skript berekkenje wy de UDID lokaal mei bekende yngongen en foarmje in fersyk foar it útjaan fan in sertifikaat troch dizze UDID yn te fieren yn it fereaske fjild, trouwens, jo kinne ek in masine brûke sertifikaat útjûn troch AD (troch dûbele autentikaasje ta te foegjen mei in sertifikaat oan it skema Meardere sertifikaat).

Litte wy de ynstellings op 'e Cisco ASA-kant tariede:

Litte wy in TrustPoint meitsje foar de ISE CA-tsjinner, it sil dejinge wêze dy't sertifikaten sil útjaan oan kliïnten. Ik sil de Key-Chain ymportproseduere net beskôgje; in foarbyld wurdt beskreaun yn myn artikel oer opset VPN Load-Balancing Cluster.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

Wy konfigurearje distribúsje troch Tunnel-Group basearre op regels yn oerienstimming mei de fjilden yn it sertifikaat dat wurdt brûkt foar autentikaasje. It AnyConnect-profyl dat wy makke hawwe yn 'e foarige etappe is hjir ek konfigureare. Tink derom dat ik de wearde brûke SECUREBANK-RA, om brûkers mei in útjûn sertifikaat oer te bringen nei in tunnelgroep SECURE-BANK-VPN, Tink derom dat ik dit fjild haw yn 'e kolom foar oanfraach foar AnyConnect profylsertifikaat.

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
!

It ynstellen fan autentikaasjeservers. Yn myn gefal is dit ISE foar de earste faze fan autentikaasje en DUO (Radius Proxy) as MFA.

! 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
!

Wy meitsje groepsbelied en tunnelgroepen en har helpkomponinten:

Tunnelgroep StandertWEBVPNGroup sil primêr brûkt wurde om de AnyConnect VPN-kliïnt te downloaden en in brûkerssertifikaat út te jaan mei de SCEP-Proxy-funksje fan 'e ASA; hjirfoar hawwe wy de oerienkommende opsjes aktivearre sawol op 'e tunnelgroep sels as op it assosjearre groepsbelied AC-Download, en op it laden AnyConnect-profyl (fjilden foar it útjaan fan in sertifikaat, ensfh.). Ek yn dit groepsbelied jouwe wy de needsaak oan om te downloaden ISE Posture Module.

Tunnelgroep SECURE-BANK-VPN sil automatysk wurde brûkt troch de kliïnt by it autentisearjen mei it útjûne sertifikaat yn 'e foarige etappe, om't, yn oerienstimming mei de sertifikaatkaart, de ferbining spesifyk sil falle op dizze tunnelgroep. Ik sil jo hjir fertelle oer ynteressante opsjes:

  • sekundêre-autentikaasje-tsjinner-groep DUO # Sekundêre autentikaasje ynstelle op 'e DUO-tsjinner (Radius Proxy)
  • brûkersnamme-fan-sertifikaatCN # Foar primêre autentikaasje brûke wy it CN-fjild fan it sertifikaat om de brûkersoanmelding te erven
  • sekundêre-brûkersnamme-fan-sertifikaat I # Foar sekundêre autentikaasje op 'e DUO-tsjinner brûke wy de ekstrahearre brûkersnamme en de Initialen (I) fjilden fan it sertifikaat.
  • pre-fill-brûkersnamme client # meitsje de brûkersnamme foarôf ynfolle yn it autentikaasjefinster sûnder de mooglikheid om te feroarjen
  • secondary-pre-fill-username client hide use-common-password push # Wy ferbergje it oanmeld- / wachtwurdynfierfinster foar sekundêre autentikaasje DUO en brûke de notifikaasjemetoade (sms/push/tillefoan) - dock om autentikaasje oan te freegjen ynstee fan it wachtwurdfjild hjir

!
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
!

Folgjende geane wy ​​troch nei ISE:

Wy konfigurearje in lokale brûker (jo kinne AD / LDAP / ODBC brûke, ensfh.), Foar ienfâld haw ik in lokale brûker yn ISE sels makke en it yn it fjild tawiisd. beskriuwing UDID PC dêr't hy mei ynlogge fia VPN. As ik brûk lokale autentikaasje op ISE, Ik sil wurde beheind ta mar ien apparaat, sûnt der binne net folle fjilden, mar yn tredden autentikaasje databases Ik sil net hawwe sokke beheinings.

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Litte wy nei it autorisaasjebelied sjen, it is ferdield yn fjouwer ferbiningsstadia:

  • Stage 1 - Belied foar it downloaden fan de AnyConnect-agint en it útjaan fan in sertifikaat
  • Stage 2 - Primêr autentikaasjebelied Oanmelde (fan sertifikaat) / Wachtwurd + Sertifikaat mei UDID-validaasje
  • Stage 3 - Sekundêre autentikaasje fia Cisco DUO (MFA) mei UDID as brûkersnamme + State assessment
  • Stage 4 - Finale autorisaasje is yn 'e steat:
    • compliant;
    • UDID-validaasje (fan sertifikaat + login-ferbining),
    • Cisco DUO MFA;
    • Autentikaasje troch oanmelding;
    • Sertifikaat autentikaasje;

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Litte wy nei in nijsgjirrige betingst sjen UUID_VALIDATED, it liket krekt as de autentisearjende brûker eins kaam fan in PC mei in tastiene UDID ferbûn yn it fjild Beskriuwing account, sjogge de betingsten der sa út:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

It autorisaasjeprofyl brûkt yn stadia 1,2,3 is as folget:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Jo kinne krekt kontrolearje hoe't de UDID fan 'e AnyConnect-kliïnt by ús komt troch te sjen nei de details fan' e kliïntsesje yn ISE. Yn detail sille wy sjen dat AnyConnect troch it meganisme ACIDEX stjoert net allinnich ynformaasje oer it platfoarm, mar ek de UDID fan it apparaat as Cisco-AV-PAIR:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Litte wy omtinken jaan oan it sertifikaat útjûn oan de brûker en it fjild Inisjalen (I), dat wurdt brûkt om it te nimmen as in oanmelding foar sekundêre MFA-ferifikaasje op Cisco DUO:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Oan 'e DUO Radius Proxy-kant yn it log kinne wy ​​dúdlik sjen hoe't it ferifikaasjefersyk wurdt makke, it komt mei UDID as brûkersnamme:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

Fanút it DUO-portaal sjogge wy in suksesfolle ferifikaasje-evenemint:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

En yn 'e brûkerseigenskippen haw ik it ynsteld ALIAS, dy't ik brûkte foar oanmelding, op syn beurt, dit is de UDID fan 'e PC tastien foar oanmelding:

Utfiering fan it konsept fan heul feilige tagong op ôfstân

As resultaat krigen wy:

  • Multi-faktor brûker en apparaat autentikaasje;
  • Beskerming tsjin spoofing fan it apparaat fan 'e brûker;
  • beoardieling fan de tastân fan it apparaat;
  • Potinsjeel foar ferhege kontrôle mei domein masine sertifikaat, etc .;
  • Wiidweidige beskerming op ôfstân wurkplak mei automatysk ynset feiligens modules;

Keppelings nei artikels fan Cisco VPN-searje:

Boarne: www.habr.com

Add a comment