การยอมรับการเข้าถึงระยะไกลผ่าน VPC ต้องมีการทดสอบการปฏิเสธ
การเข้าสู่ระบบ VPN ที่ใช้งานได้คือแถวแรกของตารางการยอมรับ ไม่ใช่แถวสุดท้าย เขียนการปฏิเสธที่คาดหวังสำหรับแต่ละบทบาทและทดสอบการควบคุมที่ตัดสินการปฏิเสธเหล่านั้น
การยอมรับการเข้าถึงระยะไกลคือตารางของผลลัพธ์ที่คาดหวัง ไม่ใช่ภาพหน้าจอของหน้าที่ใช้งานได้ สำหรับแต่ละกลุ่ม ให้เขียนว่าอะไรควรสำเร็จและอะไรควรล้มเหลว จากนั้นรันทั้งสองอย่างด้วยตัวตนสำหรับทดสอบโดยเฉพาะในช่วงเวลาที่ควบคุมไว้ ส่วนที่พิสูจน์ขอบเขตคือการปฏิเสธ การเข้าสู่ระบบสำเร็จเพียงพิสูจน์ว่าอุโมงค์มีอยู่ ทั้งหมดนี้ทำงานกับผลิตภัณฑ์ VPN ที่เลือกไว้แล้ว
ใช้บัญชีแยกสำหรับการทดสอบ และติดป้ายกำกับเพื่อไม่มีใครเข้าใจผิดว่าตัวตนสำหรับทดสอบเป็นข้อยกเว้นจริง
เขียนขอบเขตเป็นผลลัพธ์ที่คาดหวัง
เริ่มจากบทบาทไม่ใช่จากองค์ประกอบ ใครต้องการบริการใด จากที่ใด และด้วยตัวตนใด ยกตัวอย่าง VPC หนึ่งกลุ่มต้องการสภาพแวดล้อมทดสอบผ่าน HTTPS อีกกลุ่มต้องการฐานข้อมูลการผลิต และกลุ่มที่สามซึ่งเล็กกว่าดูแลเกตเวย์เอง แต่ละแถวได้การอนุญาตที่คาดหวังและการปฏิเสธที่คาดหวัง รวมถึงบริการข้างเคียงและบัญชีข้างเคียงที่ไม่ควรใช้งานได้ ตารางนั้นคือเกณฑ์การยอมรับ และคนที่ไม่ได้รันการทดสอบก็ตรวจทานได้
ทดสอบการเข้าสู่ฐานข้อมูลแยกจากเส้นทางเครือข่าย พอร์ต TCP ที่เข้าถึงได้ไม่ควรทำให้บัญชีฐานข้อมูลที่ไม่ได้รับอนุมัติสำเร็จ และการเป็นสมาชิก VPN ไม่ควรสร้างบทบาท IAM บนคลาวด์หรือให้สิทธิ์เข้าถึง API ระดับผู้ดูแล นี่คือการควบคุมอิสระสามอย่าง และล้มเหลวแยกจากกัน
เส้นทางไม่ใช่การอนุญาต
เส้นทางทำให้การเดินทางเป็นไปได้ แต่ไม่ได้ให้สิทธิ์ การกันเส้นทางไว้เป็นตัวแทนที่อ่อนแอของข้อจำกัดที่บังคับใช้ที่ปลายทาง เพราะไคลเอนต์สามารถเพิ่มเส้นทางของตนเองได้เสมอ กลุ่มความปลอดภัย สิทธิ์ของฐานข้อมูล และการอนุญาตของแอปพลิเคชันเองยังคงเป็นการควบคุมที่ตัดสิน เมื่อการทดสอบสำเร็จอย่างไม่คาดคิด ให้ดูนโยบายของปลายทางก่อน ไม่ใช่ตารางเส้นทางที่คุณตั้งใจให้ไคลเอนต์มี
นี่คือเหตุผลที่การทดสอบการปฏิเสธมุ่งเป้าไปที่ฝั่งเซิร์ฟเวอร์ ผลลัพธ์เหล่านั้นไม่สามารถเปลี่ยนได้ด้วยการแก้ไขไคลเอนต์
การควบคุมมองเห็นต้นทางใดจริง
ที่อยู่ต้นทางที่การควบคุมประเมินขึ้นอยู่กับสถาปัตยกรรมของเกตเวย์ เกตเวย์ที่โฮสต์บน EC2 อาจส่งต่อพูลที่กำหนดเส้นทาง แปลงเป็นที่อยู่ของตนเอง หรือแสดงที่อยู่อื่นหลัง NAT ส่วน Client VPN แบบจัดการจะเชื่อมกับซับเน็ตและใช้โมเดลของตนเอง กลุ่มความปลอดภัยและ ACL ของเครือข่ายเห็นสิ่งที่มาถึงหลังการประมวลผลนั้น การตรวจสอบกฎด้วยสมมติฐานต้นทางที่ผิดเป็นวิธีทั่วไปในการสร้างขอบเขตที่ดูถูกต้องแต่ยอมรับทราฟฟิกผิด
เชื่อมโยงแต่ละผลลัพธ์กับเหตุการณ์ที่มีประโยชน์เล็กที่สุด ตัวตนและเซสชัน ทรัพยากร การดำเนินการ เวลา และการตัดสินใจ การเรียก API ใน CloudTrail บันทึกโฟลว์ VPC และบันทึกเซสชัน VPN ตอบคำถามต่างกัน และไม่มีสิ่งใดเพียงลำพังเป็นการตรวจสอบแอปพลิเคชัน
เพิกถอนตัวตนแล้วทดสอบอีกครั้ง
รวมการเพิกถอนไว้ในตารางเดียวกัน ลบตัวตนสำหรับทดสอบ ยืนยันว่าเซสชันใหม่ถูกปฏิเสธ จากนั้นยืนยันแยกต่างหากว่าเซสชันที่มีอยู่ได้รับการปฏิบัติอย่างไร เพราะสิ่งเหล่านี้เป็นพฤติกรรมต่างกันและมีเจ้าของต่างกัน ตรวจสอบว่าเกิดอะไรขึ้นหลังการรีสตาร์ตหรือเปลี่ยนเกตเวย์ เพื่อข้อยกเว้นที่เพิ่มด้วยมือจะไม่หายไปอย่างเงียบ ๆ หรือกลับมาแบบกว้างขึ้น ขอบเขตที่อยู่ได้เพียงถึงการติดตั้งครั้งถัดไปไม่ใช่ขอบเขต
ไม่มีสิ่งใดในที่นี้ทดแทนงานแพตช์ การกู้คืน หรือวงจรชีวิตของข้อมูลรับรอง มันทำให้คำมั่นที่แคบกว่าวัดได้ คนที่เหมาะสมเข้าถึงบริการที่เหมาะสม ขณะที่เส้นทาง บัญชี และพื้นผิวการจัดการข้างเคียงยังอยู่นอกสิทธิ์
เก็บตารางไว้กับการติดตั้งและรันซ้ำเมื่อเกตเวย์เปลี่ยน การทดสอบมีราคาถูก แต่สมมติฐานเบื้องหลังไม่ถูก