คู่มือระดับมืออาชีพ: การตั้งค่า MikroTik Firewall เพื่อป้องกันการโจมตี DDoS อย่างมีประสิทธิภาพ
ในยุคที่การเชื่อมต่ออินเทอร์เน็ตกลายเป็นหัวใจหลักของทุกธุรกิจ ภัยคุกคามทางไซเบอร์โดยเฉพาะการโจมตีแบบ DDoS (Distributed Denial of Service) ได้ทวีความรุนแรงและซับซ้อนมากขึ้นเรื่อยๆ การโจมตีเหล่านี้ไม่ได้มุ่งเน้นเพียงแค่การเจาะระบบเพื่อขโมยข้อมูลเท่านั้น แต่มีเป้าหมายหลักคือการทำให้ระบบเครือข่ายหยุดชะงัก จนไม่สามารถให้บริการแก่ผู้ใช้งานปกติได้ สำหรับผู้ดูแลระบบที่ใช้งานอุปกรณ์ MikroTik การเข้าใจกลไกการทำงานของ Firewall และการปรับแต่งค่าคอนฟิกูเรชันอย่างถูกต้องจึงเป็นทักษะที่สำคัญอย่างยิ่งในการปกป้องโครงสร้างพื้นฐานขององค์กร
อุปกรณ์ MikroTik ซึ่งรันบนระบบปฏิบัติการ RouterOS มีความยืดหยุ่นสูงและมีฟีเจอร์ด้านความปลอดภัยที่ทรงพลังเทียบเท่ากับ Firewall ราคาแพงในท้องตลาด อย่างไรก็ตาม พลังที่ยิ่งใหญ่นี้มาพร้อมกับความรับผิดชอบในการตั้งค่าที่ละเอียดอ่อน หากตั้งค่าไม่เหมาะสม นอกจากจะไม่สามารถป้องกันการโจมตีได้แล้ว ยังอาจส่งผลกระทบต่อประสิทธิภาพการทำงานของเร้าเตอร์เอง บทความนี้จะเจาะลึกถึงกลยุทธ์การตั้งค่า MikroTik Firewall ตั้งแต่ระดับพื้นฐานไปจนถึงระดับสูง เพื่อสร้างเกราะป้องกันที่แข็งแกร่งรับมือกับการโจมตี DDoS ในรูปแบบต่างๆ
หัวใจสำคัญของการป้องกัน DDoS บน MikroTik ไม่ใช่เพียงการบล็อกทุกอย่างที่ขวางหน้า แต่คือการแยกแยะทราฟฟิกที่ “ดี” ออกจากทราฟฟิกที่ “ไม่พึงประสงค์” โดยใช้ทรัพยากรของ CPU ให้ประหยัดที่สุด เราจะสำรวจเทคนิคต่างๆ เช่น การใช้ Address Lists, การจำกัดอัตราการเชื่อมต่อ (Rate Limiting), และการจัดการกับโปรโตคอลที่มักถูกใช้เป็นเครื่องมือในการโจมตี เพื่อให้มั่นใจว่าเครือข่ายของคุณจะยังคงเสถียรแม้จะอยู่ภายใต้สภาวะการโจมตีที่รุนแรง
1. ทำความรู้จักกับการโจมตี DDoS และการเตรียมความพร้อมบน MikroTik

