ProHoster > Blog > Bestjoer > Utfiering fan it konsept fan heul feilige tagong op ôfstân
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:
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);
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;
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:
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;
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).
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.
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)
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:
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).
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.
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.
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. beskriuwingUDID 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.
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
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:
It autorisaasjeprofyl brûkt yn stadia 1,2,3 is as folget:
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:
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:
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:
Fanút it DUO-portaal sjogge wy in suksesfolle ferifikaasje-evenemint:
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:
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;