🛡️ คู่มือติดตั้งและใช้งาน Fail2Ban สำหรับป้องกัน SSH

🛡️ คู่มือติดตั้งและใช้งาน Fail2Ban สำหรับป้องกัน SSH

Fail2Ban คือเครื่องมือบนลินุกซ์ที่ช่วย ป้องกันการโจมตีแบบ brute-force โดยการตรวจจับ log และสั่งบล็อก IP อัตโนมัติผ่าน firewall เช่น iptables

🧠 Fail2Ban ทำงานยังไง?

  1. ตรวจจับ log จาก /var/log/auth.log หรือ /var/log/secure
  2. พบพฤติกรรม login ล้มเหลวซ้ำ ๆ → แบน IP
  3. ใช้ร่วมกับ 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