Բարձր անվտանգ հեռահար մուտքի հայեցակարգի իրականացում
Շարունակելով կազմակերպչական թեմայով հոդվածների շարքը Հեռակա մուտքի VPN մուտք Ես չեմ կարող չկիսվել իմ հետաքրքիր տեղակայման փորձով բարձր անվտանգ VPN կոնֆիգուրացիա. Մեկ պատվիրատուի կողմից ներկայացվեց ոչ տրիվիալ առաջադրանք (ռուսական գյուղերում գյուտարարներ կան), սակայն մարտահրավերն ընդունվեց և ստեղծագործորեն իրականացվեց։ Արդյունքը հետաքրքիր հայեցակարգ է հետևյալ բնութագրերով.
Տերմինալային սարքի փոխարինումից պաշտպանության մի քանի գործոն (օգտագործողի համար խիստ պարտադիր);
Օգտագործողի ԱՀ-ի համապատասխանության գնահատում նույնականացման տվյալների բազայում թույլատրված ԱՀ-ի նշանակված UDID-ին.
ԱԳՆ-ի հետ՝ օգտագործելով PC UDID-ը վկայականից՝ Cisco DUO-ի միջոցով երկրորդական նույնականացման համար (Դուք կարող եք կցել ցանկացած SAML/Radius-ով համատեղելի);
Բազմգործոն նույնականացում.
Օգտագործողի վկայական դաշտային ստուգմամբ և դրանցից մեկի նկատմամբ երկրորդական վավերացումով.
Մուտք (անփոփոխելի, վերցված է վկայականից) և գաղտնաբառը;
Միացնող հյուրընկալողի վիճակի գնահատում (կեցվածք)
Օգտագործված լուծույթի բաղադրիչները.
Cisco ASA (VPN Gateway);
Cisco ISE (Նույնականացում / Թույլտվություն / Հաշվապահություն, Պետական գնահատում, Կալիֆորնիա);
Cisco DUO (Բազմաֆունկցիոնալ նույնականացում) (Դուք կարող եք կցել ցանկացած SAML/Radius-ով համատեղելի);
Cisco AnyConnect (Բազմաֆունկցիոնալ գործակալ աշխատանքային կայանների և շարժական ՕՀ-ի համար);
Սկսենք հաճախորդի պահանջներից.
Օգտագործողը պետք է իր մուտքի/գաղտնաբառի նույնականացման միջոցով կարողանա ներբեռնել AnyConnect հաճախորդը VPN դարպասից; AnyConnect-ի բոլոր անհրաժեշտ մոդուլները պետք է ավտոմատ կերպով տեղադրվեն՝ օգտատիրոջ քաղաքականության համաձայն.
Օգտագործողը պետք է կարողանա ավտոմատ կերպով վկայական տրամադրել (սցենարներից մեկի դեպքում հիմնական սցենարը ձեռքով թողարկումն ու բեռնումն է համակարգչի վրա), բայց ես ցուցադրել եմ ավտոմատ թողարկում (այն հեռացնելու համար երբեք ուշ չէ):
Հիմնական նույնականացումը պետք է իրականացվի մի քանի փուլով, նախ սերտիֆիկատի վավերացում անհրաժեշտ դաշտերի և դրանց արժեքների վերլուծությամբ, այնուհետև մուտք/գաղտնաբառ, միայն այս անգամ մուտքի պատուհանում պետք է տեղադրվի վկայագրի դաշտում նշված օգտանունը: Առարկայի անվանումը (CN) առանց խմբագրելու հնարավորության։
Դուք պետք է համոզվեք, որ սարքը, որից մուտք եք գործում, կորպորատիվ նոութբուքն է, որը տրամադրվել է օգտատիրոջը հեռահար մուտքի համար, և ոչ թե այլ բան: (Այս պահանջը բավարարելու համար մի քանի տարբերակ է արվել)
Միացնող սարքի վիճակը (այս փուլում ԱՀ) պետք է գնահատվի հաճախորդի պահանջների ամբողջական աղյուսակի ստուգմամբ (ամփոփելով).
Ֆայլեր և դրանց հատկությունները;
Ռեեստրի գրառումներ;
OS patches տրամադրված ցանկից (հետագայում SCCM ինտեգրում);
Հատուկ արտադրողի հակավիրուսի առկայությունը և ստորագրությունների համապատասխանությունը.
Որոշակի ծառայությունների գործունեություն;
Որոշ տեղադրված ծրագրերի առկայություն;
Սկսելու համար, ես առաջարկում եմ անպայման դիտել արդյունքում ստացված իրականացման տեսահոլովակը Youtube (5 րոպե).
Այժմ ես առաջարկում եմ դիտարկել տեսահոլովակում չքննարկված իրականացման մանրամասները։
Եկեք պատրաստենք AnyConnect պրոֆիլը.
Ես նախկինում տվել էի պրոֆիլ ստեղծելու օրինակ (ASDM-ում ընտրացանկի կետի առումով) կարգավորումների մասին իմ հոդվածում VPN բեռնվածության հավասարակշռման կլաստեր. Այժմ ես կցանկանայի առանձին նշել այն տարբերակները, որոնք մեզ անհրաժեշտ կլինեն.
Պրոֆիլում մենք կնշենք VPN դարպասը և պրոֆիլի անունը վերջնական հաճախորդին միանալու համար.
Եկեք կազմաձևենք վկայագրի ավտոմատ թողարկումը պրոֆիլի կողմից՝ նշելով, մասնավորապես, վկայագրի պարամետրերը և, որպես կանոն, ուշադրություն դարձնենք դաշտին. սկզբնատառեր (I), որտեղ ձեռքով մուտքագրվում է որոշակի արժեք UDID- ը թեստային մեքենա (Սարքի եզակի նույնացուցիչ, որը ստեղծվում է Cisco AnyConnect հաճախորդի կողմից):
Այստեղ ես ուզում եմ լիրիկական շեղում կատարել, քանի որ այս հոդվածը նկարագրում է հայեցակարգը, ցուցադրական նպատակներով վկայական տալու UDID-ը մուտքագրվում է AnyConnect պրոֆիլի սկզբնաղբյուրների դաշտում: Իհարկե, իրական կյանքում, եթե դուք դա անեք, ապա բոլոր հաճախորդները կստանան վկայական նույն UDID-ով այս ոլորտում, և նրանց համար ոչինչ չի ստացվի, քանի որ նրանց անհրաժեշտ է իրենց հատուկ ԱՀ-ի UDID-ը: AnyConnect-ը, ցավոք, դեռ չի իրականացնում UDID դաշտի փոխարինումը վկայագրի հարցման պրոֆիլում շրջակա միջավայրի փոփոխականի միջոցով, ինչպես դա անում է, օրինակ, փոփոխականով: %USER%.
Հարկ է նշել, որ հաճախորդը (այս սցենարի) ի սկզբանե նախատեսում է ինքնուրույն տրամադրել վկայագրեր տվյալ UDID-ով ձեռքով ռեժիմով նման Պաշտպանված ԱՀ-ներին, ինչը նրա համար խնդիր չէ: Այնուամենայնիվ, մեզանից շատերի համար մենք ուզում ենք ավտոմատացում (լավ, ինձ համար դա ճիշտ է =)):
Եվ սա այն է, ինչ ես կարող եմ առաջարկել ավտոմատացման առումով: Եթե AnyConnect-ը դեռ չի կարողանում ավտոմատ կերպով վկայական տալ՝ դինամիկ կերպով փոխարինելով UDID-ը, ապա կա ևս մեկ միջոց, որը կպահանջի մի փոքր ստեղծագործ միտք և հմուտ ձեռքեր. ես ձեզ կասեմ հայեցակարգը: Նախ, եկեք տեսնենք, թե ինչպես է UDID-ն ստեղծվում տարբեր օպերացիոն համակարգերում AnyConnect գործակալի կողմից.
Windows — DigitalProductID-ի և Machine SID ռեեստրի բանալի համակցության SHA-256 հեշ
Համապատասխանաբար, մենք ստեղծում ենք սցենար մեր կորպորատիվ Windows OS-ի համար, այս սկրիպտով մենք տեղականորեն հաշվարկում ենք UDID-ը՝ օգտագործելով հայտնի մուտքերը և ձևավորում ենք վկայագիր տրամադրելու հարցում՝ մուտքագրելով այս UDID-ը պահանջվող դաշտում, ի դեպ, կարող եք նաև օգտագործել մեքենա: AD-ի կողմից տրված վկայական (սխեմային ավելացնելով կրկնակի նույնականացում՝ վկայագրի միջոցով Բազմաթիվ վկայական).
Եկեք պատրաստենք Cisco ASA-ի կարգավորումները.
Եկեք ստեղծենք TrustPoint ISE CA սերվերի համար, այն կլինի, ով սերտիֆիկատներ կտա հաճախորդներին: Ես չեմ դիտարկի Key-Chain ներմուծման ընթացակարգը, օրինակ նկարագրված է իմ հոդվածում տեղադրման մասին VPN բեռնվածության հավասարակշռման կլաստեր.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
Մենք կազմաձևում ենք բաշխումը Tunnel-Group-ի կողմից՝ հիմնվելով կանոնների վրա՝ հավաստագրի դաշտերի համաձայն, որն օգտագործվում է նույնականացման համար: Նախորդ փուլում մեր պատրաստած AnyConnect պրոֆիլը նույնպես կազմաձևված է այստեղ: Խնդրում ենք նկատի ունենալ, որ ես օգտագործում եմ արժեքը ԱՊԱՀՈՎԱԿԱՆ ԲԱՆԿ-ՀՀ, տրված վկայականով օգտատերերին թունելային խումբ տեղափոխելու համար SECURE-BANK-VPNԽնդրում ենք նկատի ունենալ, որ ես ունեմ այս դաշտը AnyConnect պրոֆիլի վկայագրի խնդրանքի սյունակում:
Նույնականացման սերվերների կարգավորում: Իմ դեպքում սա ISE է նույնականացման առաջին փուլի համար և DUO (Radius Proxy) որպես 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
!
Մենք ստեղծում ենք խմբային քաղաքականություն և թունելային խմբեր և դրանց օժանդակ բաղադրիչներ.
Թունելի խումբ DefaultWEBVPNG խումբ կօգտագործվի հիմնականում AnyConnect VPN հաճախորդը ներբեռնելու և օգտվողի վկայական տալու համար՝ օգտագործելով ASA-ի SCEP-Proxy ֆունկցիան, դրա համար մենք ունենք համապատասխան ընտրանքներ ակտիվացված ինչպես թունելի խմբի, այնպես էլ դրա հետ կապված խմբի քաղաքականության վրա: AC-Ներբեռնում, և բեռնված AnyConnect պրոֆիլում (վկայական տրամադրելու դաշտեր և այլն): Նաև այս խմբի քաղաքականության մեջ մենք նշում ենք ներբեռնման անհրաժեշտությունը ISE կեցվածքի մոդուլ.
Թունելի խումբ SECURE-BANK-VPN Հաճախորդը ավտոմատ կերպով կօգտագործի նախորդ փուլում տրված վկայականով նույնականացնելիս, քանի որ, համաձայն Վկայական քարտեզի, կապը կկատարվի հատուկ այս թունելի խմբի վրա: Ես ձեզ կպատմեմ հետաքրքիր տարբերակների մասին այստեղ.
secondary-authentication-server-group DUO # Սահմանեք երկրորդական նույնականացում DUO սերվերի վրա (Radius Proxy)
օգտվողի անուն-from-certificateCN # Առաջնային նույնականացման համար մենք օգտագործում ենք վկայագրի CN դաշտը՝ օգտվողի մուտքը ժառանգելու համար
երկրորդական-օգտանուն-վկայականից I # DUO սերվերում երկրորդական նույնականացման համար մենք օգտագործում ենք արդյունահանված օգտվողի անունը և վկայագրի սկզբնաղբյուրներ (I) դաշտերը:
նախապես լրացնել օգտվողի անունը հաճախորդ # դարձրեք օգտանունը նախապես լրացված նույնականացման պատուհանում՝ առանց փոխելու հնարավորության
secondary-pre-fill-username client hide use-common-password push # Մենք թաքցնում ենք մուտքի/գաղտնաբառի մուտքագրման պատուհանը երկրորդական նույնականացման DUO-ի համար և օգտագործում ենք ծանուցման եղանակը (sms/push/հեռախոս)՝ գաղտնաբառի դաշտի փոխարեն նույնականացում պահանջելու համար: այստեղ
!
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
!
Հաջորդիվ անցնում ենք ISE-ին.
Մենք կարգավորում ենք տեղական օգտատերը (կարող եք օգտագործել AD/LDAP/ODBC և այլն), պարզության համար ես ինքնին ISE-ում ստեղծեցի տեղական օգտատեր և նշանակեցի այն դաշտում։ նկարագրությունUDID համակարգիչ որտեղից նրան թույլատրվում է մուտք գործել VPN-ի միջոցով: Եթե ես օգտագործեմ տեղական նույնականացում ISE-ում, ես կսահմանափակվեմ միայն մեկ սարքով, քանի որ դաշտերը շատ չեն, բայց երրորդ կողմի նույնականացման տվյալների բազաներում ես նման սահմանափակումներ չեմ ունենա:
Եկեք նայենք թույլտվության քաղաքականությանը, այն բաժանված է միացման չորս փուլերի.
Քայլ 1 — AnyConnect գործակալը ներբեռնելու և վկայական տրամադրելու քաղաքականություն
Քայլ 3 — Երկրորդական նույնականացում Cisco DUO-ի (MFA) միջոցով՝ օգտագործելով UDID որպես օգտվողի անուն + վիճակի գնահատում
Քայլ 4 — Վերջնական թույլտվությունը գտնվում է պետության մեջ.
Համապատասխանող;
UDID վավերացում (վկայականից + մուտքի պարտադիր է),
Cisco DUO ԱԳՆ;
Նույնականացում մուտքի միջոցով;
Վկայականի նույնականացում;
Դիտարկենք մի հետաքրքիր պայման UUID_VALIDATEDԿարծես թե նույնականացնող օգտատերը իրականում եկել է համակարգչից, որի թույլատրված UDID-ն կապված է դաշտում: Նկարագրություն հաշիվը, պայմաններն այսպիսին են.
1,2,3 փուլերում օգտագործվող թույլտվության պրոֆիլը հետևյալն է.
Դուք կարող եք ճշգրիտ ստուգել, թե ինչպես է AnyConnect հաճախորդի UDID-ը հասնում մեզ՝ դիտելով հաճախորդի նիստի մանրամասները ISE-ում: Մանրամասն մենք կտեսնենք, որ AnyConnect-ը մեխանիզմի միջոցով ACIDEX ուղարկում է ոչ միայն պլատֆորմի մասին տեղեկատվություն, այլև սարքի UDID-ը որպես Cisco-AV-PAIR:
Ուշադրություն դարձնենք օգտագործողին տրված վկայականին և դաշտին սկզբնատառեր (I), որն օգտագործվում է Cisco DUO-ում այն որպես մուտք գործելու երկրորդական MFA նույնականացման համար.
DUO Radius Proxy-ի կողմից գրանցամատյանում մենք կարող ենք հստակ տեսնել, թե ինչպես է կատարվում նույնականացման հարցումը, այն գալիս է օգտագործելով UDID որպես օգտվողի անուն.
DUO պորտալից մենք տեսնում ենք նույնականացման հաջող իրադարձություն.
Իսկ օգտվողի հատկություններում ես այն դրել եմ Ծածկանուն, որը ես օգտագործել եմ մուտք գործելու համար, իր հերթին սա ԱՀ-ի UDID-ն է, որը թույլատրվում է մուտք գործելու համար.
Արդյունքում ստացանք.
Օգտագործողի և սարքի բազմագործոն նույնականացում;
Պաշտպանություն օգտագործողի սարքի կեղծումից;
Սարքի վիճակի գնահատում;
Դոմեյն մեքենայի վկայականի միջոցով վերահսկողության բարձրացման ներուժ և այլն;
Համապարփակ հեռավոր աշխատավայրի պաշտպանություն ավտոմատ կերպով տեղակայված անվտանգության մոդուլներով;