กฎ (Rule) เป็นส่วนประกอบหลักของ Firewall ที่ใช้ในการบังคับกฎเกณฑ์ต่างๆให้กับระบบ ซึ่งกฎที่มีใน pfSense ค่อนข้างจะยืดหยุ่น โดยเราจะใช้กฎนี้ในการกำหนดสิทธิ์การเข้าถึงทรัพยากร (Resource) บนเครือข่ายของเรา ถ้าเปรียบเทียบกับชีวิตจริงก็เสมือนกับพนักงานรักษาความปลอดภัยประจำอาคาร ซึ่งจะต้องมีการตรวจสอบ ค้นตัว เป็นลำดับขั้นๆ ส่วน Resource ก็เหมือนอาคารที่เก็บเอกสารที่เราต้องการจะเข้าถึงนั่นเอง โดยกฎที่ของ Firewall จะทำงานจากบนลงล่าง ผมแนะนำว่าควรจะใส่กฎที่ห้าม (Denied) ไว้บนสุดเสมอ ส่วนกฎอนุญาต(Allow) ไว้ด้านล่าง ตัวอย่างเช่น

ตัวอย่างไดอะแกรม

จากภาพ เป้าหมายของเราคือ ไม่ให้เครื่องจากวง IP ต้นทาง 192.168.27.0/24 (192.168.27.1 – 192.168.27.254) ไปยัง วง IP 192.168.37.0/24 (192.168.37.1-192.168.37.254) ผ่าน Port 80 (HTTP)

ตัวอย่างกฎที่เขียนไม่ถูกต้อง

  • กฎข้อที่ 1 Allow any to any port any
  • กฎข้อที่ 2 Denied 192.168.27.0/24 to 192.168.37.0/24 port 80

จากกฎข้างต้น หากเราต้องการ จะ Denied วงต้นทาง 192.168.27.0/24 ไม่ให้ไปที่ 192.168.37.0/24 โดยผ่าน Port80 (HTTP) หากเราเซตลำดับตามตัวอย่างด้านบน จะทำให้ วง 192.168.27.0/24 ไปยัง 192.168.37.0/24 ได้ ซึ่งเป็นผลมาจากกฎข้อที่ 1 ซึ่งจะทำให้ผ่านได้ทุกพอร์ท ทำให้พอร์ท 80 ก็ผ่านได้ ซึ่งไม่ตรงกับที่เราต้องการ เพราะ Packet จะตกลงกฎข้อบนสุดก่อนเสมอ ซึ่งกฎบนสุดเป็นกฎที่อนุญาต ให้ทุกต้นทาง ไปยังทุกๆปลายทางได้ โดยผ่านพอร์ตอะไรก็ได้ เนื่องจากมันตกลงบนกฎที่ 1 แล้วมันก็ทำตาม Action ซึ่งก็คือ Allow ไป จะไม่ตกลงบนกฎข้อที่ 2 อีก

ดังนั้น ถ้าหากต้องการ Denied วง IP ข้างต้นจะต้องใช้ ชุดของกฎ ดังด้านล่างนี้

  • กฎข้อที่ 1 Denied 192.168.27.0/24 to 192.168.37.0/24 port 80
  • กฎข้อที่ 2 Allow any to any port any

ซึ่งจะตกลงบน กฎข้อที่ 1 ก่อน ทำให้ถูก Denied ทิ้งไป ซึ่งจะตรงกับที่เราต้องการ โดยที่ทุกๆ Source IP และ Destination IP รวมถึงทุกๆ Port ก็ยังสามารถใช้งานได้

ต่อไปเราจะมาดูตัวอย่างวิธีการเซตกฎ (Rule) บน pfSense กันครับ

เข้าไปที่ Firewall -> Rules เลือกที่ Tab LAN

Rule1

ส่วนนี้จะเป็นส่วนแสดงกฎทั้งหมดของ Firewall ให้เลือกที่ add new rule ที่เป็นสัญลักษณ์เครื่องหมายบวก

Rule2

  • Action : จะมีให้เลือก Pass คือ ปล่อยผ่าน, Block คือ ดรอป Packet ทิ้ง, Reject คล้ายๆกับกรณีของ Block แต่จะส่งข้อมูลกลับไปยังผู้ส่งด้วย ส่วนนี้ให้เลือกเป็น Block
  • Disable : คลิกเครื่องหมายถูกเพื่อปิดการใช้งานกฎ(Rule)ข้อนี้
  • Interface : เลือก LAN
  • TCP/IP Version : เลือกว่าจะใช้เป็น IP version ไหนบ้าง เช่น Version4, Version6, หรือทั้งหมด
  • Protocol : เลือกเป็น TCP
  • Source : เลือก Type เป็น Network พิมพ์ 192.168.27.0 และเลือกเป็น /24
  • Destination : เลือก Type เป็น Network พิมพ์ 192.168.37.0 และเลือกเป็น /24
  • Destinatin port range : เลือกเป็น from HTTP (80) และ to HTTP(80)
  • Log : คลิกเป็นจัดเก็บ Log
  • Description : สามารถบอกข้อมูลเกี่ยวกับกฎข้อนี้ได้ แนะนำว่าให้ใส่ข้อมูลที่เข้าใจง่าย

Rule3

กด Save และ Apply change

Rule4

จากนั้นเราสามารถเลื่อนกฎ(Rule) ขึ้นลงได้ตามต้องการ

Comments are closed.