pfSense ได้รวมเอาคุณสมบัติทั้งหมดของไฟร์วอลล์ในเชิงธุรกิจที่มีราคาแพง ข้างล่างเป็นคุณสมบัติของไฟร์วอลล์รุ่น 1.2.3 คุณสมบัติต่างๆสามารถจัดการได้ผ่านหน้าเว็บโดยไม่ต้องใช้คำสั่งที่เป็น command line ใดๆเลย
นอกจากนั้น ในส่วนของคุณสมบัติยังได้รวมข้อจำกัดของระบบเพื่อที่ผู้ใช้จะได้พึงระวัง จากประสบการณ์และการให้ความช่วยเหลือของผู้ใช้นับพันของเรา ทำให้เราเข้าใจเป็นอย่างดีว่าอะไรที่ซอฟต์แวร์ทำได้และทำไม่ได้ ทุกๆซอฟต์แวร์แพ็คเกจมีข้อจำกัด ที่ที่มีความเห็นแตกต่าง เราต้องสื่อสารกันให้เข้าใจ เรายินดีต้อนรับทุกๆคนที่ต้องการให้การช่วยเหลือเพื่อกำจัดข้อจำกัดเหล่านี้ ความแตกต่างหลายๆตัวเป็นเรื่องปกติสำหรับไฟร์วอลล์โอเพ่นซอร์สและไฟร์วอลล์ เชิงธุรกิจ ข้อจำกัดของรุ่น 1.2.3 ได้รับการแก้ไข้แล้วและจะอยู่ในบันทึกของไฟร์วอลล์รุ่นถัดไป
คุณสมบัติ
Firewall
- Filtering by source and destination IP, IP protocol, source and destination port for TCP and UDP traffic
- สามารถจำกัดจำนวนการเชื่อมต่อ (Connection) ต่อ Rule ได้
- สามารถ Filter โดยใช้ระบบปฏิบัติการเป็นเงี้อนไขได้ เช่น อนุญาตให้เครื่องคอมพิวเตอร์ที่เป็น Linux ใช้งานอินเตอร์เน็ตได้ แต่ไม่อนุญาตให้เครื่องที่เป็น Windows ใช้งานอินเตอร์เน็ต
- สามารถเซ็ตแ่ต่ละ Rule ให้เก็บหรือไม่เก็บ Log ได้
- มีความยืดหยุ่นสูงในการทำ Policy Routing โดยสามารถเลือก Gateway ของแต่ละ Rule ได้ (สำหรับ Load balancing, Fail Over, Multi-WAN เป็นต้น)
- สามารถตั้งชื่อกลุ่มของ IP, เน็ตเวิร์ค หรือ พอร์ต ได้ ทำให้เข้าใจง่ายและสะอาดต่อการจัดการ Rule ต่างๆ โดยเฉพาะอย่างยิ่งสำหรับระบบที่มีหลายๆ Public IP และมีเครื่องเซิร์ฟเวอร์หลายๆเครื่อง
- มีความสามารถทำ Transparent Layer 2 สามารถทำ Bridge และ Filter ระหว่าง Interface ได้
- สามารถทำ Package Normallization ได้ Scrubbing เป็นการ Normalize package ที่มีความกำกวม ไม่ให้มีการตีความที่กำกวมเกิดขึ้นที่ปลายทาง Scrub ยังทำการ Reassemble package เพื่อป้องกันไม่ให้บางระบบปฏิบัติการถูกโจมตี และ Drop package ที่มี Flag ผิดปกติ
- เปิดการใช้งานเป็นค่าปกติ (Enabled by default)
- สามารถปิดใช้งานได้ ถ้าจำเป็น
- สามารถปิดการใช้งานไฟร์วอลล์ได้ ถ้าต้องการให้ไฟร์วอลล์ทำหน้าที่เป็น Router
State Table
State Table ของไฟร์วอลล์ เป็นการคงไว้ของการเชื่อมต่อของในเน็ตเิวิร์คของคุณ pfSense มีคุณสมบัติมากมายในการควบคุมอนูของ State Table ขอบคุณสำหรับความสามารถนี้ของ OpenBSD pf- สามารถปรับขนาดของ State Table ได้ -- มี pfSense หลายตัวที่มีการใช้งานอยู่มี State Table หลายแสน ขนาด State Table ปกติคือ 10,000 แต่สามารถเพิ่มได้อย่างอิสระตามต้องการ แต่ละ State จะให้หน่วยความจำประมาณ 1 กิโลไบต์ ฉะนั้น พึงระลึกอยู่เสมอถึงการใช้งาน อย่าเซ็ตค่าให้สูงจนเกินไป
- ในแต่ละ Rule สามารถ
- จำกัดจำนวนการเชื่อมต่อ (Connection) ต่อเครื่อง
- จำกัดจำนวน state ต่อ Host
- จำกัดการเชื่อต่อใหม่ (new connection) ต่อวินาที
- กำหนดการหมดเวลาของ state (state timeout)
- กำหนดชนิดของ state
- State Type--pfSense หลากหลายตัวเลือกในการจัดการกับ State
- Keep state ใข้ได้กับทุกโปรโตคอล เป็นค่าปกติสำหรับทุก Rule
- Modulate state ใช้ได้เฉพาะกับโปรโตคอล TCP pfSense จะสร้าง Initial Sequence Number (ISN) ในนาม host
- Synproxy state เป็นการเข้ามาเชื่อมต่อ Proxy โดยใช้โปรโตคอล TCP ใช้เพื่อป้องกันเซิร์ฟเวอร์จากการ spoof TCP SYN floods ตัวเลือกนี้ได้รวมอยู่ในอยู่ใน Keep state และ Modulate State
- None ไม่รักษา State ใดๆของการเชื่อมต่อ ซึ่งหายากมาก แต่ก็มีให้ใช้ เนื่องจากจะเป็นประโยชน์ข้อจำกัดบางสถานการณ์
- State table optimization option - pf ได้เสนอตัวเลือก 4ตัวเลือกสำหรับ State Table Optimization
- Normal - เป็นค่าปกติ
- High latency - มีประโยชน์สำหรับ link ที่ช้า เช่น การเชื่อมต่อผ่านดาวเทียม สถานะการเชื่อมต่อมีอายุนานกว่าปกติ
- Aggressive - สถานะการเชื่อมต่อมีอายุสั้น เพิ่มประสิทธิภาพการใช้ทรัพยากรของฮาร์ดแวร์ แต่จะ drop package ที่ดีไปด้วย
- Conservative - พยายามที่จะหลีกเลี่ยงการ drop package ที่ดี เพื่อประหยัดค่าใช้จ่ายในการที่จะซื้อหน่วยความจำเพิ่มและใช้งาน CPU ให้เต็มประสิทธิภาพ
Network Address Translation (NAT)
- การทำ Port forwarding แบบช่วงและแบบหลายๆ Public IP
- 1:1 NAT สำหรับ IP เดียว หรือ สำหรับทั้ง Subnet
- Outbound NAT
- ค่า NATปกติสำหรับ Outbound trafic ทั้งหมด ถูก NAT ไปยัง IP ที่อยู่ฝั่ง WAN ในรูปแบบที่มีหลาย WaN ค่า NAT ปกติ จะถูก NAT ไปยัง IP ที่กำลังใช้งานฝั่ง WAN
- การทำ Outbound NAT ขั้นสูง ทำให้ค่า NAT ปกติถูกปิดการใช้งาน และเปิดการใช้งานการสร้าง NAT ที่มีความยืดหยุ่นมากขึ้นกว่าเดิม (คือสามารถกำหนด Rule ที่ไม่ให้ทำ NAT ได้)
- NAT Reflextion - ในการตั้งค่าบางครั้ง เป็นไปได้ที่ Service ที่เข้าถึงโดย Public IP สามารถเข้าได้จากเน็ตเวิร์คข้างใน
NAT Limitations
- ข้อจำกัดของ PPTP และ GRE สถานะของ Tracking Code ใน pf สำหรับโปรโตคอล GRE สามารถ Track ได้เพียงแค่ 1 Session ต่อ Public IP หมายความว่า ถ้าคุณใช้ PPTP VPN มีเพียงแค่หนึ่งเครื่องเท่านั้นที่สามารถเชื่อมต่อไปยัง PPTP Server ที่อยู่บนอินเตอร์เน็ต เครื่องหนึ่งพันเครื่องสามารถเชื่อมต่อกับหนึ่งพัน PPTP Server ที่แตกต่างกัน แต่เครื่องลูกข่ายหนึ่งเครื่องสามารถเชื่อมต่อกับ 1 PPTP Server เท่านั้น ดังนั้น ในการใช้งานจริงต้องใช้หลายๆ Public IP บนไฟร์วอลล์
- ข้อจำกัดของ SIP โดยปกติ Trafic ของ TCP และ UDP ทั้งหมด นอกเหนือจาก SIP และ IP นำ Source Port มาเขียนใหม่ ข้อมูลเพิ่มเติมสามารถหาอ่านได้จาก Static port documentation เนื่องจากการเขียน Source Port ขึ้นมาใหม่นี้เอง ทำให้ pf สามารถติดตามได้ว่าคอมพิวเตอร์ภายในเครื่องใหนได้ทำการเชื่อมต่อไปยัง เครื่องเซิร์ฟเวอร์ภายนอก และ Trafic ของ SIPส่วนใหญ่ทั้งหมดใช้ Source port เหมือนกัน ฉะนั้น อุปกรณ์ SIP เพียงหนึ่งตัวเท่านั้นทีสามารถเชื่อมต่อไปยังเครื่อง Server ข้างนอกได้ ถ้าไม่แล้ว อุปกรณ์ SIP ของคุณต้องสามารถใช้ Port ที่เขียนขึ้นใหม่ได้ (ส่วนใหญ่ไม่สามารถทำได้) ดังนั้น คุณไม่สามารถใช้โทรศัพท์หลายเครื่องเชื่อมต่อไปยังเซิร์ฟเวอร์ข้างนอก เครื่องเดียวกันโดยไม่ใช้ public IPหนึ่งเบอร์ต่อหนึ่งอุปกรณ์ sipproxy package เป็นคำตอบสำหรับปัญหานี้ ใน pfSense 1.2.2 และใหม่กว่า
- ข้อจำกัดของ NAT Reflextion - NAT Reflection สามารถใช้ช่วงของ port ได้ไม่เกิน 500 ports และไม่สามารถเป็น NAT 1:1 ได้
Redundancy
CARP จาก OpenBSD อนุญาตให้ทำ Hardware Failover ได้ ไฟร์วอลลสองตัวหรือมากกว่า สามารถตั้งค่าให้เป้น Failover Group ได้ ถ้า interface ใดบนเครื่องหลัก (primary) ใช้งานไม่ได้ หรือเครื่องหลักเปลี่ยนสถานะเป็น Offline ไฟร์วอลล์ตัวที่สองก็จะ Active ขึ้นมา pfSense ได้รวมความสามารถให้การทำ Synchronization Configuration เข้ามาด้วย ดังนั้น เมื่อคุณเปลี่ยนแปลงค่าต่างๆบนไฟร์วอลล์หลัก ค่าเหล่านั่นก็จะไปอยู่ในไฟร์วอลล์ตัวที่สองด้วยอัตโนมัติด้วย pfSync ทำให้มั่นใจได้ว่า State ของไฟร์วอลล์จะถูก Replicate ไปยังทุกๆไฟล์วอลล์ทุกตัวที่ได้ตั้งค่าเป็น Failover หมายความว่า การเชื่อมต่อของคุณที่มีอยู่ยังคงมีต่อไปในกรณีไฟร์วอลล์หลักไม่สามารถทำงาน ได้ ซึ่งเป็นสิ่งสำคัญในการป้องกันการเกิดปัญหาของระบบเครือข่าย
Limitations
- Backup Firewall ไม่ได้ทำงาน (active-passive failover) ขณะนี้ยังไม่มี active-active clustering
- Failover ไม่สามาถทำงานได้ในทันที จะใช้เวลาประมาณ 5 วินาที เพื่อสลับการทำงานไปยังไฟร์วอลล์ตัวที่สอง ระหว่างนี้จะไม่มี Trafic ผ่านออกไป แต่ state ที่มีอยู่ยังคงรักษาไว้ และจะใช้งานได้หลังจาก Failover พร้อมทำงาน
Load Balancing
Outbound Load Balancing
Outbound Load Balancing ใช้สำหรับไฟร์วอลล์ที่หลายๆ WAN, Trafic ที่ตรงไปยัง gateway หรือ Load Balancing Pool จะเป็นไปตาม Rule ที่ตั้งค่าไว้Inbound Load Balancing
Inbound Load Balancing ใช้เพื่อกระจายโหลดไปยังเซิร์ฟเวอร์หลายๆตัว ซึ่งใช้กันทั่วไปกับ web server, Mail server และเซิร์ฟเวอร์ออื่นๆ เครื่องเซิร์ฟเวอร์ที่ไม่ตอบสนองต่อการ ping หรือ port connection จะถูกเอาออกไปจาก poolLimitations
การกระจายงานอย่างละเท่าๆกันไปยังเซิร์ฟเวอร์แต่ละตัวที่อยู่ใน pool การกระจายงานแบบไม่เท่ากันยังไม่สามารถทำได้ ณ เวลานี้VPN
pfSense มีตัวเลือกสำหรับ VPN คือ IPSec, OpenVPN และ PPTPIPsec
IPSec อนุญาตให้มีการเชื่อมต่อด้วยอุปกรณ์มาตราฐานที่สนับสนุน IPSec ซึ่งส่วนใหญ่ใช้สำหรับการเชื่อมต่อแบบ site-to-site ไปยัง pfSense อีกตัว Open Source Firewalls (m0n0wall) หรือไฟร์วอลล์ในเชิงธุรกิจอื่นๆ (Cisco,Juniper) นอกจากนี้ยังสามารถใช้งานได้กับเครื่องลูกข่ายที่เป็นคอมพิวเตอร์แบบพกพาได้ ด้วยLimitations
- NAT-T ไม่สามารถใช้งานได้จนกระทั่งถึงเวอร์ชัน 2 หมายความว่า เครื่องลูกข่ายแบบพกพาไม่สามารถใช้งานได้หากมีการใช้ NAT ข้อจำกัดนี้มีผลกับเครื่องลูกข่ายแบบพกพาเท่านั้น การใช้ OpenVPN และ PPTP เป็นคำตอบที่ดีกว่า
- ความสารมารถอื่นของ IPSec จะไม่สามารถใช้ได้เมื่อถึงไฟล์วอลล์รุ่นที่ 2 เช่น PDP, XAuth, NAT-T และอื่นๆ
OpenVPN
OpenVPN มีความยืดหยุ่น และใช้ SSL VPN ซึ่งสนับสนุนระบบปฏิบัติการของเครื่องลูกข่ายที่หลากหลายกว่า ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ OpenVPNPPTP Server
PPTP เป็นที่นิยมกันมากเนื่องจากเกือบทุกระบบปฏิบัติการได้รวมเอา PPTP Client รวมถึงระบบปฏิบัติการวินโดว์ ตั้งแต่ วินโดว์ 9 OSR2 ดูข้อมูลเพิ่มเติมได้ที่เว็บไซต์ WikipediapfSense Server สามารถใช้ฐานข้อมูลใน pfSense หรือบน RADIUS Server RADIUS Accounting ก็ใช้งานได้เช่นเดียวกัน Firewall Rule บน PPTP interface สามารถควบคุม trafic ที่มาจากเครื่องลูกข่ายได้
Limitations
เนื่องจากข้อจำกัดของ pf NAT เมื่อเปิดใช้งาน PPTP Server PPTP Client ไม่สามารถใช้ Public IP เดียวกันสำหรับการเชื่อมต่อ PPTP ออกไปข้างนอก หมายความว่า ถ้าคุณมี Public IP เพียงตัวเดียว และใช้ PPTP Server เครื่องลูกข่ายภายในจะไม่สามารถใช้งานได้ ถ้าจะใช้ต้องมี Public IP ตัวที่สองแล้วทำ NAT ขั้นสูง (Advance Outbound NAT) สำหรับเครื่องลูกข่ายภายในอื่นๆPPPoE Server
PPoE ServerpfSense ก็มี PPoE Server ด้วย สามารถอ่านข้อมูลเพิ่มเติมได้ใน PPoE Protocal ดูได้ที่ Wikipedia สามารถทำ Autheticate กับรายชื่อผู้ใช้ใน pfSense ได้ การ Authenticate กับ RADIUS ก็สามารถทำได้เช่นเดียวกัน
Reporting and Monitoring
RRD Graphs
RRD Graphs ใน pfSense ทำหน้าเก็บประวัติข้อมูลของ- การทำงานของ CPU
- Throughput
- Firewall State
- Throughput เดี่ยวๆของแต่ละ Interface
- จำนวน Package ต่อวินาทีของ Interface ทั้งหมด
- ระยะเวลาการตอบสนองของการ ping WAN
- QoS
Real Time Information
ประวัติข้อมูลเป็นสิ่งสำคัญ แต่บางครั้งการได้เห็นข้อมูลข่าวสารขณะที่กำลังเกิดขึ้นจริง (real time) ก็สำคัญกว่าSVG graphs สามารถแสดง Throughput ในขณะที่กำลังเกิดขึ้นของแต่ละ Interface
สำหรับ QoS คุณสามารถเห็นคิวของแต่ละ QoS ได้เลย
Dynamic DNS
Dynamic DNS Client ยอมให้คุณลงทะเบียน IP กับผู้ให้บริการ Dynamic DNS- DynDNS
- DHS
- easyDNS
- No-IP
- ODS.org
- ZoneEdit
Limitations
- ใช้ได้เฉพาะ WAN Interface หลายๆ WAN สามารถใช้ได้ในเวอร์ชั่น 2
- สามารถอัปเดทได้เพียง 1 Account ต่อหนึ่งผู้ให้บริการ เวอร์ชั่น 2.0 ไม่จำกัดจำนวน Account
- ใช้ได้เมื่อ pfSense กำหนด Public IP ให้กับ WAN interface ถ้าคุณมีโมเด็มซึ่งเป็นตัวรับ Public IP และกำหนด Private IP ให้กับ pfSense, Private IP นั้นก็จะถูกลงทะเบียนไว้กับผู้ให้บริการ ในเวอร์ชั่น 2.0 จะมีตัวเลือกให้ตรวจสอบ Public IP ก่อนที่จะลงทะเบียน IP กับผู้ให้บริการ
Captive Portal
Captive Portal อนุญาตให้คุณบังคับให้ Authenticate หรือทำการ Redirect ไปยังเว็บเพจเพื่อให้คุณคลิกเพื่อที่จะผ่านเน็ตเวิร์คออกไปได้ ซึ่งส่วนใหญ่ใช้กับ Hot Spot แต่ก็สามารถนำไปใช้ได้กับเน็ตเวิร์คขององค์กรเพื่อระดับความปลอดภัยบนเครือ ข่ายไร้สาย หรือ การเข้าถึงอินเตอร์เน็ต ข้อมูลเพิ่มเติมเกี่ยวกับเทคโนโลยีของ Captive Portal สามารถอ่านเพิ่มเติมได้ที่ Wikipedia รายการดังต่อไปนี้เป็นความสามารถของ Captive Portal ใน pfSense- Maximum concurrent connection -- จำกัดจำนวนการเชื่อมต่อต่อของ IP ของเครื่องลูกข่าย คุณสมบัตินี้เป็นการป้องกัน Denial of Service จากเครื่องลูกข่ายที่ส่ง trafic อย่างต่อเนื่องปราศจากการ authenticate หรือคลิกที่เว็บเพจที่ Redirect ไป
- Idle timeout - ตัดการเชื่อมต่อเมื่อไม่มีการใช้งานในเวลาที่กำหนด
- Hard timeout - ตัดการเชื่อมต่อโดยอัตโนมัติเมื่อถึงเวลาที่กำหนด
- Logon pop up window - เป็น pop up window ที่มีปุ่ม log off
- URL Redirection - หลังจากการ Authenticate หรือคลิกบนเว็บเพจเป็นที่เรียบร้อยแล้ว เราสามารถ Redirect ไปยังเว็บเพจที่เรากำหนดไว้ได้
- MAC Filter - สามารถ filter โดยใช้ MAC Address
- Authentication Option - มีสามตัวเลือกในการทำ authentication
- No authentication - หมายความว่า ผู้ใช้เพียงแค่คลิกในหน้าที่ Redirect ไป โดยที่ไม่ต้องให้รหัสผ่านแต่อย่างใด
- Local user manager - สามารถใช้ฐานข้อมูลผู้ใช้ใน pfSense ได้
- RADIUS authentication - เป็นวิธีการที่แนะนำสำหรับผู้ใช้ในองค์กรและ ISP สามารถ Authenticate กับ Microsoft Active Directory และ RADIUS Server หลายๆตัว
- ความสามารถของ RADIUS
- บังคับให้ทำการ Re-authenticate
- สามารถส่ง Accounting Update ได้
- RADIUS MAC authentication อนุญาตให้ Captive Portal authenticate ไปยัง RADIUS server โดยใช้ MAC address ของเครื่องลูกข่ายเสมือนเป็น User Name และ password
- อนุญาตให้ทำ Redundant RADIUS server ได้
- HTTP or HTTPS - Portal page สามารถตั้งค่าให้เป็น HTTP หรือ HTTPS ได้
- Pass-through MAC and IP Address - MAC และ IP address สามารถทำการบายพาสได้ เครื่องคอมพิวเตอร์ใดก็ตามที่ใช้ NAT port forwarding จะต้องทำการบายพาส
- File Manager - อนุญาตให้อัปโหลดภาพเพื่อใช้ใน Portal Page ได้
Limitations
- สามารถทำงานได้เพียงแค่หนึ่ง Interface
- Reverse portal เช่น การ capture trafic จากอินเตอรืเน็ตและเข้าสู่เน็ตเวิร์คของคุณไม่สามารถทำได้
- เฉพาะ IP และ MAC Address เท่านั้นที่สามารถ Filter ได้ ไม่สามารถทำกับโปรโตคอลหรือพอร์ตได้
- ปัจจุบันนี้ยังไม่สามารถใช้กับ Rule ที่มีหลายๆ WAN ได้ เราหวังว่าจะสามารถแก้ปัญหานี้ได้ในเวอร์ชัน 2.0
0 comments:
Post a Comment