🛡️ คู่มือติดตั้งและใช้งาน Fail2Ban สำหรับป้องกัน SSH
Fail2Ban คือเครื่องมือบนลินุกซ์ที่ช่วย ป้องกันการโจมตีแบบ brute-force โดยการตรวจจับ log และสั่งบล็อก IP อัตโนมัติผ่าน firewall เช่น iptables
🧠 Fail2Ban ทำงานยังไง?
- ตรวจจับ log จาก
/var/log/auth.log
หรือ/var/log/secure
- พบพฤติกรรม login ล้มเหลวซ้ำ ๆ → แบน IP
- ใช้ร่วมกับ iptables/firewalld เพื่อสั่ง block
⚙️ ขั้นตอนการติดตั้ง Fail2Ban
✅ สำหรับ Ubuntu / Debian
sudo apt update
sudo apt install fail2ban -y
✅ สำหรับ CentOS / Rocky / Alma
sudo dnf install epel-release -y
sudo dnf install fail2ban -y
🧾 ตรวจสอบสถานะ Fail2Ban
sudo systemctl status fail2ban
ถ้าไม่ทำงานให้สั่ง:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
🛡️ ป้องกัน SSH ด้วย Jail sshd
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
ตั้งค่า:
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 5
findtime = 600
bantime = 1800
🔎 ตรวจสอบ IP ที่ถูกแบน
sudo fail2ban-client status sshd
sudo fail2ban-client status sshd | grep Banned
🔓 ปลดแบน IP
sudo fail2ban-client set sshd unbanip 192.168.1.10
🔥 เคล็ดลับเพิ่มเติม
bantime = -1
→ แบนถาวร- เพิ่ม IP ใน whitelist:
ignoreip = 127.0.0.1/8 192.168.1.0/24
📌 สรุป
สิ่งที่ Fail2Ban ทำได้ | รายละเอียด |
---|---|
ป้องกัน brute-force | ✅ |
ทำงานอัตโนมัติ | ✅ |
ตรวจสอบผ่าน log | ✅ |
แก้ config ได้ง่าย | ✅ |
✍️ สุดท้าย
Fail2Ban คือเพื่อนรักของแอดมินลินุกซ์ ปรับแต่งไม่ยาก ทำงานอัตโนมัติ และช่วยชีวิตเซิร์ฟเวอร์ของคุณจากบอททั่วโลกได้อย่างจริงจัง
🐧 เรียนรู้ เติบโต และแบ่งปัน บนเส้นทางของโอเพ่นซอร์ส — LinuxSEA.com