การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

ต่อเนื่องชุดบทความในหัวข้อองค์กร VPN การเข้าถึงระยะไกล การเข้าถึง ฉันอดไม่ได้ที่จะแบ่งปันประสบการณ์การใช้งานที่น่าสนใจของฉัน การกำหนดค่า VPN ที่มีความปลอดภัยสูง. ลูกค้ารายหนึ่งนำเสนองานที่ไม่สำคัญ (มีนักประดิษฐ์ในหมู่บ้านรัสเซีย) แต่ความท้าทายได้รับการยอมรับและนำไปปฏิบัติอย่างสร้างสรรค์ ผลลัพธ์ที่ได้คือแนวคิดที่น่าสนใจโดยมีลักษณะดังนี้

  1. ปัจจัยหลายประการในการป้องกันการเปลี่ยนอุปกรณ์ปลายทาง (โดยมีผลผูกพันกับผู้ใช้อย่างเข้มงวด)
    • ประเมินความสอดคล้องของพีซีของผู้ใช้ด้วย UDID ที่กำหนดของพีซีที่ได้รับอนุญาตในฐานข้อมูลการรับรองความถูกต้อง
    • ด้วย MFA โดยใช้ PC UDID จากใบรับรองสำหรับการตรวจสอบสิทธิ์รองผ่าน Cisco DUO (คุณสามารถแนบ SAML/Radius ที่รองรับได้);
  2. การรับรองความถูกต้องแบบหลายปัจจัย:
    • ใบรับรองผู้ใช้พร้อมการตรวจสอบภาคสนามและการรับรองความถูกต้องรองกับหนึ่งในนั้น
    • เข้าสู่ระบบ (ไม่สามารถเปลี่ยนแปลงได้นำมาจากใบรับรอง) และรหัสผ่าน
  3. การประมาณสถานะของโฮสต์ที่เชื่อมต่อ (Posture)

ส่วนประกอบโซลูชันที่ใช้:

  • Cisco ASA (เกตเวย์ VPN);
  • Cisco ISE (การรับรองความถูกต้อง / การอนุญาต / การบัญชี, การประเมินสถานะ, CA);
  • Cisco DUO (การรับรองความถูกต้องแบบหลายปัจจัย) (คุณสามารถแนบ SAML/Radius ที่รองรับได้);
  • Cisco AnyConnect (เอเจนต์อเนกประสงค์สำหรับเวิร์กสเตชันและระบบปฏิบัติการมือถือ);

เริ่มจากความต้องการของลูกค้า:

  1. ผู้ใช้จะต้องสามารถดาวน์โหลดไคลเอ็นต์ AnyConnect จากเกตเวย์ VPN ผ่านการตรวจสอบสิทธิ์การเข้าสู่ระบบ/รหัสผ่านได้ โมดูล AnyConnect ที่จำเป็นทั้งหมดจะต้องได้รับการติดตั้งโดยอัตโนมัติตามนโยบายของผู้ใช้
  2. ผู้ใช้ควรจะสามารถออกใบรับรองได้โดยอัตโนมัติ (สำหรับสถานการณ์หนึ่ง สถานการณ์หลักคือการออกใบรับรองด้วยตนเองและการอัปโหลดบนพีซี) แต่ฉันได้นำปัญหาอัตโนมัติไปใช้เพื่อการสาธิต (ไม่เคยสายเกินไปที่จะลบออก)
  3. การตรวจสอบสิทธิ์ขั้นพื้นฐานจะต้องเกิดขึ้นในหลายขั้นตอน ขั้นแรกคือการตรวจสอบสิทธิ์ใบรับรองพร้อมการวิเคราะห์ฟิลด์ที่จำเป็นและค่า จากนั้นเข้าสู่ระบบ/รหัสผ่าน เฉพาะครั้งนี้เท่านั้นที่ชื่อผู้ใช้ที่ระบุในช่องใบรับรองจะต้องถูกแทรกลงในหน้าต่างเข้าสู่ระบบ ชื่อเรื่อง (CN) โดยไม่มีความสามารถในการแก้ไข
  4. คุณต้องตรวจสอบให้แน่ใจว่าอุปกรณ์ที่คุณใช้เข้าสู่ระบบเป็นแล็ปท็อปขององค์กรที่ออกให้กับผู้ใช้สำหรับการเข้าถึงระยะไกล ไม่ใช่อย่างอื่น (มีหลายทางเลือกเพื่อให้เป็นไปตามข้อกำหนดนี้)
  5. สถานะของอุปกรณ์เชื่อมต่อ (ในขั้นตอนนี้ของพีซี) ควรได้รับการประเมินด้วยการตรวจสอบตารางความต้องการของลูกค้าจำนวนมาก (โดยสรุป):
    • ไฟล์และคุณสมบัติ
    • รายการรีจิสทรี;
    • แพทช์ระบบปฏิบัติการจากรายการที่ให้ไว้ (การรวม SCCM ในภายหลัง);
    • ความพร้อมใช้งานของ Anti-Virus จากผู้ผลิตเฉพาะและความเกี่ยวข้องของลายเซ็น
    • กิจกรรมของบริการบางอย่าง
    • ความพร้อมใช้งานของโปรแกรมที่ติดตั้งบางโปรแกรม

