Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Jatkamme artikkelisarjaa organisointiaiheesta Etäkäyttö VPN pääsy En voi muuta kuin jakaa mielenkiintoisen käyttöönottokokemukseni erittäin turvallinen VPN-määritys. Yksi asiakas esitti ei-triviaalitehtävän (keksijöitä on venäläisissä kylissä), mutta Haaste hyväksyttiin ja toteutettiin luovasti. Tuloksena on mielenkiintoinen konsepti, jolla on seuraavat ominaisuudet:

  1. Useita tekijöitä, jotka suojaavat päätelaitteen korvaamista vastaan ​​(tiukasti sidottuna käyttäjään);
    • Arvioidaan käyttäjän tietokoneen yhteensopivuutta todennustietokannassa olevan sallitun tietokoneen UDID:n kanssa;
    • MFA:lla käyttäen PC:n UDID:tä sertifikaatista toissijaista todennusta varten Cisco DUO:n kautta (Voit liittää minkä tahansa SAML/Radius-yhteensopivan);
  2. Monivaiheinen todennus:
    • Käyttäjävarmenne, jossa on kenttävarmennus ja toissijainen todennus yhtä niistä vastaan;
    • Kirjautuminen (ei muutettavissa, otettu varmenteesta) ja salasana;
  3. Yhdistävän isännän tilan arviointi (asento)

Käytetyt ratkaisukomponentit:

  • Cisco ASA (VPN-yhdyskäytävä);
  • Cisco ISE (todennus / valtuutus / kirjanpito, valtion arviointi, CA);
  • Cisco DUO (Monivaiheinen todennus) (Voit liittää minkä tahansa SAML/Radius-yhteensopivan);
  • Cisco AnyConnect (Monikäyttöinen agentti työasemille ja mobiilikäyttöjärjestelmille);

Aloitetaan asiakkaan vaatimuksista:

  1. Käyttäjän on sisäänkirjautumis-/salasanatodennustaan ​​voitava ladata AnyConnect-asiakas VPN-yhdyskäytävästä; kaikki tarvittavat AnyConnect-moduulit on asennettava automaattisesti käyttäjän käytännön mukaisesti;
  2. Käyttäjän pitäisi pystyä myöntämään varmenne automaattisesti (yhdessä skenaariossa pääskenaario on manuaalinen myöntäminen ja lataaminen PC:lle), mutta otin käyttöön automaattisen myöntämisen esittelyä varten (koskaan ei ole liian myöhäistä poistaa sitä).
  3. Perustodennus tulee tapahtua useassa vaiheessa, ensin on varmenteen todennus analysoimalla tarvittavat kentät ja niiden arvot, sitten sisäänkirjautuminen/salasana, vain tällä kertaa varmennekentässä määritetty käyttäjätunnus tulee syöttää sisäänkirjautumisikkunaan Aiheen nimi (CN) ilman muokkausmahdollisuutta.
  4. Sinun on varmistettava, että laite, jolla kirjaudut sisään, on yrityksen kannettava tietokone, joka on myönnetty käyttäjälle etäkäyttöä varten, ei jokin muu. (Tämän vaatimuksen täyttämiseksi on tehty useita vaihtoehtoja)
  5. Liitäntälaitteen tila (tässä vaiheessa PC) tulee arvioida tarkastelemalla koko mojova asiakasvaatimustaulukko (yhteenveto):
    • Tiedostot ja niiden ominaisuudet;
    • Rekisterimerkinnät;
    • OS-korjaukset toimitetusta luettelosta (myöhempi SCCM-integraatio);
    • Tietyn valmistajan virustorjuntaohjelman saatavuus ja allekirjoitusten merkityksellisyys;
    • Tiettyjen palvelujen toiminta;
    • Tiettyjen asennettujen ohjelmien saatavuus;

Aluksi ehdotan, että katsot ehdottomasti videoesittelyn tuloksena olevasta toteutuksesta Youtube (5 minuuttia).

Nyt ehdotan, että otan huomioon toteutuksen yksityiskohdat, joita videoleike ei kata.

Valmistellaan AnyConnect-profiili:

Annoin aiemmin esimerkin profiilin luomisesta (ASDM:n valikkokohdan suhteen) asetusta koskevassa artikkelissani VPN-kuormituksen tasapainotusklusteri. Nyt haluaisin erikseen mainita vaihtoehdot, joita tarvitsemme:

