Security
น้องๆ เคยสงสัยไหมว่าทำไมเวลาเราเล่นเน็ตที่บ้าน หรือที่ร้านเน็ต (สมัยผมทำ SiamCafe นี่สำคัญมาก) ถึงปลอดภัยระดับนึง? นั่นแหละครับ ส่วนหนึ่งเป็นเพราะ Firewall ที่คอยป้องกันภัยคุกคามต่างๆ Pfsense เนี่ย มันคือ Firewall ชนิดหนึ่งที่เป็น Open Source ใช้งานได้ฟรี และมีความสามารถเทียบเท่า Firewall ราคาแพงๆ เลย
สมัยก่อนตอนทำร้านเน็ต ผมเจอปัญหาเยอะมาก พวกเด็กๆ ชอบโหลดโปรแกรมแปลกๆ บางทีก็ติดไวรัส โดนแฮกข้อมูล Pfsense ช่วยผมแก้ปัญหาพวกนี้ไปได้เยอะเลยครับ มันเหมือนเป็นยามเฝ้าบ้าน คอยสกัดกั้นสิ่งที่ไม่ดี ไม่ให้เข้ามาในระบบของเรา
ทำไมถึงสำคัญ? ลองคิดดูว่าถ้าไม่มี Firewall อะไรจะเกิดขึ้น? พวก Hacker ก็จะเข้ามาเจาะระบบ ขโมยข้อมูล หรือแม้กระทั่งทำให้ระบบล่มได้เลย Pfsense เลยเป็นเหมือนเกราะป้องกันที่สำคัญมากๆ สำหรับทุกองค์กร และสำหรับใครที่อยากดูแล Network ที่บ้านให้ปลอดภัยขึ้น Pfsense ก็เป็นตัวเลือกที่ดีมากๆ ครับ
NAT เนี่ย เปรียบเหมือนเลขที่บ้านของเราครับ เวลาเราส่งข้อมูลออกไปบนอินเทอร์เน็ต เราจะใช้ IP Address สาธารณะ (Public IP) แต่ในบ้านเรา (หรือในร้านเน็ตของผมสมัยก่อน) เราจะใช้ IP Address ภายใน (Private IP) ซึ่ง NAT จะทำหน้าที่แปลง IP Address ภายในของเรา ให้เป็น IP Address สาธารณะ เพื่อให้เราสามารถสื่อสารกับโลกภายนอกได้
เคยเจอไหมครับ เวลาเราเล่นเกมออนไลน์ แล้วเพื่อนบอกว่า "ทำไมแกเข้าห้องฉันไม่ได้?" นั่นแหละครับ สาเหตุหนึ่งอาจมาจาก NAT ที่ไม่ได้ตั้งค่าให้ถูกต้อง ทำให้ไม่สามารถเชื่อมต่อกันได้
DHCP Server เปรียบเหมือนคนแจกบัตรคิวครับ เวลาอุปกรณ์ (เช่น คอมพิวเตอร์ มือถือ) เชื่อมต่อเข้ามาใน Network DHCP Server จะแจก IP Address ให้กับอุปกรณ์นั้นๆ อัตโนมัติ ทำให้เราไม่ต้องมานั่งตั้งค่า IP Address เอง
สมัยก่อนตอนทำร้านเน็ต ผมต้องตั้งค่า DHCP Server ให้ดี เพราะถ้า IP Address ชนกัน จะทำให้เครื่องลูกข่ายใช้งานอินเทอร์เน็ตไม่ได้
Subnet Mask คือตัวบอกว่า IP Address ส่วนไหนคือ Network Address และส่วนไหนคือ Host Address เปรียบเหมือนรหัสไปรษณีย์ ที่บอกว่าบ้านเลขที่นี้อยู่ในเขตไหน
ถ้า Subnet Mask ไม่ถูกต้อง อุปกรณ์ใน Network ก็จะไม่สามารถสื่อสารกันได้
การเริ่มต้นใช้งาน Pfsense ไม่ยากอย่างที่คิดครับ สิ่งที่เราต้องมีคือ:
คอมพิวเตอร์เครื่องนี้แหละครับ ที่เราจะลง Pfsense ให้มันกลายเป็น Firewall ของเรา
อันดับแรก ให้เราไปดาวน์โหลด Image ของ Pfsense จากเว็บไซต์ Pfsense.org จากนั้นก็ใช้โปรแกรมอย่าง Rufus หรือ Etcher เขียน Image ลง USB Drive
Boot คอมพิวเตอร์ของเราจาก USB Drive แล้วก็ทำตามขั้นตอนที่ปรากฏบนหน้าจอได้เลยครับ การติดตั้งไม่ซับซ้อนมาก ทำตามขั้นตอนไปเรื่อยๆ เดี๋ยวก็เสร็จ
หลังจากติดตั้งเสร็จ Pfsense จะให้เรากำหนดค่า Network Interface ว่า Interface ไหนคือ WAN (เชื่อมต่อกับอินเทอร์เน็ต) และ Interface ไหนคือ LAN (เชื่อมต่อกับ Network ภายในของเรา)
สมัยผมทำร้านเน็ต ผมจะกำหนดให้ Interface หนึ่งเชื่อมต่อกับ Router ของ True ส่วนอีก Interface หนึ่งเชื่อมต่อกับ Switch ที่ต่อกับเครื่องลูกข่าย
# ตัวอย่างการกำหนดค่า Interface ใน Pfsense
# WAN Interface: em0
# LAN Interface: em1
หลังจากกำหนดค่า Interface เสร็จแล้ว สิ่งที่ต้องทำต่อมาคือการตั้งค่า Firewall Rules เพื่อกำหนดว่า Traffic แบบไหนที่เราอนุญาตให้ผ่าน และ Traffic แบบไหนที่เราไม่อนุญาตให้ผ่าน
ยกตัวอย่างเช่น เราอาจจะอนุญาตให้ Traffic ที่มาจาก LAN ไปยัง WAN ผ่านได้ แต่ไม่อนุญาตให้ Traffic ที่มาจาก WAN เข้ามายัง LAN (ยกเว้น Traffic ที่เรา Request ไปเอง)
# ตัวอย่าง Firewall Rule
# Action: Pass
# Interface: LAN
# Source: LAN Net
# Destination: Any
# Protocol: Any
การตั้งค่า Firewall Rules ต้องใช้ความเข้าใจในเรื่อง Network พอสมควร แต่ไม่ต้องกังวลครับ ใน SiamCafe Blog มีบทความสอนเรื่องนี้อยู่ ลองเข้าไปอ่านดูได้
Pfsense ไม่ใช่ Firewall เพียงตัวเดียวในตลาด ยังมีทางเลือกอื่นๆ อีกมากมาย เช่น:
แต่ละตัวก็มีข้อดีข้อเสียแตกต่างกันไป แต่โดยรวมแล้ว Pfsense เป็นตัวเลือกที่คุ้มค่า เพราะใช้งานได้ฟรี และมี Feature ครบครัน
| Firewall | ราคา | ความยากในการใช้งาน | Feature |
|---|---|---|---|
| Pfsense | ฟรี | ปานกลาง | ครบครัน |
| OPNsense | ฟรี | ปานกลาง | ครบครัน |
| Sophos XG Firewall | มีทั้งแบบฟรีและเสียเงิน | ยาก | ครบครัน |
| Fortinet FortiGate | เสียเงิน | ยาก | ครบครัน |
ถ้าให้ผมแนะนำ สำหรับมือใหม่ที่อยากลองเล่น Firewall ผมว่า Pfsense หรือ OPNsense เป็นตัวเลือกที่ดี เพราะใช้งานได้ฟรี และมี Community ที่แข็งแกร่ง คอยช่วยเหลือเวลาเจอปัญหา
ส่วนใครที่ต้องการ Firewall ที่มี Feature ขั้นสูง และพร้อมจ่ายเงิน ผมก็แนะนำ Sophos XG Firewall หรือ Fortinet FortiGate ครับ แต่ต้องเตรียมตัวศึกษาเยอะหน่อย เพราะมันค่อนข้างซับซ้อน
สุดท้ายนี้ อยากฝากน้องๆ ว่า Security เป็นเรื่องสำคัญมากๆ ในยุคปัจจุบัน อย่ามองข้ามเรื่องนี้เด็ดขาด ลองศึกษาเรื่อง Firewall และ Security ต่างๆ ดู แล้วน้องๆ จะเข้าใจว่าทำไมมันถึงสำคัญ และจะสามารถปกป้องข้อมูลของตัวเองและองค์กรได้ดียิ่งขึ้นครับ SiamCafe Blog มีบทความดีๆ อีกเยอะ ลองเข้าไปอ่านกันดูนะครับ
เอาล่ะน้องๆ หลังจากที่เราเซ็ต PfSense Firewall กันไปแล้ว คราวนี้มาดู Best Practices หรือเคล็ดลับที่พี่บอมใช้จริงสมัยทำร้านเน็ต SiamCafe กันบ้างดีกว่า บอกเลยว่าพวกนี้ช่วยให้ชีวิตง่ายขึ้นเยอะ!
สมัยก่อนนี่โดน Hack บ่อยมาก พวกเกมส์ออนไลน์เอย เว็บไซต์เอย สารพัด แต่พอปรับตามนี้แล้วดีขึ้นเยอะเลยนะ
อันนี้สำคัญมาก! พวก Bot หรือ Malware มันชอบเปิด Connection จำนวนมหาศาล เพื่อ DoS เรา วิธีแก้คือจำกัดจำนวน Connection ต่อ IP
# เข้าไปที่ Firewall > Traffic Shaper > Limiter
# สร้าง Limiter ใหม่ ตั้งชื่อว่า "Limit_Connections"
# เลือก Interface ที่ต้องการจำกัด (เช่น WAN)
# Source Address: Single Host
# Target Address: Network
# Queue Length: 50 (ปรับได้ตามความเหมาะสม)
# Connections: 20 (อันนี้สำคัญ! จำกัดจำนวน Connection)
# Apply Changes
พี่เคยเจอเคสเครื่องลูกในร้านติดไวรัส แล้วมันพยายาม connect ออกไปข้างนอกเยอะมาก พอกำหนด limit connection แล้ว ช่วยลดปัญหาได้เยอะเลย
ถ้าเราไม่ได้ทำธุรกิจกับต่างประเทศ การ Block ประเทศที่ไม่เกี่ยวข้องไปเลย ก็ช่วยลดความเสี่ยงได้เยอะ สมัยก่อนพี่ Block พวกจีน รัสเซีย ไปเลย เพราะโดน Hack บ่อยมาก
# ต้องติดตั้ง Package "pfBlockerNG" ก่อนนะ
# เข้าไปที่ Firewall > pfBlockerNG > IP > GeoIP
# เลือก Continents หรือ Countries ที่ต้องการ Block
# Action: Deny Inbound
# Action: Deny Outbound
# Update Frequency: Daily
# Save และ Force Update
จำไว้ว่าต้อง Update ฐานข้อมูล GeoIP เป็นประจำนะ ไม่งั้นมันจะไม่อัพเดท
บาง Rule เราไม่ได้ต้องการให้มันทำงานตลอดเวลา เช่น Rule ที่อนุญาตให้เล่นเกมส์บางเกมส์ เราก็ตั้ง Schedule ให้มันเปิดเฉพาะช่วงเวลาที่ร้านเปิดได้
# เข้าไปที่ Firewall > Rules
# แก้ไข Rule ที่ต้องการ
# เลื่อนลงมาล่างสุด จะเจอส่วน "Schedule"
# เลือก Schedule ที่เราสร้างไว้ (ถ้ายังไม่มีก็สร้างใหม่)
# Save
สมัยก่อนพี่ใช้ Schedule Rules เพื่อจำกัดเวลาเล่นเกมส์ของเด็กๆ ในร้านด้วยนะ ได้ผลดีเลย
IDS อย่าง Suricata หรือ Snort ช่วยตรวจจับพวกการโจมตีแปลกๆ ได้ แต่ต้องปรับแต่งเยอะหน่อยนะ
# ติดตั้ง Package "Suricata" หรือ "Snort"
# เข้าไปที่ Services > Suricata หรือ Snort
# เลือก Interface ที่ต้องการ Monitor
# เลือก Ruleset ที่ต้องการใช้ (แนะนำ Emerging Threats)
# ปรับแต่ง Settings ตามความเหมาะสม
# Enable และ Start Service
ต้องคอยดู Logs บ่อยๆ นะ ว่ามัน Alert อะไรมาบ้าง แล้วค่อยปรับ Rule ให้เหมาะสม
Router ทั่วไปมันง่ายก็จริง แต่ความสามารถในการปรับแต่งมันน้อยมาก PfSense มันเหมือนเรามี Firewall ระดับ Enterprise ในราคาที่ถูกกว่าเยอะ แถม Open Source อีกต่างหาก
ไม่จำเป็นเสมอไป ถ้า Traffic ไม่เยอะมาก CPU Dual Core กับ RAM 4GB ก็พอแล้ว แต่ถ้า Traffic เยอะๆ ก็ต้องเพิ่ม Spec นะ
แนะนำให้อัพเดทเมื่อมี Version ใหม่ออกมา เพราะมันจะมี Patch แก้ Bug และ Security Vulnerabilities
เข้าไปที่ Diagnostics > Backup/Restore แล้ว Backup Configuration เก็บไว้ในที่ปลอดภัย เผื่อมีปัญหาจะได้ Restore กลับมาได้
ขึ้นอยู่กับ Hardware ที่ใช้ ถ้าเป็นพวก Mini PC ก็กินไฟไม่เยอะ แต่ถ้าเป็น Server Grade ก็อาจจะกินไฟเยอะหน่อย
PfSense Firewall เป็นเครื่องมือที่ทรงพลังมาก ถ้าเราตั้งค่าให้ดี มันจะช่วยปกป้อง Network ของเราได้อย่างมีประสิทธิภาพ แต่ก็ต้องศึกษาและปรับแต่งเยอะหน่อยนะ
หวังว่าบทความนี้จะเป็นประโยชน์กับน้องๆ นะ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลย
อย่าลืมเข้าไปดู iCafeForex ด้วยนะ เผื่อมีอะไรน่าสนใจ
และเข้าไปอ่านบทความอื่นๆ ใน SiamCafe Blog ด้วยนะ มีเรื่อง IT อีกเยอะแยะเลย!