คำขอมาถึงในรูปแบบเดิมเสมอ: ปิด IPsec ที่ขอบเพราะมันขนส่งอุโมงค์ที่ไม่มีใครอนุมัติ และข้อร้องเรียนแรกมาจากคนที่โทรศัพท์เลิกโทรผ่าน Wi-Fi ข้อเท็จจริงทั้งสองเป็นจริงพร้อมกัน และไม่มีข้อใดสนับสนุนให้ละทิ้งการควบคุม สิ่งที่ไฟร์วอลล์ต้องการคือข้อยกเว้นของบริการที่มีฟีเจอร์ระบุชื่อ แหล่งที่มาจำกัด ปลายทางที่บันทึกไว้ และผู้รับผิดชอบ ห้าขั้นตอนทำให้มันเป็นกฎที่คนแปลกหน้าสามารถทบทวนได้ในปีหน้า

ตั้งชื่อบริการก่อนตั้งชื่อโปรโตคอล

โทรศัพท์ตั้งโต๊ะบนบริการ SIP และเครื่องที่ทำ Wi-Fi Calling ของผู้ให้บริการไม่ใช้โปรไฟล์เครือข่ายเดียวกัน และ VoIP ในฐานะคำของไฟร์วอลล์ไม่ได้อธิบายทั้งสองอย่าง ข้อมูลพอร์ตและปลายทางต้องมาจากผู้ขายหรือผู้ให้บริการที่ดำเนินการบริการนั้น ไม่ใช่จากรายการพอร์ตที่จำไว้ซึ่งเป็นของระบบโทรศัพท์อีกระบบหนึ่ง นี่คือความแตกต่างระหว่างกฎที่ปกป้องฟีเจอร์กับกฎที่ปกป้องคำ

เอกสารอ้างอิง พอร์ตบริการ ของ Apple ระบุ UDP 500 และ 4500 สำหรับ Wi-Fi Calling ซึ่งเป็นคู่เดียวกับที่การบล็อก IPsec แบบเหมารวมส่วนใหญ่ตัดทิ้ง เขียนชื่อฟีเจอร์ลงในบันทึกการเปลี่ยนแปลงข้างพอร์ตเหล่านั้น เพิ่มเวอร์ชันหรือวันที่ของเอกสารอ้างอิงที่ใช้ เพราะตารางของผู้ขายมีการแก้ไข กฎที่ระบุชื่อบริการที่มีอยู่เพื่อสิ่งนั้นทบทวนได้ ส่วนกฎที่ระบุหมวดหมู่โปรโตคอลทบทวนไม่ได้

เขียนข้อยกเว้นเป็นสัญญา ไม่ใช่ความเอื้อเฟื้อ

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

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

การอนุญาตถาวรที่ติดป้ายว่าเป็นการซ่อมโทรศัพท์ชั่วคราวป้องกันไม่ได้ในอีกสองปี การอนุญาตที่ผูกกับบริการที่ระบุมีวันหมดอายุที่ต่ออายุอย่างตั้งใจ

จำกัดแหล่งที่มาอย่างซื่อตรง

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

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

ยอมรับสิ่งที่กฎพอร์ตบอกคุณไม่ได้

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

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

nft add rule inet edge forward ip saddr 10.40.0.0/24 udp dport { 500, 4500 } counter accept
nft add rule inet edge forward udp dport { 500, 4500 } counter drop

nftables ประเมินตามลำดับและหยุดที่รายการแรกที่ตรง ดังนั้นการอนุญาตที่จำกัดต้องอยู่เหนือการปฏิเสธทั่วไป สลับสองอย่างนี้แล้วข้อยกเว้นจะไม่ทำอะไรเลยอย่างเงียบ ๆ

ตรวจสอบฟีเจอร์และการปฏิเสธ

รันการตรวจสอบที่ได้รับอนุมัติบนสาย Wi-Fi ปกติ จากคลาสอุปกรณ์ที่มีข้อยกเว้นอยู่ และยืนยันว่าไคลเอนต์ที่ถูกตัดออกยังล้มเหลว ห้ามใช้สายฉุกเฉินเป็นกรณีทดสอบไม่ว่าในสถานการณ์ใด จากนั้นตรวจสอบกฎที่ออกไป เพราะตัวนับที่ค้างอยู่ที่ศูนย์เป็นหลักฐานเร็วที่สุดว่าข้อยกเว้นไม่เคยตรงเลย:

nft -a list chain inet edge forward

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

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