Ilmoitamme profiilissa VPN-yhdyskäytävän ja profiilin nimen loppuasiakkaaseen yhdistämistä varten:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Konfiguroidaan varmenteen automaattinen myöntäminen profiilin puolelta ilmoittaen erityisesti varmenteen parametrit ja tyypillisesti huomioida kenttä Alkukirjaimet (I), jossa tietty arvo syötetään manuaalisesti UDID testikone (ainutlaatuinen laitetunniste, jonka Cisco AnyConnect-asiakasohjelma luo).

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Haluan tehdä tässä lyyrisen poikkeaman, koska tässä artikkelissa kuvataan käsitettä; esittelytarkoituksessa varmenteen myöntämisen UDID syötetään AnyConnect-profiilin Initials-kenttään. Tietenkin tosielämässä, jos teet tämän, kaikki asiakkaat saavat varmenteen, jolla on sama UDID tällä alalla, eikä mikään toimi heille, koska he tarvitsevat tietyn tietokoneensa UDID: n. AnyConnect ei valitettavasti vielä toteuta UDID-kentän korvaamista varmennepyyntöprofiilissa ympäristömuuttujan kautta, kuten se tekee esimerkiksi muuttujalla %USER%.

On syytä huomata, että (tämän skenaarion) asiakas aikoo aluksi itsenäisesti myöntää varmenteita tietyllä UDID:llä manuaalisessa tilassa tällaisille suojatuille tietokoneille, mikä ei ole hänelle ongelma. Useimmat meistä haluavat kuitenkin automaation (no, minulle se on totta =)).

Ja tämä on se, mitä voin tarjota automaation kannalta. Jos AnyConnect ei vielä pysty myöntämään varmennetta automaattisesti korvaamalla UDID dynaamisesti, on olemassa toinen tapa, joka vaatii hieman luovaa ajattelua ja taitavia käsiä - kerron sinulle konseptin. Katsotaanpa ensin, kuinka AnyConnect-agentti luo UDID:n eri käyttöjärjestelmissä:

  • Windows — SHA-256-tiiviste DigitalProductID- ja Machine SID -rekisteriavaimen yhdistelmästä
  • OSX — SHA-256 hash PlatformUUID
  • Linux — Juuriosion UUID:n SHA-256-tiiviste.
  • Apple iOS — SHA-256 hash PlatformUUID
  • Android – Katso asiakirja aiheesta linkki

Sen mukaisesti luomme skriptin yrityksen Windows-käyttöjärjestelmällemme, tällä skriptillä laskemme paikallisesti UDID:n tunnettujen syötteiden avulla ja muodostamme varmenteen myöntämispyynnön syöttämällä tämän UDID:n vaadittuun kenttään, muuten voit käyttää myös konetta AD:n myöntämä varmenne (lisäämällä kaksinkertaisen todennuksen sertifikaatin avulla järjestelmään Useita sertifikaatteja).

Valmistellaan asetukset Cisco ASA -puolella:

Luodaan ISE CA -palvelimelle TrustPoint, joka myöntää varmenteita asiakkaille. En harkitse avainketjun tuontimenettelyä; esimerkki on kuvattu asetusta käsittelevässä artikkelissani VPN-kuormituksen tasapainotusklusteri.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

Konfiguroimme jakelun tunneliryhmäkohtaisesti sääntöjen mukaisesti todennukseen käytetyn varmenteen kenttien mukaisesti. Edellisessä vaiheessa tekemämme AnyConnect-profiili on myös määritetty täällä. Huomaa, että käytän arvoa SECUREBANK-RA, siirtää käyttäjät, joilla on myönnetty varmenne tunneliryhmään SECURE-BANK-VPN, huomaa, että minulla on tämä kenttä AnyConnect-profiilin varmennepyyntösarakkeessa.

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
!

Todennuspalvelinten määrittäminen. Minun tapauksessani tämä on ISE todennuksen ensimmäiselle vaiheelle ja DUO (Radius Proxy) MFA:na.

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

Luomme ryhmäkäytäntöjä ja tunneliryhmiä ja niiden apukomponentteja:

Tunneliryhmä OletusWEBVPNG-ryhmä käytetään ensisijaisesti AnyConnect VPN -asiakkaan lataamiseen ja käyttäjävarmenteen myöntämiseen ASA:n SCEP-Proxy-toiminnolla; tätä varten olemme aktivoineet vastaavat asetukset sekä itse tunneliryhmässä että siihen liittyvässä ryhmäkäytännössä AC-lataus, ja ladatussa AnyConnect-profiilissa (kentät varmenteen myöntämistä varten jne.). Myös tässä ryhmäkäytännössä ilmoitamme lataustarpeen ISE-asentomoduuli.

