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:

  1. 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);
  2. Mitmefaktoriline autentimine:
    • Kasutaja sertifikaat koos väljakontrolliga ja teisese autentimisega ühega neist;
    • Sisselogimine (muutmatu, võetud sertifikaadilt) ja parool;
  3. Ü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:

  1. 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;
  2. 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).
  3. 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.
  4. 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)
  5. Ühendusseadme (selles etapis arvuti) olekut tuleks hinnata, kontrollides tervet kopsakat kliendinõuete tabelit (kokkuvõtvalt):
    • Failid ja nende omadused;
    • Registrikanded;
    • 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:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

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

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

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
  • OSX — SHA-256 räsiplatvorm UUID
  • Linux — juurpartitsiooni UUID-i SHA-256 räsi.
  • Apple iOS — SHA-256 räsiplatvorm UUID
  • Android – Vt dokumenti link

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.

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
!

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 kirjeldus UDID 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.

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

Vaatame autoriseerimispoliitikat, see on jagatud neljaks ühenduse etapiks:

  • 1 etapp — AnyConnecti agendi allalaadimise ja sertifikaadi väljastamise eeskirjad
  • 2 etapp — Esmane autentimispoliitika Sisselogimine (sertifikaadist) / parool + UDID-valideerimisega sertifikaat
  • 3 etapp — Teisene autentimine Cisco DUO (MFA) kaudu, kasutades kasutajanimena UDID-d + oleku hindamine
  • 4 etapp — Lõplik luba on olekus:
    • Vastab;
    • UDID valideerimine (sertifikaadist + sisselogimise sidumine),
    • Cisco DUO MFA;
    • Autentimine sisselogimisega;
    • Sertifikaadi autentimine;

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

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:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

Etappides 1,2,3, XNUMX, XNUMX kasutatav autoriseerimisprofiil on järgmine:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

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:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

Pöörame tähelepanu kasutajale ja valdkonnale väljastatud sertifikaadile Initsiaalid (I), mida kasutatakse Cisco DUO teisese MFA autentimise sisselogimiseks:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

Logis DUO raadiuse puhverserveri poolel näeme selgelt, kuidas autentimistaotlus tehakse, selle kasutajanimena kasutatakse UDID-d:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

DUO portaalist näeme edukat autentimissündmust:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

Ja kasutaja atribuutides olen selle määranud ALIAS, mida kasutasin sisselogimiseks, see on sisselogimiseks lubatud arvuti UDID:

Väga turvalise kaugjuurdepääsu kontseptsiooni rakendamine

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;

Lingid Cisco VPN-sarja artiklitele:

Allikas: www.habr.com

Lisa kommentaar