- คู่มือเชิงปฏิบัติสำหรับการสร้างไฟร์วอลล์และความปลอดภัยเครือข่าย โดยเน้นที่ PF packet filter ของ OpenBSD
- ฉบับล่าสุดครอบคลุมความสามารถสมัยใหม่ เช่น IPv6, การตั้งค่าแบบดูอัลสแต็ก, traffic shaping, NAT, เครือข่ายไร้สาย, การบล็อกสแปม, failover, การบันทึกล็อก
- นำเสนอวิธีตั้งค่าอย่างเป็นรูปธรรม เช่น การเขียนชุดกฎสำหรับ IPv4·IPv6, ความปลอดภัยของเครือข่ายไร้สาย, การเพิ่มความพร้อมใช้งานด้วย CARP·relayd, การสร้าง adaptive firewall
- ครอบคลุมทั้งระบบควบคุมทราฟฟิกแบบใหม่ล่าสุดของ OpenBSD และการใช้งาน ALTQ, Dummynet ของ FreeBSD
- เอกสารอ้างอิงสำคัญสำหรับ การดูแลเครือข่ายที่เสถียรและยืดหยุ่น บน OpenBSD 7.x, FreeBSD 14.x และ NetBSD 10.x
ภาพรวมของ PF และการจัดการเครือข่าย
- PF(Packet Filter) ถูกอธิบายว่าเป็น เครื่องมือเครือข่ายหลักของ OpenBSD และ FreeBSD และเป็นองค์ประกอบไฟร์วอลล์ที่จำเป็นในสภาพแวดล้อมอินเทอร์เน็ตยุคใหม่
- ในสถานการณ์ที่ความต้องการแบนด์วิดท์เพิ่มขึ้นและภัยคุกคามด้านความปลอดภัยรุนแรงขึ้น ผู้ดูแลระบบจำเป็นต้องมีความเชี่ยวชาญด้าน PF
- หนังสือเล่มนี้ครอบคลุม ฟีเจอร์ล่าสุดและวิธีตั้งค่า ของ PF อย่างครบถ้วน พร้อมแนวทางที่เน้นการใช้งานจริง
อัปเดตสำคัญของฉบับพิมพ์ครั้งที่ 4
- ฉบับพิมพ์ครั้งที่ 4 เพิ่มเนื้อหาสมัยใหม่ เช่น IPv6 และการตั้งค่าแบบดูอัลสแต็ก, ระบบ traffic shaping แบบคิวและลำดับความสำคัญ, NAT และการเปลี่ยนเส้นทาง, เครือข่ายไร้สาย, การบล็อกสแปม, failover, การบันทึกล็อก
- ครอบคลุมเวอร์ชัน OpenBSD 7.x, FreeBSD 14.x และ NetBSD 10.x
เทคโนโลยีสำคัญที่สามารถเรียนรู้ได้
- การเขียนชุดกฎทราฟฟิกสำหรับ IPv4 และ IPv6: อธิบายวิธีตั้งค่าในสภาพแวดล้อมเครือข่ายหลากหลาย เช่น LAN, NAT, DMZ, bridge
- การสร้างเครือข่ายไร้สายและเสริมความปลอดภัย: การตั้งค่า access point, การใช้ authpf และฟังก์ชันจำกัดการเข้าถึง
- การเพิ่มความพร้อมใช้งานของบริการให้สูงสุด: การดำเนินงานบริการอย่างยืดหยุ่นด้วย CARP, relayd และการเปลี่ยนเส้นทาง
- การสร้าง adaptive firewall: การทำระบบป้องกันเชิงรุกต่อผู้โจมตีและสแปมเมอร์
- การควบคุมและมอนิเตอร์ทราฟฟิก: การใช้ระบบ traffic shaping ล่าสุดของ OpenBSD, การตั้งค่า ALTQ·Dummynet ของ FreeBSD และเครื่องมือแสดงผลบนฐาน NetFlow
โครงสร้างของหนังสือ
- ประกอบด้วยทั้งหมด 10 บทและภาคผนวก 2 ส่วน
- บทที่ 1: การสร้างเครือข่าย
- บทที่ 2: พื้นฐานการตั้งค่า PF
- บทที่ 3: การประยุกต์ใช้ในสภาพแวดล้อมจริง
- บทที่ 4: เครือข่ายไร้สาย
- บทที่ 5: เครือข่ายที่ซับซ้อน
- บทที่ 6: การป้องกันเชิงรุก
- บทที่ 7: Traffic shaping
- บทที่ 8: ความซ้ำซ้อนและความพร้อมใช้ของทรัพยากร
- บทที่ 9: การบันทึกล็อก การมอนิเตอร์ และสถิติ
- บทที่ 10: การปรับแต่งการตั้งค่าให้เหมาะสม
- ภาคผนวก A: เอกสารอ้างอิง / ภาคผนวก B: การรองรับฮาร์ดแวร์
แนะนำผู้เขียน
- Peter N.M. Hansteen เป็น ที่ปรึกษา DevOps และนักเขียน จากเมืองเบอร์เกน ประเทศนอร์เวย์ และมีผลงานบรรยายและบทความเกี่ยวกับ OpenBSD และ FreeBSD จำนวนมาก
- เป็น นักกิจกรรมในชุมชน Freenix และเขียนหนังสือเล่มนี้จากการขยายความบทเรียน PF ออนไลน์ของตน
- เผยแพร่บทความด้านเครือข่ายบนบล็อกส่วนตัว (bsdly.blogspot.com) และเคยเป็นส่วนหนึ่งของ ทีมพัฒนา RFC 1149
1 ความคิดเห็น
ความเห็นจาก Hacker News
อยากรู้ว่าทุกวันนี้ประสบการณ์การใช้ PF(Packet Filter) ในสภาพแวดล้อมใช้งานจริงเป็นอย่างไรบ้าง
ฉันเคยใช้แต่ nftables เลยอยากรู้ว่าฝั่ง PF ให้ความรู้สึกแบบไหน
โครงสร้างมันให้ความรู้สึกเหมือนกำลังแก้โค้ด เลยค่อนข้างตรงไปตรงมาและใช้งานสนุก
ด้านบนมีการประกาศ host, network, port จากนั้นเป็นส่วน NAT/egress และส่วนกฎ pass in/out แยกตามแต่ละ VLAN
ฉัน tail อินเทอร์เฟซ
pflog0ในtmuxเพื่อมอนิเตอร์ทราฟฟิก และยังทำฟังก์ชันไว้ใน.profileเพื่อแก้ไขและบังคับใช้การตั้งค่า pf ได้ง่าย ๆ มันเปิดไฟล์ให้แก้ไข จากนั้นตรวจสอบและโหลดกฎใหม่อีกครั้ง แล้วถ้าสำเร็จก็จะแสดงจำนวนกฎส่วน nftables บน Linux ยังรักษาโครงสร้าง “chain” แบบแนวคิด ipchains เก่าอยู่ เลยไม่ค่อยเป็นธรรมชาติ
PF แค่กำหนดนโยบายตาม in/out และอินเทอร์เฟซก็พอ
เมื่อเทียบกับวิธีของ nftables ที่เป็นแบบ เพิ่ม/ลบนโยบายด้วยคำสั่ง ฉันรู้สึกว่าการจัดการแบบเน้นไฟล์คอนฟิกของ PF สะอาดกว่ามาก
pf จะให้แพ็กเก็ตไล่ผ่านกฎทั้งหมด และใช้กฎสุดท้ายที่ตรงเงื่อนไข (“quick” ใช้เพื่อหยุดก่อนกำหนดได้)
ล็อกไม่ได้ถูกรวมเข้า syslog อัตโนมัติ จึงต้องตั้งค่าแยกต่างหาก
โดยส่วนตัวฉันชอบ pf มากกว่า แต่ไม่ค่อยแนะนำสำหรับมือใหม่
จะทำด้วยสคริปต์บน pf ก็พอได้ แต่ไม่มีประสิทธิภาพ
ถ้าเป็นระบบงานจริงก็มักต้องการความสามารถระดับ IPS หรือไฟร์วอลล์ Layer 7
ถึงอย่างนั้น ถ้าใช้เพื่อการกรองแบบเรียบง่ายก็ยังเป็นตัวเลือกที่ดี
แต่เพราะยังมีบทสอนจำนวนมากและโมเดล LLM จำนวนมากที่ยังฝังไวยากรณ์
iptables -Aอยู่ ก็คงต้องจำมันไปอีกนานฉันเคยมีหนังสือเล่มนี้ และมันช่วยได้มากเรื่องการตั้งค่าไฟร์วอลล์, load balancing, traffic shaping และอื่น ๆ
หนังสือเกี่ยวกับการออกแบบ FreeBSD rootkit ก็มีประโยชน์มากเช่นกัน
ตอนนี้เพื่อความมินิมอล ฉันจัดการทิ้งไปหมดแล้วและพึ่งข้อมูลดิจิทัลแทน เลยยังรู้สึกเสียดายนิดหน่อย
หนังสือที่ซื้อตอนช่วงเรียน OpenBSD ยังอยู่ครบ แต่ตอนนี้แทบไม่ได้อ้างอิงแล้ว
ถึงอย่างนั้น มุม OpenBSD บนชั้นหนังสือก็ดูเท่มาก
ฉันนับถือ No Starch Press มาก คุณภาพหนังสือดีจริง ๆ
อยากให้มีหนังสือแนวนี้มากขึ้น
ฉันหลีกเลี่ยงร้านที่ไม่ให้ความเคารพผู้อ่าน
ถ้าผู้บริโภคไม่เรียกร้องเงื่อนไขที่ดีกว่า สักวันหนึ่งอาจเกิดโครงสร้างผูกขาดที่ลบหนังสือที่เราซื้อไปแล้วได้ตามใจชอบ
คุณภาพการเย็บเล่มของ No Starch ยังยอดเยี่ยมเหมือนเดิม แต่ช่วงหลังหนังสือ POD(Print on Demand) ของ O’Reilly ทั้งแพงและคุณภาพลดลง จนน่าเสียดาย
PF ย่อมาจาก Packet Filter
ข้อมูลเพิ่มเติม หนังสือเล่มนี้พูดถึง FreeBSD 14 แต่ใน FreeBSD 15 (ออกเดือนธันวาคม) PF จะได้รับการอัปเดตครั้งใหญ่
รายละเอียดดูได้ที่บทความอัปเดตในบล็อก Netgate
คิดว่าน่าจะดีถ้ามีหนังสือขอบเขตใกล้เคียงกันแต่เน้น nftables
หนังสือ Linux Firewall ของ No Starch เป็นฉบับปี 2008 เลยยังอิง iptables
ทางที่ดีที่สุดคือดูที่ nftables wiki
เป็นหนังสือที่ดีสำหรับทำความเข้าใจแนวคิดพื้นฐาน