ขั้นแรก ฉันขอแนะนำให้คุณดูวิดีโอสาธิตการใช้งานที่เกิดขึ้นอย่างแน่นอน ยูทูป (5 นาที).

ตอนนี้ผมเสนอให้พิจารณารายละเอียดการใช้งานที่ไม่ครอบคลุมในคลิปวิดีโอ

มาเตรียมโปรไฟล์ AnyConnect กัน:

ก่อนหน้านี้ฉันได้ยกตัวอย่างการสร้างโปรไฟล์ (ในแง่ของรายการเมนูใน ASDM) ในบทความเกี่ยวกับการตั้งค่า คลัสเตอร์โหลดบาลานซ์ VPN. ตอนนี้ฉันต้องการทราบตัวเลือกต่างๆ ที่เราต้องการ:

ในโปรไฟล์ เราจะระบุเกตเวย์ VPN และชื่อโปรไฟล์สำหรับเชื่อมต่อกับไคลเอนต์:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

มากำหนดค่าการออกใบรับรองอัตโนมัติจากด้านโปรไฟล์โดยระบุพารามิเตอร์ใบรับรองโดยเฉพาะและให้ความสนใจกับฟิลด์โดยเฉพาะ ชื่อย่อ (I)โดยที่ค่าเฉพาะถูกป้อนด้วยตนเอง คุณทำ เครื่องทดสอบ (ตัวระบุอุปกรณ์เฉพาะที่สร้างโดยไคลเอนต์ Cisco AnyConnect)

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

ที่นี่ฉันต้องการพูดนอกเรื่องโคลงสั้น ๆ เนื่องจากบทความนี้อธิบายแนวคิด เพื่อวัตถุประสงค์ในการสาธิต UDID สำหรับการออกใบรับรองจะถูกป้อนลงในฟิลด์ชื่อย่อของโปรไฟล์ AnyConnect แน่นอนว่าในชีวิตจริง หากคุณทำเช่นนี้ ไคลเอนต์ทั้งหมดจะได้รับใบรับรองที่มี UDID เดียวกันในฟิลด์นี้ และจะไม่มีอะไรทำงานให้พวกเขาได้ เนื่องจากพวกเขาต้องการ UDID ของพีซีเฉพาะของตน น่าเสียดายที่ AnyConnect ยังไม่ได้ใช้การทดแทนฟิลด์ UDID ในโปรไฟล์คำขอใบรับรองผ่านตัวแปรสภาพแวดล้อม เช่นเดียวกับที่ใช้กับตัวแปร %ผู้ใช้%.

เป็นที่น่าสังเกตว่าในตอนแรกลูกค้า (ของสถานการณ์นี้) วางแผนที่จะออกใบรับรองอย่างอิสระด้วย UDID ที่กำหนดในโหมดแมนนวลไปยังพีซีที่ได้รับการป้องกันดังกล่าวซึ่งไม่เป็นปัญหาสำหรับเขา อย่างไรก็ตาม สำหรับพวกเราส่วนใหญ่ เราต้องการระบบอัตโนมัติ (สำหรับฉัน มันเป็นเรื่องจริง =))

และนี่คือสิ่งที่ฉันสามารถนำเสนอได้ในแง่ของระบบอัตโนมัติ หาก AnyConnect ยังไม่สามารถออกใบรับรองโดยอัตโนมัติโดยการแทนที่ UDID แบบไดนามิก แสดงว่ามีอีกวิธีหนึ่งที่ต้องใช้ความคิดสร้างสรรค์เล็กน้อยและมือที่มีทักษะ - ฉันจะบอกแนวคิดนี้ให้คุณทราบ อันดับแรก มาดูกันว่าเอเจนต์ AnyConnect สร้าง UDID บนระบบปฏิบัติการที่แตกต่างกันได้อย่างไร:

  • Windows — แฮช SHA-256 ของการรวมกันของคีย์รีจิสทรี DigitalProductID และ Machine SID
  • OSX — แพลตฟอร์มแฮช SHA-256UUID
  • ลินุกซ์ — แฮช SHA-256 ของ UUID ของพาร์ติชันรูท
  • iOS ของแอปเปิ้ล — แพลตฟอร์มแฮช SHA-256UUID
  • Android – ดูเอกสารได้ที่ ลิงค์

