การรับรองความถูกต้องด้วยสองปัจจัยสำหรับ SSLVPN (cisco)?


13

เพิ่งได้รับคำถามในวันนี้เกี่ยวกับการใช้การตรวจสอบสิทธิ์แบบสองปัจจัยสำหรับผู้ใช้ SSLVPN ภายใน บริษัท ของเรา (การเชื่อมต่อผ่าน Cisco AnyConnect เราไม่สนับสนุน / ใช้ WebVPN) ขณะนี้เราใช้ LDAP สำหรับการตรวจสอบสิทธิ์

ฉันได้ระบุ บริษัท ที่ทำงานร่วมโดยตรงกับ anyConnect และไคลเอนต์แบบพกพาเพื่อจ่ายโทเค็นการตรวจสอบความถูกต้องสองปัจจัย แต่สงสัยว่าวิธีทั่วไปในการใช้สองปัจจัยในการตั้งค่าประเภทนี้คืออะไร สิ่งแรกที่ฉันนึกถึงก็คือ Google Authenticator หรือ RSA แต่การค้นหาข้อมูลเกี่ยวกับการตั้งค่าประเภทนี้ร่วมกับ AnyConnect นั้นยากที่จะหา (ฉันไม่พบอะไรเลย .. ในความเป็นจริง)


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

เราใช้ YubiKey สำเร็จแล้ว ประหยัดมากและตั้งค่าได้ง่าย ทำงานร่วมกับ Cisco ASA SSL VPN, PaloAlto และอื่น ๆ ได้ (ฉันไม่ได้เชื่อมต่อกับ บริษัท นี้ในทางใดทางหนึ่งเพียงผู้ใช้)
Jakob

เจ๋งขอบคุณสำหรับคำแนะนำ - เราลงเอยด้วยการเป็น DUO - ฉันจะเป็นผู้ใช้ดอลล่าร์หนึ่งดอลลาร์ ... ยอดเยี่ยมมากบริการตรงไปตรงมา gripe เดียวของฉันคือการลงทะเบียนใหม่เมื่อพวกเขาได้รับโทรศัพท์หรืออุปกรณ์ใหม่ เป็นบิตของความรำคาญการบริหาร (ยังไม่บริการตนเอง) ขอแนะนำให้พวกเขา (และไม่เกี่ยวข้องกับพวกเขาเลย)
อัล

FWIW ฉันมักจะอายที่มีการรับรองความถูกต้อง (ซึ่งสำคัญ) ขึ้นอยู่กับหลาย ๆ ชิ้น (active directory + 2 factor) ฉันต้องการชิ้นส่วน 2 ชิ้นในอุปกรณ์ดังนั้นมันจึงเป็น active directory + device .... แต่มันหายาก
Jonesome Reinstate Monica

คำตอบ:


13

เส้นทางที่สองที่ฉันนึกได้มีดังนี้:

  1. คุณต้องการใช้การรับรองความถูกต้องรอง Cisco ASA ในตัว

  2. คุณเปิดให้ใช้เซิร์ฟเวอร์รัศมี

แนวคิดสำหรับ # 2:

  1. เลือกผู้รับรองความถูกต้อง ตัวอย่างเช่น Google, LDAP, AD, ฯลฯ ...

  2. ติดตั้งเซิร์ฟเวอร์ Radius (FreeRADIUS, Windows NPM, Cisco ACS, ฯลฯ ... ) ที่รองรับตัวตรวจสอบสิทธิ์

  3. กำหนดค่าการรับรองความถูกต้องบน Cisco ASA ของคุณเพื่อใช้เซิร์ฟเวอร์ Radius นั้น (ที่อยู่ IP, พอร์ต, รหัสลับ, ฯลฯ ... ) จากนั้นคุณก็ทำเสร็จแล้ว ปรับการหมดเวลาตามต้องการ

เกี่ยวกับ Google Authenticator :
คุณสามารถตั้งค่าFreeRadius เพื่อใช้ Google Authenticatorจากนั้นตั้งค่าเซิร์ฟเวอร์ Cisco ASA aaa เพื่อใช้เซิร์ฟเวอร์ FreeRadius เสร็จแล้ว :)