ก่อนที่จะเริ่มเขียนกฎ Firewall เราจำเป็นต้องเข้าใจก่อนว่าการโจมตี DDoS มักจะพุ่งเป้าไปที่ส่วนใดของระบบ โดยทั่วไปจะแบ่งออกเป็น 3 ประเภทหลัก ได้แก่ Volumetric Attacks (การส่งข้อมูลจำนวนมหาศาลเพื่อทำให้แบนด์วิดท์เต็ม), Protocol Attacks (การโจมตีช่องโหว่ของโปรโตคอล เช่น SYN Flood), และ Application Layer Attacks (การโจมตีระดับแอปพลิเคชัน เช่น HTTP Flood) สำหรับ MikroTik เรามักจะเน้นไปที่การป้องกันสองประเภทแรกเป็นหลัก เนื่องจากตัวเร้าเตอร์ทำหน้าที่ในเลเยอร์ที่ 3 และ 4 ของ OSI Model
ขั้นตอนแรกที่สำคัญที่สุดคือการตรวจสอบประสิทธิภาพของฮาร์ดแวร์ MikroTik ที่คุณใช้งานอยู่ การเปิดใช้งานฟีเจอร์ความปลอดภัยหลายอย่างพร้อมกันจะใช้ทรัพยากร CPU สูงมาก ดังนั้นก่อนเริ่มตั้งค่า ควรตรวจสอบว่า Connection Tracking ถูกเปิดใช้งานอยู่หรือไม่ (ซึ่งปกติจะเปิดโดยอัตโนมัติ) และพิจารณาการใช้ฟีเจอร์ FastTrack เพื่อช่วยลดภาระของ CPU ในการประมวลผลแพ็กเกจที่ได้รับการตรวจสอบแล้วว่าเป็นทราฟฟิกที่ปลอดภัย
ประเภทของการโจมตีที่พบบ่อยในระดับ Network Layer
- ICMP Flood: การส่งแพ็กเกจ Ping จำนวนมหาศาลเพื่อทำให้ทรัพยากรระบบหมดไป
- SYN Flood: การส่งคำขอเชื่อมต่อ TCP (SYN) ค้างไว้โดยไม่ตอบรับ เพื่อทำให้ตารางการเชื่อมต่อ (Connection Table) เต็ม
- UDP Flood: การส่งแพ็กเกจ UDP ไปยังพอร์ตต่างๆ เพื่อบังคับให้ระบบต้องตรวจสอบและตอบกลับ
2. การตั้งค่า ICMP Filtering และการจำกัดอัตราแพ็กเกจ (Rate Limiting)
โปรโตคอล ICMP หรือที่เรารู้จักกันดีในคำสั่ง Ping มักถูกใช้เป็นเครื่องมือในการตรวจสอบสถานะเครือข่าย แต่ในขณะเดียวกันก็เป็นช่องทางยอดนิยมในการทำ DDoS การปล่อยให้เร้าเตอร์ตอบสนองต่อทุกคำขอ ICMP โดยไม่มีการควบคุม จะทำให้เร้าเตอร์ทำงานหนักเกินความจำเป็นในช่วงที่โดนโจมตี การตั้งค่าที่ดีควรอนุญาตเฉพาะ ICMP ที่จำเป็นและจำกัดจำนวนแพ็กเกจต่อวินาทีที่เร้าเตอร์จะยอมรับ
นอกจากการจำกัด ICMP แล้ว การทำ Connection Limit สำหรับการเชื่อมต่อใหม่ (New Connections) จาก IP แหล่งกำเนิดเดียวก็เป็นสิ่งสำคัญ วิธีนี้จะช่วยป้องกันไม่ให้บอทเน็ต (Botnet) ตัวเดียวสามารถสร้างการเชื่อมต่อจำนวนมหาศาลเพื่อยึดครองทรัพยากรของเร้าเตอร์ได้ โดยเราสามารถใช้คุณสมบัติ connection-limit ใน Firewall Filter เพื่อจำกัดจำนวนการเชื่อมต่อพร้อมกันจากแต่ละ IP Address
ตัวอย่างการตั้งค่า ICMP Rate Limit และการบล็อกแพ็กเกจที่ผิดปกติ
โค้ดด้านล่างนี้แสดงวิธีการจำกัดการตอบสนองต่อ ICMP และการกำจัดแพ็กเกจที่ไม่สมบูรณ์ (Invalid Packets) ซึ่งเป็นพื้นฐานสำคัญในการลดภาระของเร้าเตอร์
/ip firewall filter
add chain=input protocol=icmp icmp-options=8:0 limit=2,5:packet action=accept comment="Allow limited Ping"
add chain=input protocol=icmp action=drop comment="Drop excess ICMP"
add chain=input connection-state=invalid action=drop comment="Drop Invalid connections"
add chain=forward connection-state=invalid action=drop comment="Drop Invalid connections through router"
3. การป้องกัน SYN Flood ด้วยเทคนิค SYN Cookies และ Filter Rules
การโจมตีแบบ SYN Flood เป็นหนึ่งในเทคนิคที่สร้างความเสียหายได้มากที่สุด เพราะมันใช้กลไกการทำงานปกติของ TCP Handshake มาเป็นอาวุธ เมื่อมีคำขอ SYN เข้ามาจำนวนมาก เร้าเตอร์จะรอการตอบกลับ ACK ซึ่งไม่มีวันมาถึง ทำให้หน่วยความจำที่ใช้เก็บสถานะการเชื่อมต่อเต็ม การรับมือเรื่องนี้ใน MikroTik สามารถทำได้โดยการเปิดใช้งาน TCP SYN Cookies ในเมนู IP Settings ซึ่งจะช่วยให้เร้าเตอร์ไม่ต้องเก็บสถานะการเชื่อมต่อจนกว่าการทำ Handshake จะเสร็จสมบูรณ์
นอกจากนี้ เรายังสามารถสร้างกฎใน Firewall Filter เพื่อตรวจจับและกักกัน IP ที่มีพฤติกรรมพยายามสร้างการเชื่อมต่อ TCP SYN ในอัตราที่สูงผิดปกติ โดยการใช้ Address Lists เพื่อจัดเก็บรายชื่อ IP ที่ต้องสงสัยเป็นการชั่วคราว (Dynamic Blacklist) วิธีนี้จะช่วยให้ระบบป้องกันตัวเองได้อย่างอัตโนมัติโดยที่ผู้ดูแลระบบไม่ต้องเข้ามาจัดการด้วยตนเองตลอดเวลา
การใช้ Firewall Filter เพื่อตรวจจับพฤติกรรม SYN Flood
ตัวอย่างโค้ดนี้จะสร้างระบบตรวจจับ IP ที่ส่ง SYN มามากเกินไป และนำ IP นั้นไปใส่ไว้ในกลุ่ม “syn_flood” เป็นเวลา 30 นาที เพื่อทำการบล็อกในขั้นตอนถัดไป
/ip firewall filter
add chain=forward protocol=tcp tcp-flags=syn connection-state=new \
limit=200,500:packet action=accept comment="Allow normal SYN rate"
add chain=forward protocol=tcp tcp-flags=syn connection-state=new \
action=add-src-to-address-list address-list=syn_flood address-list-timeout=30m \
comment="Detect and List SYN Flooders"
add chain=forward src-address-list=syn_flood action=drop comment="Drop SYN Flooders"
4. การจัดการกับ UDP Flood และการป้องกัน DNS Amplification
การโจมตีด้วย UDP Flood นั้นจัดการได้ยากกว่า TCP เนื่องจาก UDP เป็นโปรโตคอลแบบ Connectionless ซึ่งไม่มีการทำ Handshake ผู้โจมตีมักจะปลอมแปลง IP แหล่งกำเนิด (IP Spoofing) ได้ง่าย วิธีป้องกันที่มีประสิทธิภาพบน MikroTik คือการระบุพอร์ตที่จำเป็นต้องใช้งานจริงๆ และจำกัดการเข้าถึงพอร์ตอื่นๆ นอกจากนี้ยังต้องระวังการโจมตีแบบ DNS Amplification ซึ่งผู้โจมตีจะใช้ DNS Server ของเราเป็นเครื่องมือในการสะท้อนการโจมตีไปยังเป้าหมายอื่น
หาก MikroTik ของคุณไม่ได้ทำหน้าที่เป็น Public DNS Server คุณควรปิดการรับคำขอ DNS จากภายนอก (Allow Remote Requests: No) หรือสร้างกฎ Firewall เพื่อบล็อกพอร์ต 53 (UDP) จากฝั่ง WAN Interface ทันที การทำเช่นนี้ไม่เพียงแต่ปกป้องตัวเร้าเตอร์เอง แต่ยังป้องกันไม่ให้เร้าเตอร์ของคุณกลายเป็นส่วนหนึ่งของการโจมตีผู้อื่นอีกด้วย
แนวทางการป้องกัน UDP Flood
- จำกัดขนาดแพ็กเกจ UDP: การโจมตีมักใช้แพ็กเกจขนาดใหญ่ การจำกัดขนาดอาจช่วยกรองข้อมูลที่ผิดปกติได้
- บล็อกพอร์ตที่ไม่ได้ใช้งาน: ปิดพอร์ต UDP ที่มักถูกใช้โจมตี เช่น 123 (NTP), 1900 (SSDP) หากไม่จำเป็น
- ใช้ Raw Firewall: ใน MikroTik เวอร์ชันใหม่ การใช้ IP Firewall Raw จะช่วยลดภาระ CPU ได้มหาศาล เพราะมันประมวลผลก่อน Connection Tracking
5. การใช้ Address Lists และการสร้างระบบป้องกันแบบ Blacklist อัตโนมัติ
ฟีเจอร์ Address Lists ใน MikroTik เป็นเครื่องมือที่ทรงพลังที่สุดอย่างหนึ่งในการจัดการกับ DDoS ด้วยความสามารถในการทำงานแบบ Dynamic เราสามารถเขียนกฎเพื่อ “ลงโทษ” IP ที่มีพฤติกรรมไม่เหมาะสม เช่น การสแกนพอร์ต (Port Scanning) หรือการพยายามล็อกอินเข้าระบบบ่อยเกินไป โดยการนำ IP เหล่านั้นเข้าสู่บัญชีดำโดยอัตโนมัติ
การสร้างระบบ Automatic Blacklisting ควรทำด้วยความระมัดระวังเพื่อป้องกันปัญหา False Positive หรือการบล็อกผู้ใช้งานจริงโดยไม่ตั้งใจ แนะนำให้ตั้งค่า Timeout สำหรับ Address List ไว้ในช่วงเวลาที่เหมาะสม (เช่น 1 ชั่วโมง หรือ 1 วัน) แทนการบล็อกถาวร และควรมีการยกเว้น (Whitelist) สำหรับ IP ของผู้ดูแลระบบหรือพาร์ทเนอร์ที่สำคัญไว้เสมอ
ข้อดีของการใช้ Address Lists ในการป้องกัน DDoS
- ประสิทธิภาพสูง: การตรวจสอบรายการ IP ใน Address List ใช้ทรัพยากรน้อยกว่าการตรวจสอบกฎ Filter Rules หลายๆ ข้อ
- ความเป็นอัตโนมัติ: ระบบสามารถตอบสนองต่อการโจมตีได้ทันทีในระดับวินาที โดยไม่ต้องรอการตัดสินใจจากมนุษย์
- ความยืดหยุ่น: สามารถกำหนดระยะเวลาการบล็อกได้ตามความรุนแรงของพฤติกรรมที่ตรวจพบ
สรุป
การป้องกันการโจมตี DDoS บน MikroTik ไม่ใช่การตั้งค่าเพียงครั้งเดียวแล้วจบไป แต่เป็นกระบวนการต่อเนื่องที่ต้องอาศัยการสังเกตการณ์และการปรับแต่งให้เข้ากับสถานการณ์ การเริ่มจากพื้นฐานที่แข็งแกร่งอย่างการตั้งค่า ICMP Rate Limiting, การเปิดใช้งาน SYN Cookies, และการจัดการ UDP Traffic จะช่วยลดความเสี่ยงได้มหาศาล นอกจากนี้ การประยุกต์ใช้ Address Lists เพื่อสร้างระบบ Blacklist อัตโนมัติยังเป็นกลยุทธ์อัจฉริยะที่ช่วยแบ่งเบาภาระของผู้ดูแลระบบเครือข่าย
อย่างไรก็ตาม พึงระลึกไว้เสมอว่าอุปกรณ์ฮาร์ดแวร์ทุกชิ้นมีขีดจำกัด หากการโจมตีมีขนาดใหญ่กว่าแบนด์วิดท์ที่ได้รับจาก ISP (Volumetric Attack) การตั้งค่าในเร้าเตอร์เพียงอย่างเดียวอาจไม่เพียงพอ ในกรณีดังกล่าว การประสานงานกับผู้ให้บริการอินเทอร์เน็ตเพื่อทำ DDoS Mitigation ในระดับต้นทางจึงเป็นสิ่งที่จำเป็น บทความนี้หวังว่าจะเป็นแนวทางให้คุณสามารถใช้ศักยภาพของ MikroTik ได้อย่างเต็มที่เพื่อสร้างเครือข่ายที่ปลอดภัยและมั่นคงสืบไป





