Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Tashkilot mavzusidagi maqolalar turkumini davom ettirish Masofaviy kirish VPN kirish Men o'zimning qiziqarli tarqatish tajribam bilan o'rtoqlasholmayman yuqori darajada xavfsiz VPN konfiguratsiyasi. Bir mijoz tomonidan ahamiyatsiz bo'lmagan vazifa taqdim etildi (Rossiya qishloqlarida ixtirochilar bor), ammo Challenge qabul qilindi va ijodiy tarzda amalga oshirildi. Natijada quyidagi xususiyatlarga ega qiziqarli kontseptsiya paydo bo'ladi:

  1. Terminal qurilmasini almashtirishdan himoya qilishning bir nechta omillari (foydalanuvchi uchun qat'iy majburiyat bilan);
    • autentifikatsiya ma'lumotlar bazasida ruxsat etilgan shaxsiy shaxsiy kompyuterning UDID ga foydalanuvchi shaxsiy kompyuterining muvofiqligini baholash;
    • TIV Cisco DUO orqali ikkilamchi autentifikatsiya qilish uchun sertifikatdan shaxsiy kompyuter UDID-dan foydalangan holda (Siz har qanday SAML/Radiusga mos keluvchini biriktirishingiz mumkin);
  2. Ko'p faktorli autentifikatsiya:
    • Dala tekshiruvi va ulardan biriga nisbatan ikkilamchi autentifikatsiya bilan foydalanuvchi sertifikati;
    • Login (o'zgarmas, sertifikatdan olingan) va parol;
  3. Ulanadigan xostning holatini baholash (posture)

Ishlatilgan eritma komponentlari:

  • Cisco ASA (VPN Gateway);
  • Cisco ISE (Autentifikatsiya / Avtorizatsiya / Buxgalteriya hisobi, Davlatni baholash, CA);
  • Cisco DUO (ko'p faktorli autentifikatsiya) (Siz har qanday SAML/Radiusga mos keluvchini biriktirishingiz mumkin);
  • Cisco AnyConnect (ish stantsiyalari va mobil OT uchun ko'p maqsadli agent);

Keling, mijozning talablaridan boshlaylik:

  1. Foydalanuvchi o'zining Login/Parol autentifikatsiyasi orqali AnyConnect mijozini VPN shlyuzidan yuklab olishi kerak; barcha kerakli AnyConnect modullari foydalanuvchi siyosatiga muvofiq avtomatik ravishda o'rnatilishi kerak;
  2. Foydalanuvchi sertifikatni avtomatik ravishda berish imkoniyatiga ega bo'lishi kerak (stsenariylardan biri uchun asosiy stsenariy qo'lda berish va kompyuterga yuklash), lekin men namoyish qilish uchun avtomatik masalani amalga oshirdim (uni olib tashlash hech qachon kech emas).
  3. Asosiy autentifikatsiya bir necha bosqichda o'tishi kerak, avval kerakli maydonlar va ularning qiymatlari tahlili bilan sertifikat autentifikatsiyasi mavjud, keyin login/parol, faqat bu safar sertifikat maydonida ko'rsatilgan foydalanuvchi nomi kirish oynasiga kiritilishi kerak. Mavzu nomi (CN) tahrir qilish imkoniyatisiz.
  4. Siz tizimga kirgan qurilma boshqa narsa emas, balki masofaviy kirish uchun foydalanuvchiga berilgan korporativ noutbuk ekanligiga ishonch hosil qilishingiz kerak. (Ushbu talabni qondirish uchun bir nechta variantlar mavjud)
  5. Ulanish moslamasining holati (ushbu bosqichda shaxsiy kompyuter) mijoz talablarining butun jadvalini tekshirish bilan baholanishi kerak (yakunlash):
    • Fayllar va ularning xususiyatlari;
    • Ro'yxatga olish kitobi yozuvlari;
    • Taqdim etilgan ro'yxatdagi OS yamoqlari (keyinchalik SCCM integratsiyasi);
    • Muayyan ishlab chiqaruvchidan antivirusning mavjudligi va imzolarning dolzarbligi;
    • Muayyan xizmatlarning faoliyati;
    • Ba'zi o'rnatilgan dasturlarning mavjudligi;

Boshlash uchun men sizga natijada amalga oshiriladigan dasturning video namoyishini ko'rib chiqishingizni maslahat beraman Youtube (5 daqiqa).

Endi men videoklipda ko'rsatilmagan amalga oshirish tafsilotlarini ko'rib chiqishni taklif qilaman.

AnyConnect profilini tayyorlaylik:

Men avvalroq sozlash haqidagi maqolamda profil yaratish misolini (ASDM-dagi menyu elementi nuqtai nazaridan) keltirdim. VPN yuklarni muvozanatlash klasteri. Endi men bizga kerak bo'ladigan variantlarni alohida ta'kidlamoqchiman:

Profilda biz VPN shlyuzini va oxirgi mijozga ulanish uchun profil nomini ko'rsatamiz:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Profil tomondan sertifikatning avtomatik chiqarilishini sozlaymiz, xususan, sertifikat parametrlarini ko'rsatamiz va xarakterli ravishda maydonga e'tibor beramiz. Bosh harflar (I), bu erda ma'lum bir qiymat qo'lda kiritiladi UID sinov mashinasi (Cisco AnyConnect mijozi tomonidan yaratilgan noyob qurilma identifikatori).

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Bu erda men lirik chekinishni xohlayman, chunki ushbu maqola kontseptsiyani tavsiflaydi; namoyish qilish uchun sertifikat berish uchun UDID AnyConnect profilining Bosh harflar maydoniga kiritilgan. Albatta, real hayotda, agar siz buni qilsangiz, barcha mijozlar ushbu sohada bir xil UDID sertifikatiga ega bo'lishadi va ular uchun hech narsa ishlamaydi, chunki ularga o'zlarining shaxsiy shaxsiy kompyuterlarining UDID-si kerak bo'ladi. AnyConnect, afsuski, UDID maydonini sertifikat so'rovi profiliga muhit o'zgaruvchisi orqali almashtirishni hali amalga oshirmaydi, masalan, o'zgaruvchi bilan %USER%.

Shuni ta'kidlash kerakki, mijoz (ushbu stsenariyda) dastlab bunday Himoyalangan shaxsiy kompyuterlarga qo'lda rejimda berilgan UDID bilan sertifikatlarni mustaqil ravishda berishni rejalashtirmoqda, bu uning uchun muammo emas. Biroq, ko'pchiligimiz uchun biz avtomatlashtirishni xohlaymiz (yaxshi, men uchun bu to'g'ri =)).

Va bu men avtomatlashtirish nuqtai nazaridan taklif qila olaman. Agar AnyConnect UDID-ni dinamik ravishda almashtirish orqali sertifikatni avtomatik ravishda chiqara olmasa, unda biroz ijodiy fikr va mohir qo'llarni talab qiladigan yana bir yo'l bor - men sizga kontseptsiyani aytib beraman. Birinchidan, AnyConnect agenti tomonidan turli xil operatsion tizimlarda UDID qanday yaratilishini ko'rib chiqamiz:

  • Windows β€” DigitalProductID va Machine SID registr kaliti kombinatsiyasining SHA-256 xeshi
  • OSX - SHA-256 xesh platformasiUUID
  • Linux - Ildiz bo'limining UUID ning SHA-256 xeshi.
  • Apple iOS - SHA-256 xesh platformasiUUID
  • Android – Hujjatga qarang aloqa

Shunga ko'ra, biz korporativ Windows operatsion tizimlarimiz uchun skript yaratamiz, bu skript yordamida biz ma'lum ma'lumotlardan foydalangan holda UDIDni mahalliy hisoblaymiz va ushbu UDIDni kerakli maydonga kiritish orqali sertifikat berish uchun so'rovni shakllantiramiz, aytmoqchi, siz ham foydalanishingiz mumkin AD tomonidan chiqarilgan mashina sertifikati (sxemaga sertifikat yordamida ikki tomonlama autentifikatsiyani qo'shish orqali Bir nechta sertifikat).

Cisco ASA tomonida sozlamalarni tayyorlaylik:

Keling, ISE CA serveri uchun TrustPoint yarataylik, u mijozlarga sertifikatlar beradigan server bo'ladi. Men Key-Chain import protsedurasini ko'rib chiqmayman; misol o'rnatish haqidagi maqolamda tasvirlangan VPN yuklarni muvozanatlash klasteri.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

Biz Tunnel-Group tomonidan autentifikatsiya qilish uchun ishlatiladigan sertifikat maydonlariga muvofiq qoidalar asosida tarqatishni sozlaymiz. Oldingi bosqichda yaratgan AnyConnect profili ham shu yerda sozlangan. Iltimos, men qiymatdan foydalanayotganimni unutmang SECUREBANK-RA, berilgan sertifikatga ega foydalanuvchilarni tunnel guruhiga o'tkazish uchun SECURE-BANK-VPN, iltimos, AnyConnect profili sertifikat soΚ»rovi ustunida ushbu maydon borligini unutmang.

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
!

Autentifikatsiya serverlarini sozlash. Mening holatimda, bu autentifikatsiyaning birinchi bosqichi uchun ISE va TIV sifatida DUO (Radius Proksi).

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

Biz guruh siyosatlari va tunnel guruhlari va ularning yordamchi komponentlarini yaratamiz:

Tunnel guruhi Standart WEBVPNguruhi birinchi navbatda AnyConnect VPN mijozini yuklab olish va ASA ning SCEP-Proksi funksiyasidan foydalangan holda foydalanuvchi sertifikatini berish uchun ishlatiladi; buning uchun biz tunnel guruhining o'zida ham, tegishli guruh siyosatida ham faollashtirilgan mos variantlarga egamiz. AC-Yuklab olish, va yuklangan AnyConnect profilida (sertifikat berish uchun maydonlar va boshqalar). Shuningdek, ushbu guruh siyosatida biz yuklab olish zarurligini ko'rsatamiz ISE posture moduli.

Tunnel guruhi SECURE-BANK-VPN oldingi bosqichda berilgan sertifikat bilan autentifikatsiya qilishda mijoz tomonidan avtomatik ravishda foydalaniladi, chunki Sertifikat xaritasiga muvofiq ulanish ushbu tunnel guruhiga to'g'ri keladi. Men sizga bu erda qiziqarli variantlar haqida gapirib beraman:

  • ikkilamchi autentifikatsiya serveri guruhi DUO # DUO serverida ikkilamchi autentifikatsiyani o'rnating (Radius Proksi)
  • foydalanuvchi nomi-certificateCN # Birlamchi autentifikatsiya qilish uchun foydalanuvchi loginini meros qilib olish uchun sertifikatning CN maydonidan foydalanamiz
  • sertifikatdan ikkinchi darajali foydalanuvchi nomi I # DUO serverida ikkilamchi autentifikatsiya qilish uchun biz olingan foydalanuvchi nomi va sertifikatning bosh harflari (I) maydonlaridan foydalanamiz.
  • foydalanuvchi nomini oldindan to'ldirish mijozi # foydalanuvchi nomini autentifikatsiya oynasida o'zgartirish imkoniyatisiz oldindan to'ldirilgan qilib qo'ying
  • ikkinchi darajali-pre-to'ldirish-foydalanuvchi nomi mijoz yashirish foydalanish-umumiy-parol surish # Biz ikkilamchi DUO autentifikatsiyasi uchun login/parol kiritish oynasini yashiramiz va parol maydoni oΚ»rniga autentifikatsiyani soΚ»rash uchun bildirishnoma usulidan (sms/push/telefon) foydalanamiz. shu yerda

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

Keyin ISE ga o'tamiz:

Biz mahalliy foydalanuvchini sozlaymiz (siz AD/LDAP/ODBC va h.k. dan foydalanishingiz mumkin), soddalik uchun men ISE-ning o'zida mahalliy foydalanuvchi yaratdim va uni maydonga tayinladim. tavsifi UDID kompyuter undan VPN orqali kirishga ruxsat beriladi. Agar ISEda mahalliy autentifikatsiyadan foydalansam, men faqat bitta qurilma bilan cheklanaman, chunki maydonlar ko'p emas, lekin uchinchi tomon autentifikatsiya ma'lumotlar bazalarida menda bunday cheklovlar bo'lmaydi.

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Keling, avtorizatsiya siyosatini ko'rib chiqaylik, u to'rtta ulanish bosqichiga bo'lingan:

  • Stend 1 β€” AnyConnect agentini yuklab olish va sertifikat berish siyosati
  • Stend 2 β€” Asosiy autentifikatsiya siyosati Login (sertifikatdan)/Parol + UDID tekshiruvi bilan sertifikat
  • Stend 3 β€” Foydalanuvchi nomi sifatida UDID dan foydalangan holda Cisco DUO (MFA) orqali ikkilamchi autentifikatsiya + Davlat baholash
  • Stend 4 - Yakuniy ruxsat quyidagi holatda bo'ladi:
    • Muvofiq;
    • UDID tekshiruvi (sertifikat + tizimga kirishdan),
    • Cisco DUO TIV;
    • login orqali autentifikatsiya;
    • Sertifikatning autentifikatsiyasi;

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Keling, qiziqarli holatni ko'rib chiqaylik UUID_VALIDATED, shunchaki autentifikatsiya qiluvchi foydalanuvchi ushbu sohada ruxsat etilgan UDID bilan bog'langan shaxsiy kompyuterdan kelganga o'xshaydi. Tavsif hisob, shartlar quyidagicha ko'rinadi:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

1,2,3-bosqichlarda foydalaniladigan avtorizatsiya profili quyidagicha:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

AnyConnect mijozidan UDID bizga qanday kelishini ISEdagi mijoz sessiyasi tafsilotlariga qarab tekshirishingiz mumkin. Batafsil ravishda biz AnyConnect-ni mexanizm orqali ko'ramiz ACIDEX sifatida nafaqat platforma haqida ma'lumot, balki qurilmaning UDID-ni ham yuboradi Cisco-AV-PAIR:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Keling, foydalanuvchi va maydonga berilgan sertifikatga e'tibor beraylik Bosh harflar (I), bu uni Cisco DUO da ikkilamchi TIV autentifikatsiyasi uchun login sifatida qabul qilish uchun ishlatiladi:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Jurnalning DUO Radius Proksi tomonida biz autentifikatsiya so'rovi qanday amalga oshirilganligini aniq ko'rishimiz mumkin, u foydalanuvchi nomi sifatida UDID yordamida keladi:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

DUO portalidan biz muvaffaqiyatli autentifikatsiya hodisasini ko'ramiz:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Va foydalanuvchi xususiyatlarida men uni o'rnatdim ALIAS, men kirish uchun foydalanganman, o'z navbatida, bu kirish uchun ruxsat etilgan shaxsiy kompyuterning UDIDidir:

Yuqori darajada xavfsiz masofaviy kirish kontseptsiyasini amalga oshirish

Natijada biz oldik:

  • Ko'p faktorli foydalanuvchi va qurilma autentifikatsiyasi;
  • Foydalanuvchi qurilmasini aldashdan himoya qilish;
  • Qurilmaning holatini baholash;
  • Domen mashinasi sertifikati va boshqalar bilan nazoratni kuchaytirish imkoniyati;
  • Avtomatik o'rnatilgan xavfsizlik modullari bilan ish joyini har tomonlama masofadan himoya qilish;

Cisco VPN seriyali maqolalariga havolalar:

Manba: www.habr.com

a Izoh qo'shish