ดังนั้นเราจึงสร้างสคริปต์สำหรับระบบปฏิบัติการ Windows ขององค์กรของเราโดยใช้สคริปต์นี้เราจะคำนวณ UDID ในเครื่องโดยใช้อินพุตที่รู้จักและสร้างคำขอสำหรับการออกใบรับรองโดยป้อน UDID นี้ในช่องที่จำเป็น อย่างไรก็ตามคุณสามารถใช้เครื่องได้ ใบรับรองที่ออกโดย AD (โดยเพิ่มการรับรองความถูกต้องสองครั้งโดยใช้ใบรับรองให้กับโครงร่าง ใบรับรองหลายฉบับ).

มาเตรียมการตั้งค่าฝั่ง Cisco ASA กัน:

มาสร้าง TrustPoint สำหรับเซิร์ฟเวอร์ ISE CA กันดีกว่า โดยจะเป็นเซิร์ฟเวอร์ที่จะออกใบรับรองให้กับลูกค้า ฉันจะไม่พิจารณาขั้นตอนการนำเข้า Key-Chain ตัวอย่างได้อธิบายไว้ในบทความของฉันเกี่ยวกับการตั้งค่า คลัสเตอร์โหลดบาลานซ์ VPN.

crypto ca trustpoint ISE-CA
 enrollment terminal
 crl configure

เรากำหนดค่าการจัดจำหน่ายโดย Tunnel-Group ตามกฎเกณฑ์ตามฟิลด์ในใบรับรองที่ใช้สำหรับการตรวจสอบสิทธิ์ โปรไฟล์ AnyConnect ที่เราทำในขั้นตอนก่อนหน้าได้รับการกำหนดค่าที่นี่เช่นกัน โปรดทราบว่าฉันกำลังใช้ค่า SECUREBANK-RAเพื่อโอนผู้ใช้ที่มีใบรับรองที่ออกไปยังกลุ่มทันเนล ปลอดภัยธนาคาร-VPNโปรดทราบว่าฉันมีฟิลด์นี้ในคอลัมน์คำขอใบรับรองโปรไฟล์ AnyConnect

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
!

การตั้งค่าเซิร์ฟเวอร์การตรวจสอบความถูกต้อง ในกรณีของฉัน นี่คือ 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
!

เราสร้างนโยบายกลุ่มและกลุ่มช่องสัญญาณและส่วนประกอบเสริม:

กลุ่มอุโมงค์ ค่าเริ่มต้นWEBVPNGroup จะใช้เป็นหลักในการดาวน์โหลดไคลเอนต์ AnyConnect VPN และออกใบรับรองผู้ใช้โดยใช้ฟังก์ชัน SCEP-Proxy ของ ASA ด้วยเหตุนี้เรามีตัวเลือกที่เกี่ยวข้องที่เปิดใช้งานทั้งในกลุ่มช่องสัญญาณเองและในนโยบายกลุ่มที่เกี่ยวข้อง ดาวน์โหลด ACและในโปรไฟล์ AnyConnect ที่โหลดไว้ (ช่องสำหรับการออกใบรับรอง ฯลฯ ) นอกจากนี้ในนโยบายกลุ่มนี้ เรายังระบุถึงความจำเป็นในการดาวน์โหลดอีกด้วย โมดูลท่าทาง ISE.

