Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Packet Filter ทำงานอย่างไร?

การกรองแพ็กเก็ต (Packet Filtering) มีต้นทุนการนำไปใช้ต่ำ ควรเข้าใจว่าอุปกรณ์กรองแพ็กเก็ตไม่รองรับระดับความปลอดภัยเท่ากับ Application หรือ Proxy Firewall เครือข่าย IP ทั้งหมดยกเว้นเครือข่ายที่พื้นฐานที่สุด ประกอบด้วย IP Subnets และมี Routers ทุก Router เป็นจุดกรองที่เป็นไปได้ เนื่องจากค่าของ Router ถูกดูดซับแล้ว ต้นทุนเพิ่มเติมสำหรับการกรองแพ็กเก็ตจึงไม่จำเป็น

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

ตัวกรองแพ็กเก็ตบางตัวทำงานในรูปแบบทั่วไปเดียวกัน ทำงานที่ Network Layer และ Transport Layer ของ TCP/IP Protocol Stack แต่ละแพ็กเก็ตจะถูกตรวจสอบเมื่อเข้าสู่ Protocol Stack Header ของ Network และ Transport จะถูกตรวจสอบอย่างใกล้ชิดสำหรับข้อมูลต่อไปนี้:

  • Protocol (IP Header, Network Layer) - ใน IP Header ไบต์ที่ 9 (นับจากศูนย์) ระบุโปรโตคอลของแพ็กเก็ต อุปกรณ์กรองบางตัวมีความสามารถแยกแยะระหว่าง TCP, UDP และ ICMP
  • Source Address (IP Header, Network Layer) - ที่อยู่ต้นทางคือที่อยู่ IP 32-bit ของโฮสต์ที่สร้างแพ็กเก็ต
  • Destination Address (IP Header, Network Layer) - ที่อยู่ปลายทางคือที่อยู่ IP 32-bit ของโฮสต์ที่แพ็กเก็ตตั้งใจส่ง
  • Source Port (TCP หรือ UDP Header, Transport Layer) - แต่ละปลายของการเชื่อมต่อ TCP หรือ UDP ผูกกับ Port TCP Ports แยกจาก UDP Ports พอร์ตที่เลขน้อยกว่า 1024 ถูกสงวนและมีการใช้งานที่กำหนดชัดเจน พอร์ตที่เลข 1024 ขึ้นไป (รวม) เรียกว่า Ephemeral Ports สามารถใช้ได้ตามที่ผู้จัดจำหน่ายเลือก Source Port เป็นหมายเลขพอร์ต Ephemeral ที่กำหนดแบบ Pseudo-random ดังนั้นจึงไม่ค่อยช่วยในการกรองจาก Source Port
  • Destination Port (TCP หรือ UDP Header, Transport Layer) - หมายเลขพอร์ตปลายทางระบุพอร์ตที่แพ็กเก็ตถูกส่งไป บริการแต่ละอย่างบนโฮสต์ปลายทางยอมรับพอร์ต มีพอร์ตที่รู้จักดีหลายอย่าง เช่น 20/TCP และ 21/TCP-FTP, 23/TCP-Telnet, 80/TCP-HTTP, 53/TCP-DNS Zone Transfers
  • Connection Status (TCP Header, Transport Layer) - สถานะการเชื่อมต่อบอกว่าแพ็กเก็ตเป็นแพ็กเก็ตแรกของเซสชันเครือข่ายหรือไม่ ACK flag ใน TCP Header ถูกตั้งเป็น "False" หรือ 0 หากเป็นแพ็กเก็ตแรกในเซสชัน ง่ายที่จะปฏิเสธโฮสต์จากการสร้างการเชื่อมต่อโดยการปฏิเสธหรือทิ้งแพ็กเก็ตที่มี ACK bit ตั้งเป็น "False" หรือ 0