Efektivigo de la koncepto de tre sekura fora aliro

Daŭrigante la serion de artikoloj pri la temo de organizo VPN de Fora Aliro aliro mi ne povas ne kunhavigi mian interesan deplojan sperton tre sekura VPN-agordo. Ne-triviala tasko estis prezentita de unu kliento (estas inventistoj en rusaj vilaĝoj), sed la Defio estis akceptita kaj kreive efektivigita. La rezulto estas interesa koncepto kun la sekvaj trajtoj:

  1. Pluraj faktoroj de protekto kontraŭ anstataŭigo de la fina aparato (kun strikta ligo al la uzanto);
    • Taksi la konformecon de la komputilo de la uzanto kun la asignita UDID de la permesita komputilo en la aŭtentikiga datumbazo;
    • Kun MFA uzante la PC UDID de la atestilo por sekundara aŭtentigo per Cisco DUO (Vi povas alkroĉi ajnan kongruan SAML/Radius);
  2. Plurfaktora aŭtentigo:
    • Uzanto-atestilo kun kampa konfirmo kaj malĉefa aŭtentigo kontraŭ unu el ili;
    • Ensalutu (neŝanĝebla, prenita el la atestilo) kaj pasvorto;
  3. Taksante la staton de la konekta gastiganto (Postumo)

Uzitaj solvaj komponantoj:

  • Cisco ASA (VPN Enirejo);
  • Cisco ISE (Aŭtentikigo / Rajtigo / Kontado, Ŝtata Taksado, CA);
  • Cisco DUO (Multfaktora Aŭtentigo) (Vi povas alkroĉi ajnan kongruan SAML/Radius);
  • Cisco AnyConnect (Multecela agento por laborstacioj kaj movebla OS);

Ni komencu kun la postuloj de la kliento:

  1. La uzanto devas, per sia ensaluto/Pasvorta aŭtentikigo, povi elŝuti la AnyConnect-klienton de la VPN-enirejo; ĉiuj necesaj AnyConnect-moduloj devas esti instalitaj aŭtomate laŭ la politiko de la uzanto;
  2. La uzanto devus povi aŭtomate elsendi atestilon (por unu el la scenaroj, la ĉefa scenaro estas mana elsendo kaj alŝuto sur komputilo), sed mi efektivigis aŭtomatan eldonon por pruvo (neniam estas tro malfrue por forigi ĝin).
  3. Baza aŭtentigo devas okazi en pluraj etapoj, unue estas atestila aŭtentikigo kun analizo de la necesaj kampoj kaj iliaj valoroj, poste ensalutu/pasvorton, nur ĉi-foje la uzantnomo specifita en la atestilkampo devas esti enmetita en la ensalutan fenestron. Subjekta Nomo (CN) sen la kapablo redakti.
  4. Vi devas certigi, ke la aparato de kiu vi ensalutas estas la kompania tekkomputilo eldonita al la uzanto por fora aliro, kaj ne io alia. (Pluraj elektoj estis faritaj por kontentigi ĉi tiun postulon)
  5. La stato de la koneksa aparato (en ĉi tiu etapo komputilo) devus esti taksita per kontrolo de tuta forta tabelo de klientpostuloj (resumante):
    • Dosieroj kaj iliaj propraĵoj;
    • Registraj enskriboj;
    • OS-diakiloj el la provizita listo (pli posta SCCM-integriĝo);
    • Havebleco de Anti-Virus de specifa fabrikanto kaj graveco de subskriboj;
    • Agado de iuj servoj;
    • Havebleco de certaj instalitaj programoj;

Komence, mi sugestas, ke vi certe rigardu la video-demonstron de la rezulta efektivigo sur Youtube (5 minutoj).

Nun mi proponas konsideri la realigajn detalojn ne kovritajn en la videoklipo.

Ni preparu la profilon AnyConnect:

Mi antaŭe donis ekzemplon pri kreado de profilo (laŭ menuero en ASDM) en mia artikolo pri agordo VPN Ŝarĝ-ekvilibra Areto. Nun mi ŝatus aparte noti la eblojn, kiujn ni bezonos:

En la profilo, ni indikos la VPN-enirejon kaj la profilnomon por konektiĝi al la fina kliento:

Efektivigo de la koncepto de tre sekura fora aliro

Ni agordu la aŭtomatan emision de atestilo de la profila flanko, indikante precipe la atestilajn parametrojn kaj, karakterize, atentu la kampon. Inicialoj (I), kie specifa valoro estas permane enigita UID testmaŝino (Unika aparato-identigilo, kiu estas generita de la Cisco AnyConnect-kliento).

Efektivigo de la koncepto de tre sekura fora aliro

