ProHoster > Blog > башкаруу > Жогорку коопсуз аралыктан жетүү концепциясын ишке ашыруу
Жогорку коопсуз аралыктан жетүү концепциясын ишке ашыруу
Уюштуруу темасындагы макалалардын сериясын улантуу Remote Access VPN мүмкүндүк алуу Мен жардам бере албайм, бирок өзүмдүн кызыктуу жайылтуу тажрыйбам менен бөлүшө албайм абдан коопсуз VPN конфигурациясы. Болбогон тапшырманы бир кардар сунуштаган (Орусиянын айылдарында ойлоп табуучулар бар), бирок Чакырык кабыл алынып, чыгармачылык менен ишке ашырылган. Натыйжада төмөнкү мүнөздөмөлөрү менен кызыктуу түшүнүк болуп саналат:
Терминалдык түзүлүштү алмаштыруудан коргоонун бир нече факторлору (колдонуучуга катуу милдеттүү);
аутентификациянын маалымат базасында уруксат берилген ЖКнын ыйгарылган UDIDине колдонуучунун ПКнын шайкештигин баалоо;
ТИМ Cisco DUO аркылуу экинчилик аутентификация үчүн сертификаттан PC UDIDди колдонуу менен (Сиз каалаган SAML/Radius туура келген тиркеле аласыз);
Көп факторлуу аутентификация:
Талаа текшерүүсү жана алардын бирине каршы экинчилик аутентификациясы бар колдонуучунун сертификаты;
Логин (өзгөртүлбөйт, сертификаттан алынган) жана пароль;
Туташкан хосттун абалын баалоо (Поза)
Колдонулган чечим компоненттери:
Cisco ASA (VPN Gateway);
Cisco ISE (Аутентификация/Авторизация/Бухгалтердик эсеп, Мамлекеттик баалоо, CA);
Cisco DUO (көп факторлуу аутентификация) (Сиз каалаган SAML/Radius туура келген тиркеле аласыз);
Cisco AnyConnect (жумуш станциялары жана мобилдик ОС үчүн көп максаттуу агент);
Кардардын талаптары менен баштайлы:
Колдонуучу өзүнүн Логин/Паролдун аутентификациясы аркылуу AnyConnect кардарын VPN шлюзунан жүктөй алышы керек; бардык керектүү AnyConnect модулдары колдонуучунун саясатына ылайык автоматтык түрдө орнотулушу керек;
Колдонуучу сертификатты автоматтык түрдө бере алышы керек (сценарийлердин бири үчүн негизги сценарий кол менен берүү жана компьютерге жүктөө), бирок мен көрсөтүү үчүн автоматтык чыгарууну ишке ашырдым (аны алып салуу эч качан кеч эмес).
Негизги аутентификация бир нече этапта өтүшү керек, адегенде керектүү талааларды жана алардын маанилерин талдоо менен сертификаттын аутентификациясы бар, андан кийин логин/пароль, бул жолу гана логин терезесине сертификат талаасында көрсөтүлгөн колдонуучунун аты киргизилиши керек. Предметтин аты (CN) түзөтүү мүмкүнчүлүгү жок.
Сиз кирип жаткан түзмөк башка нерсе эмес, колдонуучуга алыстан кирүү үчүн берилген корпоративдик ноутбук экенине ынанышыңыз керек. (Бул талапты канааттандыруу үчүн бир нече варианттар жасалган)
Туташтыргыч түзүлүштүн абалы (бул этапта ЖК) кардарлардын талаптарынын бүтүндөй чоң таблицасын текшерүү менен бааланышы керек (жыйынтыктоо):
Файлдар жана алардын касиеттери;
Реестрдеги жазуулар;
Берилген тизмеден OS тактары (кийин SCCM интеграциясы);
Белгилүү бир өндүрүүчүдөн Антивирустун болушу жана кол коюулардын актуалдуулугу;
Айрым кызматтардын иши;
Белгилүү орнотулган программалардын болушу;
Баштоо үчүн, мен сизге натыйжада ишке ашыруунун видео демонстрациясын сөзсүз карап чыгууну сунуштайм Youtube (5 мүнөт).
Эми мен видеоклипте каралбаган ишке ашыруунун деталдарын карап чыгууну сунуштайм.
AnyConnect профилин даярдайлы:
Мен буга чейин жөндөө жөнүндөгү макаламда профиль түзүүнүн мисалын (ASDMдеги меню пункту боюнча) келтирдим. VPN жүктөмүн тең салмактоочу кластер. Эми мен бизге керек болгон варианттарды өзүнчө белгилеп кетким келет:
Профилде биз VPN шлюзун жана акыркы кардар менен туташуу үчүн профилдин атын көрсөтөбүз:
Профиль тараптан сертификаттын автоматтык түрдө чыгарылышын конфигурациялайлы, атап айтканда, сертификаттын параметрлерин көрсөтүү менен жана мүнөздүү түрдө талаага көңүл буралы. Баш тамгалар (I), бул жерде белгилүү бир маани кол менен киргизилет UID сыноо машинасы (Cisco AnyConnect кардары тарабынан түзүлгөн уникалдуу түзмөк идентификатору).
Бул жерде мен лирикалык чегинүү жасагым келет, анткени бул макалада концепция сүрөттөлөт; көрсөтүү максатында, сертификат берүү үчүн UDID AnyConnect профилинин Initials талаасына киргизилет. Албетте, чыныгы жашоодо, эгерде сиз муну кылсаңыз, анда бардык кардарлар бул тармакта бирдей UDID менен сертификат алышат жана алар үчүн эч нерсе иштебейт, анткени аларга конкреттүү ПКнын UDID керек. AnyConnect, тилекке каршы, UDID талаасын чөйрө өзгөрмөсү аркылуу сертификаттын суроо профилине алмаштырууну азырынча ишке ашыра элек, мисалы, өзгөрмө менен. %USER%.
Белгилей кетчү нерсе, кардар (бул сценарий боюнча) алгач мындай Корголгон компьютерлерге кол режиминде берилген UDID менен сертификаттарды өз алдынча берүүнү пландаштырууда, бул ал үчүн көйгөй эмес. Бирок, көпчүлүгүбүз үчүн биз автоматташтырууну каалайбыз (жакшы, мен үчүн бул чындык =)).
Бул мен автоматташтыруу жагынан сунуш кыла алам. Эгерде AnyConnect UDIDди динамикалык алмаштыруу менен автоматтык түрдө сертификат бере албаса, анда бир аз чыгармачылык ойду жана чебер колду талап кыла турган дагы бир жол бар - мен сизге концепцияны айтып берем. Биринчиден, келгиле, AnyConnect агенти тарабынан UDID ар кандай операциялык системаларда кандайча түзүлгөнүн карап көрөлү:
Windows — DigitalProductID жана Machine SID реестр ачкычынын айкалышынын SHA-256 хэши
Ушуга ылайык, биз корпоративдик Windows OS үчүн скрипт түзөбүз, бул скрипт менен биз белгилүү киргизүүлөрдү колдонуу менен UDIDди локалдуу эсептейбиз жана бул UDIDди талап кылынган талаага киргизүү менен сертификат берүү өтүнүчүн түзөбүз, демек, сиз дагы машинаны колдоно аласыз. AD тарабынан берилген сертификат (схемага сертификатты колдонуу менен кош аутентификацияны кошуу менен Бир нече сертификат).
Cisco ASA тарабында орнотууларды даярдайлы:
ISE CA сервери үчүн TrustPoint түзөлү, ал кардарларга сертификаттарды берет. Мен Key-Chain импорттоо жол-жобосун эске албайм; мисал менин орнотуу макаламда сүрөттөлгөн VPN жүктөмүн тең салмактоочу кластер.
crypto ca trustpoint ISE-CA
enrollment terminal
crl configure
Биз Туннел-Группа тарабынан аутентификация үчүн колдонулган сертификаттагы талааларга ылайык эрежелердин негизинде бөлүштүрүүнү конфигурациялайбыз. Биз мурунку этапта жасаган AnyConnect профили да бул жерде конфигурацияланган. Мен маанини колдонуп жатканымды эске алыңыз КООПСУЗДУК БАНК-РА, берилген сертификаты бар колдонуучуларды туннель тобуна өткөрүү SECURE-BANK-VPN, менин AnyConnect профилинин тастыктама суроо тилкесинде бул талаа бар экенин эске алыңыз.
Аутентификация серверлерин орнотуу. Менин учурда, бул аутентификациянын биринчи этабы үчүн ISE жана ТИМ катары DUO (Radius Proxy).
! 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
!
Биз топтук саясаттарды жана туннель топторун жана алардын көмөкчү компоненттерин түзөбүз:
Туннелдер тобу ДемейкиWEBVPNgroup биринчи кезекте AnyConnect VPN кардарын жүктөп алуу жана ASAнын SCEP-Proxy функциясын колдонуу менен колдонуучу сертификатын берүү үчүн колдонулат; бул үчүн бизде туннель тобунун өзүндө да, ага байланышкан топ саясатында да активдештирилген тиешелүү опциялар бар. AC-Жүктөө, жана жүктөлгөн AnyConnect профилинде (сертификат берүү талаалары ж.б.). Ошондой эле бул топтук саясатта биз жүктөп алуу зарылдыгын көрсөтөбүз ISE Поза модулу.
Туннелдер тобу SECURE-BANK-VPN мурунку этапта берилген сертификат менен аныктыгын текшерүүдө кардар тарабынан автоматтык түрдө колдонулат, анткени, Сертификат картасына ылайык, байланыш атайын ушул туннель тобуна түшөт. Мен бул жерде кызыктуу варианттар жөнүндө айтып берем:
орто аутентификация-сервер-тобу DUO # DUO серверинде экинчилик аутентификацияны орнотуңуз (Radius Proxy)
username-from-certificateCN # Негизги аутентификация үчүн, колдонуучунун логинине мурастоо үчүн сертификаттын CN талаасын колдонобуз
экинчилик-колдонуучунун аты-күбөлүктөн I # DUO серверинде экинчилик аутентификация үчүн биз алынган колдонуучунун атын жана сертификаттын Initials (I) талааларын колдонобуз.
колдонуучунун атын алдын ала толтуруу кардары # колдонуучу атын өзгөртүү мүмкүнчүлүгү жок аутентификация терезесинде алдын ала толтурулат
экинчилик-алдын ала толтуруу-колдонуучунун атын жашыруу колдонуучу жалпы сырсөздү түртүү # Биз DUO экинчи аутентификациясы үчүн логин/сырсөз киргизүү терезесин жашырабыз жана сырсөз талаасынын ордуна аутентификацияны талап кылуу үчүн билдирүү ыкмасын (sms/push/phone) колдонобуз - док бул жерде
!
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 PC андан ага VPN аркылуу кирүүгө уруксат берилет. Эгерде мен ISEде жергиликтүү аутентификацияны колдонсом, анда мен бир гана түзмөк менен чектелип калам, анткени талаалар көп эмес, бирок үчүнчү тараптын аутентификация маалымат базаларында менде мындай чектөөлөр болбойт.
Авторизация саясатын карап көрөлү, ал төрт туташуунун этаптарына бөлүнөт:
этап 1 — AnyConnect агентин жүктөп алуу жана сертификат берүү саясаты
этап 2 — Негизги аутентификация саясаты Логин (сертификаттан)/Сырсөз + UDID валидациясы бар сертификат
этап 3 — Колдонуучунун аты катары UDIDди колдонуу менен Cisco DUO (MFA) аркылуу экинчилик аутентификация + Мамлекеттик баалоо
этап 4 - Акыркы уруксат төмөнкүдөй абалда болот:
ылайыктуу;
UDID валидациясы (сертификаттан + логин милдеттүү түрдө),
Cisco DUO ТИМ;
логин боюнча аутентификация;
Сертификаттын аутентификациясы;
Кызыктуу жагдайды карап көрөлү UUID_VALIDATED, бул жөн гана аныктыгын текшерүүчү колдонуучу талаада байланышкан уруксат берилген UDID менен компьютерден келген окшойт баяндоо эсеп, шарттар төмөнкүдөй көрүнөт:
1,2,3-этаптарда колдонулган авторизация профили төмөнкүдөй:
ISEдеги кардар сессиясынын чоо-жайын карап, AnyConnect кардарынан UDID бизге кантип келгенин так текшере аласыз. майда-чүйдөсүнө чейин биз механизм аркылуу AnyConnect экенин көрөбүз ACIDEX платформа жөнүндө гана маалыматты эмес, ошондой эле аппараттын UDID катары жөнөтөт Cisco-AV-PAIR:
Колдонуучуга жана талаага берилген сертификатка көңүл буралы Баш тамгалар (I), аны Cisco DUO боюнча экинчилик MFA аутентификациясы үчүн логин катары кабыл алуу үчүн колдонулат:
Журналдын DUO Radius Proxy тарабында аутентификация сурамы кандайча жасалганын ачык көрө алабыз, ал UDID колдонуучу аты катары колдонулат:
DUO порталынан биз ийгиликтүү аутентификация окуясын көрөбүз:
Ал эми колдонуучу касиеттери менде орнотулган АЛИАС, мен кирүү үчүн колдонгон, өз кезегинде, бул кирүү үчүн уруксат берилген PC UDID болуп саналат:
Натыйжада биз алдык:
Көп факторлуу колдонуучу жана түзмөктүн аутентификациясы;
Колдонуучунун түзмөгүн спуфингден коргоо;
аппараттын абалын баалоо;
Домендик машинанын сертификаты менен башкаруунун жогорулашынын потенциалы ж.б.;
Автоматтык түрдө орнотулган коопсуздук модулдары менен комплекстүү алыскы жумуш ордун коргоо;