การเข้าถึง VPN สำหรับบัญชีบริการ: ใบรับรองหรือการเข้าสู่ระบบร่วม
เปรียบเทียบใบรับรองเครื่องกับรหัสผ่านที่จัดเก็บไว้สำหรับการเข้าถึง VPN แบบไม่มีผู้ดูแล และวางขีดจำกัดสิทธิ์ที่แท้จริงไว้ในนโยบายที่ทำงานหลังการเข้าสู่ระบบ
การออกแบบสองแบบครอบคลุมการตั้งค่า VPN แบบไม่มีผู้ดูแลเกือบทั้งหมด คือการเข้าสู่ระบบของมนุษย์ที่ใช้ร่วมกันซึ่งเก็บไว้ในสคริปต์ หรือใบรับรองเครื่องที่ผูกกับโฮสต์ ทั้งสองแบบล้มเหลวคนละจุด ซึ่งสำคัญกว่าความเร็วในการติดตั้ง รหัสผ่านที่จัดเก็บไว้จะพังเมื่อเจ้าของเปลี่ยนมันหรือลาออก ส่วนใบรับรองจะพังเมื่อหมดอายุหรือเมื่อโฮสต์ถูกสร้างใหม่โดยไม่มีคีย์ สามเงื่อนไขเป็นตัวกำหนดว่าคุณรับต้นทุนแบบใดได้ และไม่มีการออกแบบใดจำกัดสิ่งใดเลยจนกว่านโยบายการอนุญาตจะทำ
เริ่มจากงาน ไม่ใช่จากบัญชี
งานเป็นตัวกำหนดขอบเขต ทั้งปลายทาง บริการ ช่วงเวลา และระยะเวลาที่เซสชันจะดำเนินได้ เส้นทางอุโมงค์เป็นเพียงครึ่งหนึ่งของขอบเขตนั้น เกตเวย์ตัดสินว่าเซสชันได้รับอนุญาตหรือไม่ ทรัพยากรที่อยู่เบื้องหลังตัดสินว่าเซสชันทำอะไรได้ เขียนรายการก่อน พร้อมผู้รับผิดชอบที่ระบุชื่อ เพราะการออกแบบอัตลักษณ์ทั้งสองแบบต้องทำให้ได้ตามนั้น
แยกการพิสูจน์ตัวตนและการอนุญาตออกจากกันขณะจด การพิสูจน์ตัวตนตอบว่าใครกำลังเชื่อมต่อ การอนุญาตตอบว่าเซสชันเข้าถึงอะไรได้หลังจากนั้น RADIUS พาส่วนที่สองมาเป็นแอตทริบิวต์ เช่น Filter-Id, Framed-IP-Address, Session-Timeout และ Class และเกตเวย์จะแนบมันเมื่อการเข้าสู่ระบบสำเร็จ การออกแบบที่เปลี่ยนการเข้าสู่ระบบแต่ปล่อยการอนุญาตไว้ไม่ได้จำกัดอะไรเลย
การเข้าสู่ระบบของมนุษย์ที่ใช้ร่วมกัน: รหัสผ่านกลายเป็นขอบเขต
การใช้บัญชีของมนุษย์ซ้ำเป็นทางที่เร็วที่สุดและเสื่อมสภาพแย่ที่สุด ข้อมูลรับรองคือรหัสผ่าน จึงไปจบในสคริปต์ ไฟล์สภาพแวดล้อม และการตั้งค่าตัวจัดตาราง และทุกสำเนาต้องหมุนเวียน เมื่อเจ้าของเปลี่ยนมันในวันศุกร์ งานจะล้มเหลวในการรันครั้งถัดไปและไม่มีใครเฝ้าดู
MFA คือจุดที่การออกแบบนี้มักพังทลาย สคริปต์ตอบพรอมป์แบบพุชไม่ได้ บัญชีจึงถูกตัดออกจากนโยบาย และนั่นคือบัญชีที่ผู้โจมตีจะเลือก ข้อยกเว้น การข้ามผ่านสำหรับตำแหน่งที่เชื่อถือได้ และการยกเว้นรายบัญชีเพิ่มขึ้นเรื่อย ๆ และไม่มีข้อใดมองเห็นได้สำหรับคนถัดไปที่อ่านการตั้งค่าผู้เช่า
การระบุที่มาเป็นต้นทุนอีกด้าน ทุกเซสชันในบันทึกของเกตเวย์มีชื่อผู้ใช้เดียวกัน การซิงก์ตอนกลางคืนจึงแยกจากงานของคนที่เขียนมันไม่ได้ และการเพิกถอนงานหมายถึงการเพิกถอนคนคนนั้น
ใบรับรองเครื่อง: อัตลักษณ์ที่ผูกกับโฮสต์
ใบรับรองเปลี่ยนคำถามจากสิ่งที่บัญชีรู้เป็นสิ่งที่โฮสต์เป็น ด้วย EAP-TLS ไคลเอนต์แสดงใบรับรองและพิสูจน์ว่าครอบครองคีย์ส่วนตัวที่ตรงกัน เซิร์ฟเวอร์นโยบายแมปหัวเรื่องหรือบัญชีคอมพิวเตอร์เข้ากับกลุ่มและใช้นโยบายของกลุ่มนั้น ไม่มีพรอมป์ ไม่มีความลับร่วมที่วางอยู่ในไฟล์ข้อความ
ขอบเขตที่มันสร้างแคบกว่าที่คนคาด ใบรับรองพิสูจน์ตัวตนโฮสต์ ไม่ใช่งาน และใครก็ตามที่มีสิทธิ์ root หรือผู้ดูแลภายในเครื่องสามารถใช้คีย์นั้นบนโฮสต์นั้นได้ เก็บคีย์ไว้ที่ที่แพลตฟอร์มป้องกันไว้ คือส่งออกไม่ได้ในที่เก็บใบรับรองของ Windows หนุนด้วย TPM ในที่ที่โปรไฟล์อนุญาต หรือไฟล์ 0600 ที่ root เป็นเจ้าของบน Linux การถูกบุกรุกของโฮสต์คือการถูกบุกรุกของข้อมูลรับรอง
การหมดอายุคือความล้มเหลวที่เกิดซ้ำ ใบรับรองที่หมดอายุวันอาทิตย์จะหยุดงานในวันอาทิตย์ และเกตเวย์มักรายงานข้อผิดพลาดการพิสูจน์ตัวตนแบบทั่วไปแทนที่จะระบุวันที่ ตรวจสอบวันที่จากโฮสต์ของงานเป็นส่วนหนึ่งของคู่มือปฏิบัติ:
openssl x509 -in client.pem -noout -subject -issuer -dates
ipsec listcerts
การเพิกถอนต้องมีเส้นทางที่เกตเวย์ตรวจสอบ OpenVPN อ่าน CRL ผ่านออปชัน crl-verify และ strongSwan ขึ้นอยู่กับ CRL หรือ OCSP ตามวิธีที่สร้างโปรไฟล์การเชื่อมต่อ ถ้าไม่ได้ต่อทั้งสองทาง การนำโฮสต์ออกหมายถึงการรอให้ใบรับรองหมดอายุ
สามเงื่อนไขที่ใช้ตัดสินระหว่างสองแบบ
เปรียบเทียบกับแพลตฟอร์มที่คุณมี ไม่ใช่กับการออกแบบอ้างอิง
เงื่อนไขแรก เกตเวย์อนุญาตอัตลักษณ์เครื่องได้หรือไม่ ถ้ามันแมปเพียงชื่อผู้ใช้ RADIUS เข้ากับผู้ใช้ในไดเรกทอรี ใบรับรองจะพิสูจน์ตัวตนโฮสต์แล้วติดขัดที่การอนุญาต เงื่อนไขที่สอง งานต้องการการเข้าถึงทรัพยากรที่มีเฉพาะบัญชีผู้ใช้ เช่นแชร์ที่แมปไว้หรือสิทธิ์การใช้งานต่อที่นั่งหรือไม่ ถ้าใช่ อัตลักษณ์เครื่องแทนไม่ได้ และคำตอบที่ซื่อตรงคือบัญชีผู้ใช้เฉพาะที่มีนโยบายจำกัด เงื่อนไขที่สาม ใครหมุนเวียนข้อมูลรับรองได้โดยไม่มีคนอยู่ในวงจร การลงทะเบียนอัตโนมัติทำให้ใบรับรองดูแลได้ถูก ส่วนรหัสผ่านที่คนเดียวรู้ไม่ได้เป็นเช่นนั้น
| Constraint | Machine certificate | Dedicated user account with stored secret |
|---|---|---|
| Unattended login | Private key proof, no prompt | Only if the account is exempted from MFA |
| Resource expects a user identity | Works only when the resource accepts computer accounts | Matches the access a person would have |
| Rotation | Re-enrollment, often automated | Secret change plus redeploy of every copy |
| Revocation speed | Tied to CRL or OCSP refresh | Disable the account, immediate |
อ่านตารางเป็นรายการต้นทุน ไม่ใช่การจัดอันดับ คอลัมน์ความลับที่จัดเก็บไว้ชนะเรื่องความเร็วในการเพิกถอนและความเข้ากันได้กับทรัพยากรที่เข้าใจเฉพาะบัญชีผู้ใช้ ส่วนคอลัมน์ใบรับรองชนะเรื่องการหมุนเวียนและเรื่องที่ไม่ทำให้ MFA อ่อนแอเพื่อให้สคริปต์ทำงานได้
วางขีดจำกัดไว้ในนโยบาย หลังการพิสูจน์ตัวตน
ไม่ว่าคุณจะเลือกอัตลักษณ์ใด ขีดจำกัดสิทธิ์เป็นของนโยบายที่ทำงานหลังการพิสูจน์ตัวตน ใน NPS นโยบายเครือข่ายถูกประเมินตามลำดับ และนโยบายแรกที่ตรงกับทุกเงื่อนไขจะใช้อุปกรณ์การตั้งค่าของตน นโยบายกว้างที่วางไว้เหนือนโยบายแคบจึงเป็นตัวตัดสินผล ไม่ว่าไคลเอนต์จะแสดงอะไร Microsoft อธิบายรูปแบบเงื่อนไขและการตั้งค่าไว้ในภาพรวมนโยบาย NPS
ให้งานมีกลุ่มหรือเงื่อนไขนโยบายของตนเอง โดยอิงจากสิ่งที่อัตลักษณ์เครื่องพามา เช่นเทมเพลตใบรับรอง ตัวระบุสถานีที่เรียก หรือที่อยู่จากพูลเฉพาะ แล้วผูกเซสชันด้วยแอตทริบิวต์ คือ Filter-Id สำหรับบทบาทที่เกตเวย์แมปไว้ Session-Timeout ที่สั้นเพื่อให้งานที่ค้างอยู่พิสูจน์ตัวตนใหม่แทนที่จะถือเซสชันไว้หลายวัน และ Framed-IP-Address จากพูลที่คุณทำไฟร์วอลล์ฝั่งตรงข้าม การอนุญาตของแอปพลิเคชันยังแยกต่างหาก อุโมงค์ไปยังเซิร์ฟเวอร์ฐานข้อมูลไม่ใช่สิทธิ์อ่านตารางภายใน
ตรวจสอบการปฏิเสธ แล้ววางแผนการนำออก
การเข้าถึงที่ทำงานได้ไม่ได้พิสูจน์อะไรเกี่ยวกับสิทธิ์น้อยที่สุด ให้ทดสอบการปฏิเสธแทน เชื่อมต่อด้วยอัตลักษณ์ของงานแล้วเอื้อมไปยังปลายทางนอกรายการ เปิดเซสชันที่สองพร้อมกันถ้าเกตเวย์ควรอนุญาตเพียงหนึ่ง และทำการเข้าสู่ระบบซ้ำหลังเพิกถอนข้อมูลรับรอง
จากนั้นยืนยันเซสชันเดียวกันในสองที่ บันทึกของเกตเวย์แสดงอัตลักษณ์ที่พิสูจน์ตัวตนแล้ว บันทึกของเซิร์ฟเวอร์นโยบายแสดงว่านโยบายใดตรงและส่งแอตทริบิวต์ใดกลับมา บน OpenVPN เซิร์ฟเวอร์บันทึก common name ของใบรับรอง และ ipsec statusall บน strongSwan พิมพ์อุโมงค์ที่สร้างขึ้นพร้อมอัตลักษณ์ที่ใช้อยู่ ถ้าบันทึกทั้งสองไม่ตรงกันเรื่องอัตลักษณ์ นโยบายกำลังตรงกับสิ่งที่คุณไม่ได้สมมติไว้
การนำออกเป็นส่วนหนึ่งของการออกแบบ ไม่ใช่ช่วงเก็บกวาด จดทุกอย่างที่ต้องลบ ทั้งใบรับรองหรือบัญชี สมาชิกภาพกลุ่ม นโยบายเครือข่าย รายการในพูล กฎไฟร์วอลล์ที่เป้าหมาย และทำมันหนึ่งครั้งในขณะที่งานยังสร้างใหม่ได้ง่าย
ถ้าคุณเริ่มวันนี้ ให้ทำตามลำดับนี้ เขียนรายการทรัพยากร เลือกอัตลักษณ์ด้วยสามเงื่อนไข วางขีดจำกัดในนโยบาย และฝึกการปฏิเสธหนึ่งครั้งก่อนงานจะเริ่มใช้งานจริง