กลุ่มอุโมงค์ ปลอดภัยธนาคาร-VPN ไคลเอนต์จะถูกใช้โดยอัตโนมัติเมื่อตรวจสอบสิทธิ์กับใบรับรองที่ออกในขั้นตอนก่อนหน้า เนื่องจากตามแผนที่ใบรับรอง การเชื่อมต่อจะตกอยู่บนกลุ่มอุโมงค์นี้โดยเฉพาะ ฉันจะบอกคุณเกี่ยวกับตัวเลือกที่น่าสนใจที่นี่:

  • รองการรับรองความถูกต้องเซิร์ฟเวอร์กลุ่ม DUO # ตั้งค่าการรับรองความถูกต้องรองบนเซิร์ฟเวอร์ DUO (Radius Proxy)
  • ชื่อผู้ใช้จากใบรับรองCN # สำหรับการรับรองความถูกต้องหลัก เราใช้ฟิลด์ CN ของใบรับรองเพื่อสืบทอดการเข้าสู่ระบบของผู้ใช้
  • ชื่อผู้ใช้รองจากใบรับรอง I # สำหรับการตรวจสอบสิทธิ์รองบนเซิร์ฟเวอร์ DUO เราจะใช้ชื่อผู้ใช้ที่แยกออกมาและฟิลด์ชื่อย่อ (I) ของใบรับรอง
  • ลูกค้ากรอกชื่อผู้ใช้ล่วงหน้า # กรอกชื่อผู้ใช้ไว้ล่วงหน้าในหน้าต่างการตรวจสอบสิทธิ์โดยไม่มีความสามารถในการเปลี่ยนแปลง
  • ไคลเอนต์รองกรอกชื่อผู้ใช้ซ่อนการกดใช้รหัสผ่านทั่วไป # เราซ่อนหน้าต่างการเข้าสู่ระบบ/รหัสผ่านสำหรับการตรวจสอบสิทธิ์รอง 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 และการออกใบรับรอง
  • ขั้นตอนที่ 2 — นโยบายการตรวจสอบสิทธิ์หลัก เข้าสู่ระบบ (จากใบรับรอง)/รหัสผ่าน + ใบรับรองพร้อมการตรวจสอบ UDID
  • ขั้นตอนที่ 3 — การรับรองความถูกต้องรองผ่าน Cisco DUO (MFA) โดยใช้ UDID เป็นชื่อผู้ใช้ + การประเมินสถานะ
  • ขั้นตอนที่ 4 — การอนุญาตขั้นสุดท้ายอยู่ในสถานะ:
    • สอดคล้อง;
    • การตรวจสอบ UDID (จากใบรับรอง + การผูกเข้าสู่ระบบ)
    • ซิสโก้ DUO MFA;
    • การรับรองความถูกต้องโดยการเข้าสู่ระบบ
    • การรับรองความถูกต้องของใบรับรอง;

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

มาดูสภาพที่น่าสนใจกัน UUID_VALIDATEDดูเหมือนว่าผู้ใช้ที่ตรวจสอบสิทธิ์นั้นมาจากพีซีที่มี UDID ที่อนุญาตเชื่อมโยงอยู่ในฟิลด์ รายละเอียด บัญชี โดยมีเงื่อนไขดังนี้:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

โปรไฟล์การอนุญาตที่ใช้ในขั้นตอนที่ 1,2,3 เป็นดังนี้:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

คุณสามารถตรวจสอบได้อย่างแน่ชัดว่า UDID จากไคลเอนต์ AnyConnect มาถึงเราอย่างไร โดยดูรายละเอียดเซสชั่นไคลเอนต์ใน ISE ในรายละเอียดเราจะเห็นว่า AnyConnect ผ่านกลไก กรด ส่งไม่เพียงแต่ข้อมูลเกี่ยวกับแพลตฟอร์ม แต่ยังส่ง UDID ของอุปกรณ์ด้วย Cisco-AV-PAIR:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

มาดูใบรับรองที่ออกให้กับผู้ใช้และฟิลด์กัน ชื่อย่อ (I)ซึ่งใช้เพื่อเข้าสู่ระบบสำหรับการตรวจสอบสิทธิ์ MFA รองบน ​​Cisco DUO:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

ในด้าน DUO Radius Proxy ในบันทึก เราจะเห็นได้ชัดเจนว่าคำขอการตรวจสอบสิทธิ์เกิดขึ้นได้อย่างไร โดยใช้ UDID เป็นชื่อผู้ใช้:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

จากพอร์ทัล DUO เราเห็นเหตุการณ์การตรวจสอบสิทธิ์ที่ประสบความสำเร็จ:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

และในคุณสมบัติผู้ใช้ฉันได้ตั้งค่าไว้ ALIASซึ่งฉันใช้สำหรับการเข้าสู่ระบบ ในทางกลับกัน นี่คือ UDID ของพีซีที่อนุญาตให้เข้าสู่ระบบ:

การใช้แนวคิดการเข้าถึงระยะไกลที่มีความปลอดภัยสูง

เป็นผลให้เราได้รับ:

  • การรับรองความถูกต้องของผู้ใช้และอุปกรณ์แบบหลายปัจจัย
  • การป้องกันการปลอมแปลงอุปกรณ์ของผู้ใช้
  • การประเมินสภาพของอุปกรณ์
  • ศักยภาพในการควบคุมที่เพิ่มขึ้นด้วยใบรับรองเครื่องโดเมน ฯลฯ
  • การปกป้องสถานที่ทำงานระยะไกลที่ครอบคลุมด้วยโมดูลความปลอดภัยที่ติดตั้งโดยอัตโนมัติ

ลิงก์ไปยังบทความชุด Cisco VPN:

ที่มา: will.com

เพิ่มความคิดเห็น