Tunneliryhmä SECURE-BANK-VPN asiakas käyttää automaattisesti todennuksen yhteydessä edellisessä vaiheessa myönnetyllä varmenteella, koska Varmennekartan mukaan yhteys osuu nimenomaan tähän tunneliryhmään. Kerron sinulle mielenkiintoisista vaihtoehdoista täällä:

  • toissijainen todennus-palvelinryhmä DUO # Aseta toissijainen todennus DUO-palvelimelle (Radius Proxy)
  • käyttäjänimi-sertifikaatistaCN # Ensisijaisessa todennuksessa käytämme varmenteen CN-kenttää perimme käyttäjän kirjautumisen
  • toissijainen-käyttäjänimi-varmenteesta I # Toissijaiseen todentamiseen DUO-palvelimella käytämme purettua käyttäjätunnusta ja varmenteen Initials (I) -kenttiä.
  • esitäytä käyttäjänimi asiakas # tee käyttäjänimi esitäytetyksi todennusikkunaan ilman mahdollisuutta muuttaa
  • Second-pre-fill-username client piilota use-common-password push # Piilotamme sisäänkirjautumis-/salasanan syöttöikkunan toissijaista todennusta varten DUO ja käytämme ilmoitusmenetelmää (sms/push/phone) - laituri pyytää todennusta salasanakentän sijaan täällä

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

Seuraavaksi siirrymme ISEen:

Määritämme paikallisen käyttäjän (voit käyttää AD/LDAP/ODBC:tä jne.), yksinkertaisuuden vuoksi loin paikallisen käyttäjän itse ISE:ssä ja määritin sen kenttään kuvaus UDID PC josta hän voi kirjautua sisään VPN:n kautta. Jos käytän paikallista todennusta ISE:ssä, rajoitan vain yhteen laitteeseen, koska kenttiä ei ole paljon, mutta kolmannen osapuolen todennustietokannassa minulla ei ole tällaisia ​​rajoituksia.

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Katsotaanpa valtuutuskäytäntöä, se on jaettu neljään yhteysvaiheeseen:

  • Vaihe 1 — AnyConnect-agentin lataamista ja varmenteen myöntämistä koskeva käytäntö
  • Vaihe 2 — Ensisijainen todennuskäytäntö Kirjautuminen (varmenteesta)/Salasana + Varmenne UDID-vahvistuksella
  • Vaihe 3 — Toissijainen todennus Cisco DUO:n (MFA) kautta käyttäen UDID:tä käyttäjätunnuksena + tilaarviointi
  • Vaihe 4 — Lopullinen valtuutus on tilassa:
    • Yhteensopiva;
    • UDID-tarkistus (varmenteesta + kirjautumisen sitominen),
    • Cisco DUO MFA;
    • Todennus kirjautumalla;
    • Varmenteen todennus;

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Katsotaanpa mielenkiintoista tilannetta UUID_VALIDATED, näyttää vain siltä, ​​että todentava käyttäjä todella tuli tietokoneelta, jonka kenttään on liitetty sallittu UDID Kuvaus tili, ehdot näyttävät tältä:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Vaiheissa 1,2,3 käytetty valtuutusprofiili on seuraava:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Voit tarkistaa tarkalleen, kuinka AnyConnect-asiakkaan UDID saapuu meille katsomalla asiakasistunnon tietoja ISE:ssä. Yksityiskohtaisesti näemme, että AnyConnect mekanismin kautta ACIDEX ei lähetä vain tietoja alustasta, vaan myös laitteen UDID-tunnuksen Cisco-AV-PAIR:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Kiinnitetään huomiota käyttäjälle ja kentälle myönnettävään varmenteeseen Alkukirjaimet (I), jota käytetään kirjautumistunnuksena toissijaista MFA-todennusta varten Cisco DUO:ssa:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Lokin DUO Radius Proxy -puolella näemme selvästi kuinka todennuspyyntö tehdään, se tulee käyttämällä UDID:tä käyttäjätunnuksena:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

DUO-portaalista näemme onnistuneen todennustapahtuman:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Ja olen määrittänyt sen käyttäjän ominaisuuksissa ALIAS, jota käytin kirjautumiseen, tämä puolestaan ​​on sisäänkirjautumiseen sallitun PC:n UDID:

Erittäin turvallisen etäkäytön käsitteen toteuttaminen

Tuloksena saimme:

  • Monitekijäinen käyttäjän ja laitteen todennus;
  • Suojaus käyttäjän laitteen huijaukselta;
  • laitteen kunnon arviointi;
  • Mahdollisuus parantaa hallintaa verkkotunnuksen konesertifikaatin jne. avulla;
  • Kattava etätyöpaikan suojaus automaattisesti käyttöönotetuilla suojausmoduuleilla;

Linkkejä Cisco VPN -sarjan artikkeleihin:

Lähde: will.com

Lisää kommentti