Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine
Organisatsiooniteemalise artiklisarja jätkamine Kaugjuurdepääsu VPN juurdepääs Ma ei saa jätta jagamata oma huvitavat juurutamiskogemust väga turvaline VPN-i konfiguratsioon. Üks klient esitas mittetriviaalse ülesande (Vene külades on leiutajaid), kuid Väljakutse võeti vastu ja viidi loominguliselt ellu. Tulemuseks on huvitav kontseptsioon, millel on järgmised omadused:
Mitmed kaitsefaktorid lõppseadme asendamise eest (kasutajale range sidumisega);
Kasutaja arvuti vastavuse hindamine lubatud arvuti UDID-le autentimisandmebaasis;
MFA-ga, kasutades sertifikaadilt PC UDID-d sekundaarseks autentimiseks Cisco DUO kaudu (Saate lisada mis tahes SAML-i/raadiusega ühilduva);
Mitmefaktoriline autentimine:
Kasutaja sertifikaat koos väljakontrolliga ja teisese autentimisega ühega neist;
Sisselogimine (muutmatu, võetud sertifikaadilt) ja parool;
Ühendava hosti oleku hindamine (Posture)
Lahuse kasutatud komponendid:
Cisco ASA (VPN Gateway);
Cisco ISE (autentimine / autoriseerimine / raamatupidamine, oleku hindamine, CA);
Cisco DUO (mitmefaktoriline autentimine) (Saate lisada mis tahes SAML-i/raadiusega ühilduva);
Cisco AnyConnect (mitmeotstarbeline agent tööjaamade ja mobiilse OS-i jaoks);
Alustame kliendi nõudmistega:
Kasutaja peab oma sisselogimise/parooli autentimise kaudu saama VPN-lüüsist alla laadida AnyConnecti kliendi; kõik vajalikud AnyConnecti moodulid peavad olema installitud automaatselt vastavalt kasutaja poliitikale;
Kasutaja peaks saama sertifikaadi automaatselt väljastada (ühe stsenaariumi puhul on põhistsenaarium käsitsi väljastamine ja arvutisse üleslaadimine), kuid tutvustasin automaatset väljastamist (seda pole kunagi hilja eemaldada).
Põhiautentimine peab toimuma mitmes etapis, esmalt on sertifikaadi autentimine koos vajalike väljade ja nende väärtuste analüüsiga, seejärel sisselogimine/parool, ainult seekord tuleb sisselogimisaknasse sisestada sertifikaadi väljal määratud kasutajanimi Teema nimi (CN) ilma redigeerimisvõimaluseta.
Peate veenduma, et seade, millelt sisse logite, on ettevõtte sülearvuti, mis on kasutajale kaugjuurdepääsuks välja antud, mitte midagi muud. (Selle nõude täitmiseks on tehtud mitu võimalust)
OS-i paigad esitatud loendist (hilisem SCCM-i integreerimine);
Konkreetse tootja viirusetõrje kättesaadavus ja allkirjade asjakohasus;
Teatud teenuste tegevus;
Teatud installitud programmide saadavus;
Alustuseks soovitan teil kindlasti vaadata saadud teostuse videot Youtube (5 minutit).
Nüüd teen ettepaneku kaaluda rakendamise üksikasju, mida videoklipis ei käsitleta.
Valmistame ette AnyConnecti profiili:
Varem tõin oma seadistuste artiklis näite profiili loomise kohta (ASDM-i menüüüksuse osas). VPN-i koormuse tasakaalustamise klaster. Nüüd tahaksin eraldi märkida valikud, mida me vajame:
Profiilis märgime lõppkliendiga ühenduse loomiseks VPN-lüüsi ja profiilinime:
Seadistame profiili poolelt sertifikaadi automaatse väljastamise, näidates ära eelkõige sertifikaadi parameetrid ja pöörame iseloomulikult tähelepanu väljale Initsiaalid (I), kus konkreetne väärtus sisestatakse käsitsi UID testmasin (ainulaadne seadme identifikaator, mille loob Cisco AnyConnecti klient).
Siinkohal tahan teha lüürilise kõrvalepõike, kuna see artikkel kirjeldab kontseptsiooni; demonstreerimise eesmärgil sisestatakse sertifikaadi väljastamise UDID AnyConnecti profiili väljale Initsiaalid. Muidugi, kui teete seda päriselus, saavad kõik kliendid sellel väljal sama UDID-ga sertifikaadi ja nende jaoks ei tööta midagi, kuna nad vajavad oma konkreetse arvuti UDID-d. Kahjuks ei rakenda AnyConnect veel UDID välja asendamist sertifikaadi päringu profiilis keskkonnamuutuja kaudu, nagu näiteks muutujaga. %USER%.
Väärib märkimist, et klient (selle stsenaariumi korral) plaanib sellistele kaitstud arvutitele esialgu iseseisvalt väljastada antud UDID-ga sertifikaate käsitsi režiimis, mis pole tema jaoks probleem. Kuid enamiku jaoks me tahame automatiseerimist (noh, minu jaoks on see tõsi =)).
Ja see on see, mida saan automatiseerimise osas pakkuda. Kui AnyConnect ei suuda veel UDID-d dünaamiliselt asendades automaatselt sertifikaati väljastada, siis on veel üks viis, mis nõuab veidi loomingulist mõtlemist ja osavaid käsi – ma räägin teile kontseptsioonist. Kõigepealt vaatame, kuidas AnyConnecti agent genereerib UDID-i erinevates operatsioonisüsteemides:
Windows — DigitalProductID ja masina SID registrivõtme kombinatsiooni SHA-256 räsi
Vastavalt sellele loome oma ettevõtte Windows OS-i jaoks skripti, selle skriptiga arvutame teadaolevate sisendite abil kohapeal UDID-i ja moodustame sertifikaadi väljastamise taotluse, sisestades selle UDID nõutavale väljale, muide, saate kasutada ka masinat AD väljastatud sertifikaat (lisades skeemi topeltautentimise sertifikaadi abil Mitu sertifikaati).
Valmistame ette Cisco ASA poole sätted:
Loome ISE CA serverile TrustPoint, see hakkab väljastama klientidele sertifikaate. Ma ei võta arvesse võtmeahela importimise protseduuri; näidet kirjeldatakse minu seadistusartiklis VPN-i koormuse tasakaalustamise klaster.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
Konfigureerime jaotuse Tunnel-Groupi kaupa reeglite alusel vastavalt autentimiseks kasutatava sertifikaadi väljadele. Siin on konfigureeritud ka eelmises etapis loodud AnyConnecti profiil. Pange tähele, et ma kasutan väärtust SECUREBANK-RA, väljastatud sertifikaadiga kasutajate ülekandmiseks tunnelirühma SECURE-BANK-VPN, pange tähele, et mul on see väli AnyConnecti profiili sertifikaaditaotluse veerus.
Autentimisserverite seadistamine. Minu puhul on see ISE autentimise esimese etapi jaoks ja DUO (Radius Proxy) kui 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
!
Loome rühmapoliitikaid ja tunnelirühmi ning nende abikomponente:
Tunneli rühm Vaikimisi WEBVPNG-rühm kasutatakse peamiselt AnyConnect VPN-kliendi allalaadimiseks ja kasutajasertifikaadi väljastamiseks, kasutades ASA funktsiooni SCEP-Proxy; selleks on meil aktiveeritud vastavad valikud nii tunnelirühmas endas kui ka seotud rühmapoliitikas AC-allalaadimine, ja laaditud AnyConnecti profiilil (väljad sertifikaadi väljastamiseks jne). Ka selles grupipoliitikas osutame allalaadimise vajadusele ISE kehahoiaku moodul.
Tunneli rühm SECURE-BANK-VPN klient kasutab automaatselt eelmises etapis väljastatud sertifikaadiga autentimisel, kuna vastavalt Sertifikaadi kaardile langeb ühendus konkreetselt sellele tunnelirühmale. Siin räägin teile huvitavatest valikutest:
teisese-autentimise-serveri-rühm DUO # Määrake DUO serveris sekundaarne autentimine (raadiuse puhverserver)
kasutajanimi-sertifikaadistCN # Esmaseks autentimiseks kasutame kasutaja sisselogimise pärimiseks sertifikaadi CN-välja
teisene-kasutajanimi-sertifikaadilt I # Teiseseks autentimiseks DUO-serveris kasutame ekstraheeritud kasutajanime ja sertifikaadi väljasid Initials (I).
kasutajanime eeltäitmise klient # muuta kasutajanimi autentimisaknas eeltäidetuks ilma muutmisvõimaluseta
Second-pre-fill-username client peida use-common-password push # Peidame sisselogimise/parooli sisestamise akna teisese autentimise DUO jaoks ja kasutame teavitusmeetodit (sms/push/phone) – dokkige autentimise taotlemiseks paroolivälja asemel siin
!
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
!
Järgmisena liigume edasi ISE juurde:
Konfigureerime kohaliku kasutaja (saate kasutada AD/LDAP/ODBC vms), lihtsuse mõttes lõin ISE-s endas kohaliku kasutaja ja määrasin selle väljale kirjeldusUDID arvuti kust tal lubatakse VPN-i kaudu sisse logida. Kui kasutan ISE-s kohalikku autentimist, piirdun ainult ühe seadmega, kuna välju pole palju, kuid kolmanda osapoole autentimise andmebaasides mul selliseid piiranguid ei ole.
Vaatame autoriseerimispoliitikat, see on jagatud neljaks ühenduse etapiks:
1 etapp — AnyConnecti agendi allalaadimise ja sertifikaadi väljastamise eeskirjad
Vaatame huvitavat tingimust UUID_VALIDATED, tundub lihtsalt, et autentiv kasutaja tuli tegelikult arvutist, mille väljal on seotud lubatud UDID Kirjeldus konto tingimused näevad välja järgmised:
Etappides 1,2,3, XNUMX, XNUMX kasutatav autoriseerimisprofiil on järgmine:
Saate täpselt kontrollida, kuidas AnyConnecti kliendi UDID meieni jõuab, vaadates ISE-s kliendi seansi üksikasju. Üksikasjalikult näeme, et AnyConnect mehhanismi kaudu HAPE saadab mitte ainult teavet platvormi kohta, vaid ka seadme UDID-d kui Cisco-AV-PAIR:
Pöörame tähelepanu kasutajale ja valdkonnale väljastatud sertifikaadile Initsiaalid (I), mida kasutatakse Cisco DUO teisese MFA autentimise sisselogimiseks:
Logis DUO raadiuse puhverserveri poolel näeme selgelt, kuidas autentimistaotlus tehakse, selle kasutajanimena kasutatakse UDID-d:
DUO portaalist näeme edukat autentimissündmust:
Ja kasutaja atribuutides olen selle määranud ALIAS, mida kasutasin sisselogimiseks, see on sisselogimiseks lubatud arvuti UDID:
Selle tulemusena saime:
Mitmefaktoriline kasutaja ja seadme autentimine;
Kaitse kasutaja seadme võltsimise eest;
Seadme seisukorra hindamine;
Võimalus suurendada kontrolli domeenimasina sertifikaadiga jne;
Igakülgne töökoha kaugkaitse automaatselt juurutatud turvamoodulitega;