Ĉi tie mi volas fari lirikan deturniĝon, ĉar ĉi tiu artikolo priskribas la koncepton; por pruvceloj, la UDID por eldonado de atestilo estas enigita en la Komenca kampo de la profilo AnyConnect. Kompreneble, en la reala vivo, se vi faras tion, tiam ĉiuj klientoj ricevos atestilon kun la sama UDID en ĉi tiu kampo kaj nenio funkcios por ili, ĉar ili bezonas la UDID de sia specifa komputilo. AnyConnect, bedaŭrinde, ankoraŭ ne efektivigas anstataŭigon de la UDID-kampo en la atestilpetoprofilon per mediovariablo, kiel ĝi faras, ekzemple, kun variablo. %USER%.

Indas noti, ke la kliento (de ĉi tiu scenaro) komence planas sendepende elsendi atestojn kun donita UDID en mana reĝimo al tiaj Protektitaj Komputiloj, kio ne estas problemo por li. Tamen, por la plimulto el ni ni volas aŭtomatigon (nu, por mi ĝi estas vera =)).

Kaj ĉi tion mi povas proponi laŭ aŭtomatigo. Se AnyConnect ankoraŭ ne kapablas aŭtomate eldoni atestilon dinamike anstataŭigante la UDID, tiam ekzistas alia maniero, kiu postulos iom da krea penso kaj lertaj manoj - mi rakontos al vi la koncepton. Unue, ni rigardu kiel la UDID estas generita en malsamaj operaciumoj de la AnyConnect-agento:

  • fenestroj — SHA-256 hash de la kombinaĵo de la registra ŝlosilo de DigitalProductID kaj Machine SID
  • OSX — SHA-256 hash PlatformUUID
  • linux — SHA-256 hash de la UUID de la radika diskparto.
  • Apple iOS — SHA-256 hash PlatformUUID
  • android – Vidu dokumenton pri ligilo

Sekve, ni kreas skripton por nia kompania Vindoza OS, kun ĉi tiu skripto ni loke kalkulas la UDID uzante konatajn enigojn kaj formas peton por eldonado de atestilo enirante ĉi tiun UDID en la bezonata kampo, cetere, vi ankaŭ povas uzi maŝinon. atestilo eldonita de AD (aldonante duoblan aŭtentikigon uzante atestilon al la skemo Multobla Atestilo).

Ni preparu la agordojn ĉe la flanko de Cisco ASA:

Ni kreu TrustPoint por la ISE CA-servilo, ĝi estos tiu, kiu elsendos atestilojn al klientoj. Mi ne konsideros la proceduron de importo de Ŝlosilĉeno; ekzemplo estas priskribita en mia artikolo pri aranĝo VPN Ŝarĝ-ekvilibra Areto.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

Ni agordas distribuadon per Tunela-Grupo surbaze de reguloj konforme al la kampoj en la atestilo uzata por aŭtentigo. La AnyConnect-profilo, kiun ni faris en la antaŭa etapo, ankaŭ estas agordita ĉi tie. Bonvolu noti, ke mi uzas la valoron SECUREBANK-RA, por transdoni uzantojn kun eldonita atestilo al tunela grupo SEKURE-BANKO-VPN, bonvolu noti, ke mi havas ĉi tiun kampon en la kolumno de peto pri atestilo de AnyConnect-profilo.

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
!

Agordo de aŭtentigaj serviloj. En mia kazo, ĉi tio estas ISE por la unua etapo de aŭtentigo kaj DUO (Radius Proxy) kiel 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
!

Ni kreas grupajn politikojn kaj tunelojn kaj iliajn helpajn komponantojn:

Tunela grupo Defaŭlta WEBVPNGroup estos uzata ĉefe por elŝuti la AnyConnect VPN-klienton kaj elsendi uzantan atestilon uzante la funkcion SCEP-Proxy de la ASA; por tio ni havas la respondajn opciojn aktivigitaj kaj sur la tunela grupo mem kaj sur la rilata gruppolitiko. AC-Elŝuto, kaj sur la ŝarĝita AnyConnect-profilo (kampoj por eldonado de atestilo, ktp.). Ankaŭ en ĉi tiu gruppolitiko ni indikas la bezonon elŝuti ISE-Pozita Modulo.

