การออกแบบสองแบบดูคล้ายกันบนกระดาษแต่ทำงานต่างกันมากเมื่อกฎใดกฎหนึ่งขึ้นอยู่กับมัน แบบหนึ่งพิมพ์ที่อยู่ลงในการแทนที่ฝั่งไคลเอนต์และเชื่อที่อยู่นั้นในฐานะตัวตน อีกแบบปิดการรับเข้าแบบไดนามิกทั้งหมด ดังนั้นปลายทางจึงได้ทั้งการกำหนดที่ไม่ซ้ำหรือไม่เชื่อมต่อเลย มีเพียงแบบที่สองเท่านั้นที่เปลี่ยนที่อยู่ให้เป็นอินพุตนโยบายที่คุณปกป้องได้ และความต่างนี้ควรค่าแก่การเข้าใจก่อนเขียนกฎไฟร์วอลล์แม้แต่ข้อเดียว

ที่อยู่แทนที่สัญญาอะไรจริง ๆ

การแทนที่เฉพาะไคลเอนต์มีตัวเลือกต่อไคลเอนต์ รวมถึงที่อยู่ทันเนลที่ต้องการ Netgate อธิบายที่อยู่นั้นว่าเป็นตัวเลือกไม่ใช่การจอง ซึ่งหมายความว่าพูลไดนามิกไม่ยอมสละที่อยู่นั้นให้ใครอื่น

โดยปกติก็ใช้ได้ การชนกันนั้นหายาก และไคลเอนต์มักได้รับสิ่งที่ขอ ซึ่งพอสำหรับความสะดวกแต่ไม่พอสำหรับการอนุญาต ความสะดวกและการอนุญาตเป็นข้อกำหนดที่ต่างกัน และมีเพียงอย่างเดียวที่รอดจากการชนกัน

ในโทโพโลยีซับเน็ต ฟิลด์นี้รับที่อยู่ของไคลเอนต์พร้อมกับมาสก์ของเครือข่ายเซิร์ฟเวอร์ ดังนั้นที่อยู่ภายในทันเนล 10.90.0.0/24 จึงเขียนเป็น 10.90.0.10/24

ไม่มีสิ่งใดในนั้นจองหมายเลขไว้ ไคลเอนต์ที่การแทนที่ไม่ตรง หรือเซสชันที่ซ้ำกัน อาจไปจบที่อื่นในพูล และกฎที่อิงกับที่อยู่ก็จะอธิบายคนที่ไม่ได้อยู่ที่นั่น

ปิดเส้นทางไดนามิกด้วยค่าเริ่มต้นที่จำกัดขอบเขต

ทางเลือกคือเซิร์ฟเวอร์แบบคงที่ล้วน ปลายทางที่ได้รับอนุญาตทุกจุดมีตัวตนของตัวเองและที่อยู่เฉพาะของตัวเอง และไม่มีอย่างอื่นเข้ามา

การทำเช่นนั้นหมายถึงการแทนที่ DEFAULT ที่จำกัดเฉพาะเซิร์ฟเวอร์เครื่องนั้นเครื่องเดียวโดยเปิดการบล็อกการเชื่อมต่อไว้ ไคลเอนต์ที่ไม่มีการแทนที่ที่ตรงกันก็จะกลับไปสู่การรับเข้าแบบไดนามิกตามปกติไม่ได้ บรรทัดเดียวนั้นคือสิ่งที่เปลี่ยนตัวเลือกให้เป็นชุดปิด

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

จากนั้นตรวจสอบชุดที่อนุญาตทั้งหมด การบล็อกค่าเริ่มต้นไม่ได้แก้ไขการแทนที่ที่มีชื่อซึ่งถูกทิ้งไว้โดยไม่มีที่อยู่ และปลายทางนั้นก็จะเชื่อมต่อไม่สำเร็จโดยไม่มีเบาะแสชัดเจนว่าเพราะอะไร

จับคู่กับตัวตนที่เซิร์ฟเวอร์ใช้จริง

การแทนที่ต้องตรงกับบางสิ่ง บนเซิร์ฟเวอร์ที่จับคู่ชื่อสามัญของใบรับรอง ชื่อของการแทนที่ต้องเป็นชื่อสามัญนั้น ไม่ใช่ชื่อที่แสดงของบุคคล จงคัดลอกจากใบรับรองไม่ใช่จากรายการบัญชี

เซิร์ฟเวอร์ที่ตั้งค่าให้ใช้ชื่อผู้ใช้เป็นชื่อสามัญจะจับคู่กับคีย์ที่ต่างออกไปทั้งหมด และการแทนที่ที่ตั้งชื่อตามใบรับรองจะไม่ทำงานเลย จงอ่านการตั้งค่าแทนการอนุมานจากสิ่งที่รายการบัญชีแสดง

คงปัจจัยการพิสูจน์ตัวตนเพิ่มเติมที่การติดตั้งต้องการ แบบจำลองที่อยู่แบบปิดเปลี่ยนว่าใครเชื่อมต่อได้และได้ที่อยู่ใด มันไม่ได้แทนที่การตรวจใบรับรองหรือปัจจัยที่สอง

เขียนกฎการเข้าถึงหลังจากแผนที่ถูกต้องแล้ว

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

รักษาปลายทางและพอร์ตให้ชัดเจน การอนุญาตเครือข่ายท้องถิ่นทั้งหมดจากพูลทันเนลทั้งหมดคือการออกแบบที่แบบฝึกหัดนี้ตั้งใจจะแทนที่

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

ทดสอบกรณีเชิงลบ

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

ตรวจ IPv6 แยกต่างหาก เพราะนโยบายที่อยู่ IPv4 ไม่ได้บอกอะไรเกี่ยวกับสแตกที่สอง จากนั้นยืนยันว่าแอปพลิเคชันยังอนุญาตผู้ใช้อยู่ เพราะที่อยู่ทันเนลเป็นข้อเท็จจริงของเครือข่าย ไม่ใช่หลักฐานว่าใครอยู่ที่คีย์บอร์ด การตรวจทั้งสองควรอยู่ในบันทึกการยอมรับ

สุดท้าย จงวางแผนการย้าย การแทนที่ใหม่และกฎแคบ ๆ ไม่ได้เปลี่ยนเซสชันที่สร้างไว้แล้วย้อนหลัง สถานะที่มีอยู่จึงต้องหมดอายุหรือถูกล้างอย่างตั้งใจ

บทความที่เกี่ยวข้อง