ความปลอดภัยของเซิร์ฟเวอร์เป็นสิ่งที่เราต้องให้ความสำคัญอยู่เสมอ ซึ่งการรู้วิธีป้องกันไว้ก่อนก็ดีกว่าอยู่แล้ว โดยเฉพาะการถูกโจมตี แบบ Brute Force ที่แฮกเกอร์จะพยายามเดารหัสผ่านเข้าเซิร์ฟเวอร์ซ้ำแล้วซ้ำอีกจนกว่าจะสำเร็จ และวิธีป้องกันที่นิยมใช้กันมากก็คือการตั้งค่า iptables เพราะมันช่วยบล็อกการเชื่อมต่อที่ผิดปกติได้โดยตรง และทำงานเบื้องหลังแบบอัตโนมัติ
ทำไมต้องใช้ iptables เพื่อป้องกัน Brute Force
การโจมตี Brute Force มักเกิดขึ้นกับ SSH (port 22) ซึ่งเป็นทางเข้าหลักของเซิร์ฟเวอร์ ถ้าไม่มีการป้องกัน เหล่าแฮกเกอร์ก็สามารถสุ่มรหัสผ่านจนเข้าสู่ระบบได้ แต่เมื่อเราใช้ iptables จะช่วยลดความเสี่ยงนี้ด้วยการ “บล็อก” IP ที่พยายามเชื่อมต่อผิดซ้ำ ๆ ในเวลาสั้น ๆ เช่นสามารถตั้งกฎง่าย ๆ ว่า
“ถ้ามีคนพยายามเดารหัสเกิน X ครั้งภายใน Y วินาที ให้บล็อกไปเลย” แค่นี้ก็ลดความเสี่ยงไปได้เยอะแล้ว
การตั้งค่า iptables เพื่อป้องกันการโจมตี
1. ป้องกัน SSH Brute Force ด้วย module “recent” การใช้ module “recent” ของ iptables
root@server:~# sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
root@server:~# sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP
root@server:~#
สามารถจำกัดจำนวนการเชื่อมต่อ SSH ซ้ำ ๆ ได้ เช่น หาก IP ใดพยายามล็อกอินเกิน 3 ครั้งใน 60 วินาที จะถูกบล็อกทันที
คำอธิบาย:
- บรรทัดแรกใช้เพื่อบันทึก IP ที่เชื่อมต่อใหม่เข้ามา
- บรรทัดที่สองคือการตั้งกฎ หากมีการเชื่อมต่อเกิน 3 ครั้งใน 60 วินาที จะถูก DROP (บล็อก) ไปเลย
2. จำกัด Port Scan และ SYN/XMAS Attack
root@server:~# sudo iptables -N port-scanning
root@server:~# sudo iptables -A port-scanning -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s --limit-burst 2 -j RETURN
root@server:~# sudo iptables -A port-scanning -j DROP
root@server:~#
ผู้โจมตีบางรายอาจใช้ Port Scan หรือแพ็กเก็ตที่ผิดปกติ เช่น SYN flood หรือ XMAS scan เพื่อหาช่องโหว่ของระบบ ซึ่งโค้ดด้านบนนี้สร้าง chain port-scanning ขึ้นมาเพื่อจับพฤติกรรมสแกนพอร์ตที่ผิดปกติ หากเกินค่าที่กำหนดจะถูกบล็อกทันที
3. บล็อก Ping และ Traceroute
root@server:~# sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
root@server:~#
การปิดการตอบสนอง Ping (ICMP Echo) และการตรวจสอบเส้นทางด้วย Traceroute สามารถช่วยลดโอกาสในการถูกตรวจสอบจากผู้ไม่หวังดี คำสั่งด้านล่างนี้คือการปิดไม่ให้เครื่องของคุณตอบสนองต่อการ Ping ซึ่งช่วยปิดบังเซิร์ฟเวอร์จากการถูกค้นหาในเครือข่าย
เคล็ดลับจาก VPS HiSpeed
- ใช้ fail2ban ร่วมกับ iptables
Fail2ban เป็นเครื่องมือที่ช่วยตรวจสอบ log ของระบบ หากพบว่ามีการพยายามล็อกอินผิดซ้ำ ๆ จะสั่ง iptables ให้บล็อก IP นั้นโดยอัตโนมัติ
- เปลี่ยนพอร์ต SSH และใช้ key-based authentication
ถ้าอยากปลอดภัยสุด ๆ แนะนำให้ใช้ SSH Key แทนการพิมพ์รหัสผ่าน เพราะแม้เดารหัสผ่านไม่เจอ ก็จะล็อกอินเข้าระบบไม่ได้อยู่ดี - ผู้ดูแลระบบจำนวนมากนิยมใช้การผสมผสาน เช่น การตั้งค่า iptables + ใช้ Fail2ban + เปลี่ยนพอร์ต SSH และใช้ SSH key authentication วิธีนี้ช่วยให้ VPS ของคุณปลอดภัยขึ้นหลายเท่าและลดความเสี่ยงจากการโจมตีด้วย Brute Force ได้จริง
- คุณสามารถลบการตั้งค่าของ iptables ได้ ตลอด หากต้องการเริ่มต้นใหม่ แก้ปัญหาข้อผิดพลาด หรือต้องการปรับปรุงความปลอดภัยเพิ่มขึ้น
สรุป
การป้องกัน Brute Force Attack ไม่จำเป็นต้องซับซ้อนเสมอไป เพียงแค่ตั้งค่า iptables บางอย่าง เช่น บล็อกการพยายามเข้าเกินจำนวนครั้งที่กำหนด ลดความเสี่ยงจากการสแกนพอร์ต และปิด Ping ก็ช่วยให้ VPS ของคุณปลอดภัยขึ้นมากแล้ว
ถ้าคุณอยากให้ VPS ของตัวเองปลอดภัยและพร้อมใช้งานอยู่เสมอ ลองนำวิธีเหล่านี้ไปปรับใช้ได้เลย และถ้าอยากได้ VPS ที่เสถียร แรง และมาพร้อมกับระบบที่มีประสิทธิภาพ VPS HiSpeed ก็พร้อมช่วยให้คุณใช้งานเซิร์ฟเวอร์ได้อย่างสบายใจตลอด 24 ชั่วโมง
ติดต่อสอบถามข้อมูลเพิ่มเติม เช่า vps server ได้ที่หน้าเฟสบุ้ค หรือไลน์แอด VPS HiSpeed
นิกร รักยิ่งงาม
นิกรเป็นผู้เชี่ยวชาญด้าน IT Support มากกว่า 12 ปี รับผิดชอบการช่วยเหลือลูกค้าด้านเทคนิคเกี่ยวกับ Windows Server, Linux Server, Forex VPS, Web Server, เว็บไซต์ CMS รวมถึงการตั้งค่า Domain และ DNS โดยเน้นการแก้ปัญหาแบบเข้าใจง่าย ทำให้ระบบกลับมาใช้งานได้เสถียรและปลอดภัย
นิกร รักยิ่งงาม
นิกรเป็นผู้เชี่ยวชาญด้าน IT Support มากกว่า 12 ปี รับผิดชอบการช่วยเหลือลูกค้าด้านเทคนิคเกี่ยวกับ Windows Server, Linux Server, Forex VPS, Web Server, เว็บไซต์ CMS รวมถึงการตั้งค่า Domain และ DNS โดยเน้นการแก้ปัญหาแบบเข้าใจง่าย ทำให้ระบบกลับมาใช้งานได้เสถียรและปลอดภัย