Tunela grupo SEKURE-BANKO-VPN estos aŭtomate uzata de la kliento kiam aŭtentikiĝos kun la eldonita atestilo en la antaŭa etapo, ĉar, laŭ la Atestila Mapo, la konekto falos specife sur ĉi tiu tunelo. Mi rakontos al vi pri interesaj opcioj ĉi tie:

  • malĉefa-aŭtentikigo-servilo-grupo DUO # Agordu sekundaran aŭtentikigon sur la DUO-servilo (Radius Proxy)
  • uzantnomo-de-atestiloCN # Por primara aŭtentigo, ni uzas la CN-kampon de la atestilo por heredi la uzantan ensaluton
  • sekundara-uzantnomo-de-atestilo I # Por sekundara aŭtentigo sur la DUO-servilo, ni uzas la uzantnomon ĉerpitan kaj la Inicialojn (I) kampojn de la atestilo.
  • pre-fill-uzantnomo kliento # faru la uzantnomon antaŭplenigitan en la aŭtentikiga fenestro sen la kapablo ŝanĝi
  • secondary-pre-fill-username kliento kaŝi uzi-komunpasvorton push # Ni kaŝas la ensalutan/pasvortan enigfenestron por sekundara aŭtentikigo DUO kaj uzas la sciigan metodon (sms/push/telefono) - doko por peti aŭtentikigon anstataŭ la pasvorta kampo tie

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

Poste ni transiru al ISE:

Ni agordas lokan uzanton (vi povas uzi AD/LDAP/ODBC, ktp.), por simpleco, mi kreis lokan uzanton en ISE mem kaj asignis ĝin en la kampo Priskribo UDID PC de kiu li rajtas ensaluti per VPN. Se mi uzas lokan aŭtentikigon ĉe ISE, mi estos limigita al nur unu aparato, ĉar ne estas multaj kampoj, sed en triaj aŭtentikigdatumbazoj mi ne havos tiajn limigojn.

Efektivigo de la koncepto de tre sekura fora aliro

Ni rigardu la rajtigan politikon, ĝi estas dividita en kvar konektajn stadiojn:

  • Etapo 1 — Politiko por elŝuti la agenton AnyConnect kaj elsendi atestilon
  • Etapo 2 — Ĉefa aŭtentikiga politiko Ensalutu (de atestilo)/Pasvorto + Atestilo kun UDID-validigo
  • Etapo 3 — Malĉefa aŭtentigo per Cisco DUO (MFA) uzante UDID kiel uzantnomo + Ŝtata takso
  • Etapo 4 — Fina rajtigo estas en la ŝtato:
    • Konforma;
    • UDID-validigo (de atestilo + ensaluta ligado),
    • Cisco DUO MFA;
    • Aŭtentikigo per ensaluto;
    • Atestilo;

Efektivigo de la koncepto de tre sekura fora aliro

Ni rigardu interesan kondiĉon UUID_VALIDAD, ĝi nur aspektas, ke la aŭtentikiganta uzanto efektive venis de komputilo kun permesita UDID asociita en la kampo Priskribo konto, la kondiĉoj aspektas jene:

Efektivigo de la koncepto de tre sekura fora aliro

La rajtiga profilo uzata en la etapoj 1,2,3 estas jena:

Efektivigo de la koncepto de tre sekura fora aliro

Vi povas kontroli ĝuste kiel la UDID de la kliento AnyConnect alvenas al ni rigardante la detalojn de la klientsesio en ISE. Detale ni vidos ke AnyConnect tra la mekanismo ACIDEX sendas ne nur informojn pri la platformo, sed ankaŭ la UDID de la aparato kiel Cisco-AV-PARO:

Efektivigo de la koncepto de tre sekura fora aliro

Ni atentu la atestilon eldonita al la uzanto kaj la kampo Inicialoj (I), kiu estas uzata por preni ĝin kiel ensaluton por sekundara MFA-aŭtentikigo ĉe Cisco DUO:

Efektivigo de la koncepto de tre sekura fora aliro

Ĉe la DUO Radius Proxy-flanko en la protokolo ni povas klare vidi kiel la aŭtentikigpeto estas farita, ĝi venas uzante UDID kiel la uzantnomo:

Efektivigo de la koncepto de tre sekura fora aliro

De la DUO-portalo ni vidas sukcesan aŭtentikigan eventon:

Efektivigo de la koncepto de tre sekura fora aliro

Kaj en la uzantpropraĵoj mi havas ĝin agordita Aliaso, kiun mi uzis por ensaluto, siavice, jen la UDID de la komputilo permesita por ensaluto:

Efektivigo de la koncepto de tre sekura fora aliro

Kiel rezulto ni ricevis:

  • Plurfaktora uzanto kaj aparata aŭtentigo;
  • Protekto kontraŭ falsado de la aparato de la uzanto;
  • Taksi la kondiĉon de la aparato;
  • Ebleco por pliigita kontrolo kun domajna maŝina atestilo, ktp.;
  • Ampleksa fora laboreja protekto kun aŭtomate deplojitaj sekurecaj moduloj;

Ligiloj al Cisco VPN-serioartikoloj:

fonto: www.habr.com

Aldoni komenton