เกี่ยวกับ Duo Security :
ฉันใช้ Duo Security และมันใช้งานได้ดี ลิงก์การกำหนดค่านี้แสดงวิธีการตั้งค่าการตรวจสอบสิทธิ์แบบ 2 ปัจจัยโดยไม่ต้องติดตั้งแอปพลิเคชัน Duo Security อย่างไรก็ตามหากคุณติดตั้งแอปพลิเคชั่น (ทำหน้าที่เป็นเซิร์ฟเวอร์ RADIUS) การตั้งค่าจะง่ายยิ่งขึ้น ด้านล่างนี้เป็นตัวอย่างการกำหนดค่าที่ควรช่วย

ถ้ำในการตั้งค่านี้:
เพิ่มเวลาของคุณ! ฉันมีปัญหากับสิ่งนี้ ห้ามติดตั้งแอ็พพลิเคชัน Duo บนเซิร์ฟเวอร์ RADIUS ที่มีอยู่ (การรับฟังพอร์ตขัดแย้งกัน)

  • หลังจากติดตั้งแอปพลิเคชั่นบนเซิร์ฟเวอร์คุณจะต้องแก้ไขauthproxy.cfgไฟล์เพื่อใช้ Active Directory เป็นตัวรับรองความถูกต้องหลักของคุณที่ด้านบนของคุณauthproxy.cfg

  • ตั้งค่าไคลเอนต์ad_clientและเซิร์ฟเวอร์เป็นradius_server_auto

    [main]  
    client=ad_client  
    server=radius_server_auto  
    
  • ad_clientสร้างส่วนที่เรียกว่า

    [ad_client]
    host=10.x.x.11
    host_2=10.x.x.12
    service_account_username=ldap.duo
    service_account_password=superSecretPassword
    search_dn=DC=corp,DC=businessName,DC=com
    
  • กลุ่มความปลอดภัยเป็นตัวเลือก กลุ่มนี้อนุญาตให้ผู้ใช้รับรองความถูกต้อง

    security_group_dn=CN=Administrators,CN=Builtin,DC=example,DC=com
    
  • ข้อมูลการกำหนดค่าความปลอดภัย DUO เฉพาะ

    [radius_server_auto]
    ikey=xxxxxxxxxxxxx
    skey=xxxxxxxxxxxxx
    api_host=api-xxxxx.duosecurity.com
    
  • ปลอดภัยหรือไม่ปลอดภัยเป็นตัวเลือกที่นี่

  • Safe=allow auth ถ้า Duo ไม่สามารถเข้าถึงได้
  • Secure=do not allow auth ถ้า Duo ไม่สามารถเข้าถึง failmode = ปลอดภัยได้

  • ที่อยู่ IP ของ Cisco ASA ที่คุณต้องการกดและคีย์

    radius_ip_1=10.x.x.1
    radius_secret_1=superSecretPassword
    
  • Windows Server ที่ติดตั้ง DuoSecurity App

    net stop DuoAuthProxy
    net start DuoAuthProxy
    
  • การกำหนดค่า Cisco ASA 8.4

  • เพิ่มเซิร์ฟเวอร์ aaa ใหม่ให้กับนโยบาย VPN ที่สอดคล้องกัน

    aaa-server DUO protocol radius
    !
    aaa-server DUO (inside) host 10.x.x.101
     accounting-port 1813
     authentication-port 1812
     key superSecretPassword
     retry-interval 10
     timeout 300
    !
    

ขอบคุณมากสำหรับการเขียนอย่างกว้างขวาง! ฉันมีอะไรหลายอย่างที่จะทำงานกับที่นี่ ที่น่าสนใจเพื่อดูว่าระบบเหล่านี้ทำงานร่วมกันเพื่อให้มีการรับรองความถูกต้องสองปัจจัย
อัล

2

