AWS Client VPN: ล็อกอินสำเร็จแต่เข้าถึงซับเน็ตไม่ได้
การล็อกอิน AWS Client VPN สำเร็จไม่ได้ให้สิทธิ์ทุกซับเน็ต ตรวจสอบค่ากลุ่มและกฎปลายทางที่เฉพาะเจาะจงที่สุดก่อนขยายสิทธิ์การเข้าถึง
ไคลเอนต์ของคุณขึ้นว่า Connected ใบรับรองยังใช้ได้ แต่หน้าเว็บอินทราเน็ตก็ยังหมดเวลา อาการนี้แทบไม่ใช่ปัญหาเรื่องการพิสูจน์ตัวตน AWS Client VPN อนุญาตปลายทางแยกจากการล็อกอิน และสาเหตุที่พบบ่อยสองอย่างคือค่ากลุ่มที่ไม่ตรงกับสิ่งที่ผู้ให้บริการระบุตัวตนส่งมา กับกฎปลายทางที่เฉพาะเจาะจงกว่าซึ่งชนะกฎกว้าง ทั้งสองอย่างเห็นได้ในการตั้งค่า endpoint เมื่อรู้ว่าจะดูตรงไหน
ล็อกอินสำเร็จ แต่กฎไม่ตรงกัน
การพิสูจน์ตัวตนตอบว่าใครคือผู้ใช้ กฎการอนุญาต ตอบว่าตัวตนนั้นเข้าถึงคำนำหน้าเครือข่ายใดได้ ผู้ใช้อาจผ่านข้อแรกแต่ไม่ผ่านข้อที่สอง และไคลเอนต์ให้ได้เพียงการเชื่อมต่อที่ค้างอยู่ขณะที่ทุกคำขอหมดเวลา
เริ่มจากการยืนยันว่า endpoint มีกฎการอนุญาตที่ปลายทางครอบคลุมที่อยู่ที่ล้มเหลว ถ้าไม่มีกฎที่ตรงกัน การเชื่อมต่อทำงานถูกต้อง สิ่งที่ขาดคือนโยบาย
ค่ากลุ่มมาจากไหนจริง ๆ
ใน Active Directory ฟิลด์ access-group เก็บ SID ของกลุ่ม ไม่ใช่ชื่อที่แสดง สำหรับ SAML federation ฟิลด์นี้เก็บ ID หรือชื่อกลุ่มที่แอตทริบิวต์กลุ่ม SAML ที่ตั้งค่าไว้ส่งมาจริง คัดลอกค่าจาก assertion หรือจากการค้นหาไดเรกทอรี ไม่ใช่จากหน้าวิกิ
กลุ่ม IAM เป็นระนาบควบคุมอีกชั้น สิทธิ์ในการดูแล endpoint ของ Client VPN ไม่ได้ทำให้กลุ่ม IAM กลายเป็นกลุ่ม VPN ของผู้ใช้ และการวางชื่อกลุ่ม IAM ในฟิลด์ access-group ก็ไม่ได้แปลงเป็น SID ของ AD หรือค่าแอตทริบิวต์ SAML
กลุ่มชื่อคล้ายกันในไดเรกทอรีอื่นไม่พิสูจน์อะไร ตรวจสอบวิธีพิสูจน์ตัวตนของ endpoint และการเป็นสมาชิกหรือ assertion ของผู้ใช้ในระบบเดียวกัน
คำนำหน้าที่ยาวที่สุดชนะ รวมถึง 0.0.0.0/0
การอนุญาตประเมินด้วยการจับคู่คำนำหน้าที่ยาวที่สุด และกฎสำหรับทุกปลายทางถูกประเมินเป็นลำดับสุดท้าย ไม่ใช่ลำดับแรก เพิ่มกฎ 10.46.0.0/16 สำหรับ Engineering และกฎ 0.0.0.0/0 สำหรับทุกคน ผู้ใช้ที่อยู่นอก Engineering ก็ยังเข้าถึง 10.46.20.10 ผ่านกฎกว้างไม่ได้
ตรงนี้เองที่การแก้ไขอาจผิดพลาด การลบกฎแคบจะคืนสิทธิ์ให้ผู้ใช้ และยังให้ซับเน็ตนั้นกับทุกตัวตนที่กฎกว้างครอบคลุมด้วย สร้างเมทริกซ์กลุ่มถึงเครือข่ายก่อนลบอะไร และจดว่ากลุ่มใดควรเข้าถึงช่วงใด กฎเหล่านี้เป็นแบบอนุญาตเท่านั้น ไม่มีรายการปฏิเสธให้ตัดข้อยกเว้นออกจากสิทธิ์กว้าง
การเปลี่ยนแปลงต้องใช้การเชื่อมต่อใหม่จึงจะตัดสินได้อย่างเป็นธรรม เชื่อมต่อไคลเอนต์ใหม่หลังแก้กฎ แล้วทดสอบอีกครั้ง
แยกการอนุญาตออกจากเส้นทางข้อมูล
กฎที่ตรงกันไม่ใช่เส้นทาง. endpoint ต้องมีซับเน็ตที่เชื่อมโยงและรายการในตารางเส้นทางสำหรับปลายทาง และกลุ่มความปลอดภัยของทรัพยากรปลายทางต้องยอมรับทราฟฟิก ทราฟฟิกขากลับและ DNS ก็ต้องทำงานด้วย
ทดสอบผู้ใช้ที่ควรสำเร็จและผู้ใช้ที่ควรถูกกันไว้ ทั้งสองคนล็อกอินได้ แต่มีเพียงคนเดียวที่เข้าถึงซับเน็ต และความต่างนั้นคือหลักฐานที่คุณต้องการ
ถ้าที่อยู่ IP ใช้ได้แต่ชื่อโฮสต์ใช้ไม่ได้ ให้ดู resolver ก่อนแตะการอนุญาต ถ้าไม่มีเส้นทางใดครอบคลุมที่อยู่นั้น ให้แก้การเชื่อมโยงหรือตารางเส้นทาง ถ้าแพ็กเก็ตมาถึงแต่บริการปฏิเสธ จุดต่อไปคือ นโยบายของบริการนั้น การขยายเมทริกซ์การอนุญาตให้ทุกคนทำให้มองไม่เห็นว่าชั้นใดเสียจริง
ก่อนปิดตั๋ว ให้บันทึกแหล่งที่มาของตัวตน ค่ากลุ่มที่แน่นอน คำนำหน้าปลายทาง และเส้นทางที่พาทราฟฟิกไป บันทึกนั้นเปลี่ยนรายงานครั้งถัดไปเรื่องเชื่อมต่อได้แต่เข้าไม่ถึง ให้เป็นการเทียบเคียงในสองนาทีแทนการเดาอีกรอบ