เข้าใจความเสี่ยงของ policy สอบถามเรื่อง policy ได้ด้วยภาษาทั่วไป ขอชมการสาธิต →
Published:
วิธีติดตามเส้นทางการเข้าถึงข้ามหลาย firewall
by FireMon
เมื่อการเชื่อมต่อล้มเหลวหรือสำเร็จโดยไม่คาดคิด คำถามแรกนั้นเรียบง่าย: เพราะอะไร แต่การตอบคำถามนี้ไม่ใช่เรื่องง่ายในสภาพแวดล้อมปัจจุบัน การเชื่อมต่อเพียงรายการเดียวระหว่างสองระบบอาจต้องผ่าน:
- firewall หลายตัว
- ชุดกฎและลำดับความสำคัญที่แตกต่างกัน
- โซนเครือข่ายและเส้นทางการ routing
การตรวจสอบทีละอุปกรณ์ไม่ได้ให้คำตอบที่ครบถ้วน บทความนี้อธิบายวิธีติดตาม access path ข้าม firewall หลายตัว เพื่อให้คุณระบุได้อย่างแม่นยำว่าเหตุใดทราฟฟิกจึงถูกอนุญาตหรือถูกบล็อก
ปัญหาหลัก: การเข้าถึงถูกกำหนดจากทั้งสภาพแวดล้อม
เครื่องมือบริหารจัดการ firewall แบบ native มักมีขอบเขตอยู่ที่อุปกรณ์เพียงตัวเดียว โดยแสดงเพียง:
- กฎ
- ล็อก
- สถานะการกำหนดค่า
แต่ไม่ได้แสดงว่าทราฟฟิกถูกประเมินอย่างไรเมื่อผ่านจุดบังคับใช้นโยบายหลายจุด การเชื่อมต่อจะสำเร็จก็ต่อเมื่อได้รับอนุญาตในทุกขั้นตอนตลอดเส้นทาง
Access path คืออะไร
Access path คือลำดับของการประเมินที่กำหนดว่าทราฟฟิกสามารถเดินทางจากต้นทางไปยังปลายทางได้หรือไม่ ประกอบด้วย:
- ระบบต้นทางและปลายทาง
- พอร์ตและโปรโตคอล
- ทุก firewall ทุกจุดควบคุม และอุปกรณ์ layer 3 ตลอดเส้นทาง
- กฎที่อนุญาตหรือปฏิเสธทราฟฟิกในแต่ละขั้นตอน
การติดตาม access path หมายถึงการระบุองค์ประกอบเหล่านี้ทั้งหมดและความสัมพันธ์ระหว่างกัน
อินพุตและเอาต์พุต
อินพุต
- ระบบต้นทาง
- ระบบปลายทาง
- พอร์ตและโปรโตคอล
- การกำหนดค่า firewall ทั่วทั้งสภาพแวดล้อม
- โทโพโลยีเครือข่ายและเส้นทางการ routing
- object group และการแมปแอดเดรส
เอาต์พุต
- การเชื่อมต่อถูกอนุญาตหรือถูกบล็อก
- ลำดับของจุดบังคับใช้นโยบายที่เกี่ยวข้อง
- กฎที่อนุญาตหรือปฏิเสธทราฟฟิก
- เส้นทางสำรองที่อาจเปิดให้เชื่อมต่อได้
ขั้นตอนที่ 1: กำหนดการเชื่อมต่อให้ชัดเจน
เริ่มจากคำถามที่เจาะจง: App_Server สื่อสารกับ DB_Server บนพอร์ต 1433 ได้หรือไม่ หากไม่กำหนดการเชื่อมต่อให้ชัดเจน การติดตามเส้นทางก็จะคลุมเครือ
ขั้นตอนที่ 2: ระบุเส้นทางที่คาดหวัง
พิจารณาว่าทราฟฟิกควรไหลผ่านเครือข่ายอย่างไร ซึ่งรวมถึง:
- โซนหรือเครือข่ายต้นทาง
- เซกเมนต์ระหว่างทาง
- โซนหรือเครือข่ายปลายทาง
ในหลายสภาพแวดล้อมมีเส้นทางที่เป็นไปได้มากกว่าหนึ่งเส้นทาง จึงต้องเข้าใจโทโพโลยีก่อนจะประเมินกฎ
ขั้นตอนที่ 3: ประเมินจุดบังคับใช้นโยบายแต่ละจุด
ที่ firewall หรือจุดควบคุมแต่ละแห่ง: 1. ระบุกฎที่เกี่ยวข้อง 2. ประเมินลำดับและความสำคัญของกฎ 3. พิจารณาว่าทราฟฟิกถูกอนุญาตหรือถูกปฏิเสธ
ตัวอย่าง
Firewall A: อนุญาต App → DB (1433) Firewall B: ปฏิเสธ App → DB (1433) การเชื่อมต่อจึงถูกบล็อก เพราะทุกจุดบังคับใช้นโยบายต้องอนุญาตทราฟฟิกนั้น
ขั้นตอนที่ 4: ขยาย object group
กฎมักอ้างอิงถึง object group แทนที่จะเป็นระบบแต่ละระบบ และกลุ่มเหล่านี้อาจมีแอดเดรสอยู่หลายรายการ
ตัวอย่าง
อนุญาต App → DB_Group (1433) DB_Group อาจขยายออกเป็น: DB_Server Backup_DB Reporting_DB การติดตามเส้นทางจึงต้องประเมินสมาชิกที่ขยายออกมาทั้งหมด
ขั้นตอนที่ 5: ประเมินปฏิสัมพันธ์ระหว่างกฎ
กฎแต่ละข้อไม่ได้ทำงานแยกจากกัน ปัจจัยสำคัญได้แก่:
- ลำดับของกฎ
- เงื่อนไขที่ซ้อนทับกัน
- กฎแบบกว้างที่ไปลบล้างกฎที่เจาะจง
ตัวอย่าง
กฎข้อที่ 1: Allow App → Any (Any Port) กฎข้อที่ 2: Deny App → DB (1433) กฎ deny มีอยู่จริง แต่ไม่เคยถูกเรียกใช้งาน
ขั้นตอนที่ 6: พิจารณาเส้นทางสำรอง
แม้เส้นทางหนึ่งจะบล็อกทราฟฟิก แต่อีกเส้นทางหนึ่งอาจอนุญาตให้ผ่านได้
ตัวอย่าง
เส้นทางที่ 1: Firewall A ปฏิเสธ App → DB เส้นทางที่ 2: Firewall B อนุญาต App → DB หากเส้นทางการ routing เปิดให้ใช้เส้นทางที่ 2 การเชื่อมต่อก็จะสำเร็จ การ trace จึงต้องครอบคลุมทุกเส้นทางที่เป็นไปได้
ขั้นตอนที่ 7: สรุปผลลัพธ์สุดท้าย
หลังประเมิน:
- จุดบังคับใช้นโยบายทั้งหมด
- ปฏิสัมพันธ์ระหว่างกฎ
- การขยายของ object
- เส้นทางที่เป็นไปได้
คุณจะระบุได้ว่า:
- การเชื่อมต่อถูกอนุญาตหรือถูกบล็อก
- กฎข้อใดเป็นตัวกำหนดผลลัพธ์
- ควรปรับการควบคุมที่จุดใด
ตัวอย่าง: เหตุใดการเชื่อมต่อจึงได้รับอนุญาต
คำถาม App_Server เข้าถึง DB_Server บนพอร์ต 1433 ได้หรือไม่ สิ่งที่พบจากการตรวจสอบคอนฟิก Firewall A: Allow App → DB_Group (1433) Firewall B: ไม่มี deny ที่ระบุไว้ชัดเจน ลำดับกฎ: กฎ allow แบบกว้างมีผลเหนือกว่า ผลลัพธ์ที่เกิดขึ้นจริง App → DB (1433) App → Backup_DB (1433) การเชื่อมต่อได้รับอนุญาตเนื่องจากการขยาย object group และลำดับความสำคัญของกฎ
เหตุใดการ trace ด้วยมือจึงไม่เพียงพอ
การ trace ด้วยมือจะทำได้ยากเมื่อ:
- มีอุปกรณ์เกี่ยวข้องหลายตัว
- ชุดกฎมีขนาดใหญ่และซับซ้อน
- object group ขยายตัวออกเป็นจำนวนมาก
สิ่งนี้นำไปสู่:
- การวิเคราะห์ที่ไม่ครบถ้วน
- ข้อสันนิษฐานที่คลาดเคลื่อน
- การแก้ปัญหาที่ล่าช้า
การประเมินเส้นทางการเข้าถึงด้วย policy model
policy model ช่วยให้ประเมินการเข้าถึงได้อย่างเป็นระบบ โดยผสานสิ่งต่อไปนี้เข้าด้วยกัน:
- คอนฟิกของ firewall
- โทโพโลยีเครือข่าย
- การแปลงค่า object
- ตรรกะการประเมินกฎ
สิ่งนี้ช่วยให้ทีมงานสามารถ:
- ประเมินการเชื่อมต่อได้ทั่วทั้งสภาพแวดล้อม
- ระบุกฎทั้งหมดที่เกี่ยวข้อง
- เข้าใจว่าเหตุใดการเข้าถึงจึงถูกอนุญาตหรือถูกบล็อก
บทบาทของ FireMon
FireMon ช่วยให้ประเมินเส้นทางการเข้าถึงได้ด้วยการ:
- สร้าง policy model ที่เป็นมาตรฐานเดียวกันครอบคลุมทุก firewall
- นำโทโพโลยีและ routing มาร่วมพิจารณา
- ประเมินการเชื่อมต่อระหว่างระบบ
- ระบุกฎที่ควบคุมการเข้าถึงนั้น
สิ่งนี้ให้แนวทางที่สอดคล้องกันในการตอบคำถามว่า เหตุใดการเชื่อมต่อนี้จึงถูกอนุญาตหรือถูกบล็อก
ประเด็นสำคัญ
- การเข้าถึงถูกกำหนดจากจุดบังคับใช้นโยบายหลายจุดร่วมกัน
- การเชื่อมต่อต้องได้รับอนุญาตในทุกขั้นตอน
- ลำดับกฎและการขยาย object ส่งผลต่อผลลัพธ์
- เส้นทางสำรองอาจเปิดการเชื่อมต่อที่ไม่คาดคิด
- การประเมินการเข้าถึงต้องอาศัยทั้งนโยบายและโทโพโลยี
บทสรุป
ในการแก้ปัญหาการเข้าถึง เป้าหมายไม่ใช่การค้นหา rule แต่คือการใช้ทั้งจุดบังคับใช้นโยบายและ network topology เพื่อให้เห็นภาพการเชื่อมต่อแบบ end-to-end ซึ่งช่วยให้อธิบายได้อย่างชัดเจนว่าเหตุใดทราฟฟิกจึงได้รับอนุญาตหรือถูกปฏิเสธ
[ FireMon ]
บทบาทของ FireMon
FireMon ช่วยให้ประเมินเส้นทางการเข้าถึงได้ ด้วยการสร้างแบบจำลองนโยบายที่เป็นมาตรฐานเดียวกันครอบคลุมทุก firewall ผนวกข้อมูล topology และ routing ประเมินการเชื่อมต่อระหว่างระบบ และระบุ rule ที่ควบคุมการเข้าถึงนั้น
คำถามที่พบบ่อย
การติดตามทราฟฟิกเครือข่ายข้ามหลาย firewall คือการประเมินว่าการเชื่อมต่อถูกจัดการอย่างไรที่จุดบังคับใช้นโยบายทุกจุดระหว่างต้นทางและปลายทาง ซึ่งครอบคลุมการวิเคราะห์ rule เส้นทาง routing และ object group เพื่อพิจารณาว่าท้ายที่สุดแล้วทราฟฟิกได้รับอนุญาตหรือถูกบล็อกตลอดทั้งสภาพแวดล้อม
การติดตามทราฟฟิกเป็นเรื่องยาก เพราะ firewall แต่ละตัวประเมิน rule อย่างเป็นอิสระ ขณะที่การเชื่อมต่อจริงขึ้นอยู่กับจุดบังคับใช้นโยบายทั้งหมดรวมกัน ลำดับของ rule การขยาย object group และเส้นทาง routing ที่มีหลายทาง ทำให้ยากที่จะเข้าใจผลลัพธ์จากการตรวจสอบอุปกรณ์ทีละตัวแบบแยกส่วน
เริ่มจากการกำหนดต้นทาง ปลายทาง port และ protocol จากนั้นระบุเส้นทางเครือข่ายที่คาดไว้ ประเมิน rule ที่ firewall แต่ละตัว ขยาย object group และพิจารณาปฏิสัมพันธ์ระหว่าง rule รวมถึงเส้นทางสำรอง ผลลัพธ์สุดท้ายขึ้นอยู่กับว่าจุดบังคับใช้นโยบายทั้งหมดประเมินการเชื่อมต่อนั้นร่วมกันอย่างไร
ผลลัพธ์ของทราฟฟิกขึ้นอยู่กับลำดับของ rule เงื่อนไข allow และ deny สมาชิกของ object group และเส้นทาง routing ของเครือข่าย การเชื่อมต่อต้องได้รับอนุญาตที่จุดบังคับใช้นโยบายทุกจุด และแม้การเปลี่ยนแปลงเพียงเล็กน้อยในนโยบายหรือ topology ก็อาจทำให้ทราฟฟิกเปลี่ยนจากได้รับอนุญาตเป็นถูกบล็อกได้
deny rule อาจไม่มีผลบังคับใช้ หากถูกแทนที่ด้วย allow rule ที่กว้างกว่าและมีลำดับความสำคัญสูงกว่า หรือหากไม่เคยถูกประมวลผลถึงเนื่องจากลำดับของ rule ในบางกรณี เส้นทางเครือข่ายสำรองอาจเลี่ยง deny rule นั้นไปทั้งหมด ส่งผลให้ทราฟฟิกผ่านได้โดยไม่คาดคิด
การวิเคราะห์ที่แม่นยำต้องประเมินทราฟฟิกทั่วทั้งสภาพแวดล้อม ไม่ใช่เพียงอุปกรณ์ตัวเดียว แบบจำลองนโยบายที่รวม firewall rule, topology และการแปลงค่า object เข้าด้วยกัน จะระบุจุดบังคับใช้นโยบายทั้งหมดและปฏิสัมพันธ์ระหว่าง rule ได้ พร้อมอธิบายอย่างชัดเจนว่าเหตุใดทราฟฟิกจึงได้รับอนุญาตหรือถูกบล็อก