คำจำกัดความของการรับรองความถูกต้องด้วยสองปัจจัยคือมีวิธีการที่หลากหลาย นี่คือวิธีการ:

  1. สิ่งที่คุณรู้เช่นชื่อผู้ใช้และรหัสผ่านของบัญชีเข้าสู่ระบบ
  2. สิ่งที่คุณมีเช่นคีย์ RSB RSA ที่สร้างตัวเลขหรือไฟล์ใบรับรอง
  3. สิ่งที่คุณเป็นเช่นการสแกนจอประสาทตาและเครื่องสแกนลายนิ้วมือ

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

ดูเหมือนว่าคุณมี Microsoft Server ถ้าฉันเข้าใจการใช้ LDAP ของคุณ ทำไมไม่เปิดใช้งานบริการ Microsoft Certificate Authority บน Microsoft Windows Server ที่ใกล้ที่สุดซึ่งรวมอยู่ในระบบปฏิบัติการและเปิดใช้งานการลงทะเบียนใบรับรองผู้ใช้ ASA ซึ่งมีใบรับรองหลักของ CA สามารถตรวจสอบบัญชีที่อ้างถึงเป็น XAUTH จากนั้นตรวจสอบสิทธิ์ใบรับรองผู้ใช้ซึ่ง Windows, Linux และ MacOS สามารถใช้งานได้


0

ถูกต้องอย่างไรก็ตามหากคุณมีกระบวนการที่ปลอดภัยสำหรับการลงทะเบียนโทรศัพท์มือถือกลายเป็นปุ่มกดทางกายภาพ Duo ยังมอบความยืดหยุ่นของ UX ของแอพหรือรหัส SMS CA ภายในของ ASA นั้นยอดเยี่ยมเช่นกัน แต่ไม่ใช่ตัวเลือกถ้าคุณใช้งานใน HA HA หรือหลายบริบท ตามที่แนะนำให้ใช้ MS / Dogtag CA หรือ Duo

IMO คุณจะได้รับความครอบคลุมมากที่สุดโดยการกำหนดค่ากลุ่ม vpn ดังนี้:

ปัจจัยที่ 1 - ใช้ใบรับรอง (ออนบอร์ด MS / Dogtag / ASA สำหรับ CA) - สามารถใช้ผู้ใช้ ldap / AD เพื่อสร้างใบรับรอง (ทำได้ดีที่สุดในท้องถิ่นต้องปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของ OpSec ในการส่งมอบ / ติดตั้งใบรับรอง)

Factor 2 - FreeRADIUS หรือ Duo proxy พร้อมการลงทะเบียนอย่างปลอดภัยสำหรับ token / OTP fob หรืออุปกรณ์พกพา

วิธีนี้หากผู้ใช้มีการกำหนดเป้าหมายผู้โจมตีจะต้องได้รับ a.) สำเนาของใบรับรองที่ควรมีอยู่ในแล็ปท็อป / ที่เก็บคีย์ปลายทาง b.) ผู้ใช้ AD / รัศมีชื่อผู้ใช้ / รหัสผ่าน c.) fob (rsa / yubikey) หรืออุปกรณ์มือถือ (DuoSec)

นอกจากนี้ยังจำกัดความรับผิดสำหรับอุปกรณ์ที่สูญหาย / ถูกขโมย ฉันเชื่อว่า duo ยังมีวิธีการจัดการผู้ใช้ผ่านทางโฆษณาของคุณอีกด้วยซึ่งทำให้การตั้งค่าทั้งหมดง่ายต่อการจัดการ อุปกรณ์ของคุณจะต้องอนุญาตให้มีการปรับเปลี่ยนการหมดเวลา / ลองอีกครั้งเพื่อรองรับการโต้ตอบกับผู้ใช้นอกวงในระหว่างการตรวจสอบสิทธิ์ (ปลดล็อกโทรศัพท์ / ดึง fob จากพ็อกเก็ต / อื่น ๆ - อนุญาตการหมดเวลารัศมีอย่างน้อย 30 วินาที)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.