Fail2Ban แบน ip ผู้ที่พยายามสุ่มรหัส login

20 Jun 2016

Share to:

server ที่ online อยู่บน internet เพื่อเปิดเป็น web server หรือ อื่นๆ จําเป็นจะต้องเปิดใช้งาน SSH เพื่อ remote เข้าไปควบคุมเครื่อง server จากที่ใดก็ได้ผ่านทาง internet ซึ่งจะใช้ user และ password ในการ login เข้าใช้งาน

ปัญหาอยู่ตรงนี้ครับ เมื่อมัน online บน internet ใครๆ ก็สามารถเข้าถึง SSH ของ server เราได้ และแน่นอน ผู้ไม่หวังดีสามารถสุ่มรหัส login เข้า server ของเราไปเรื่อยๆจนเจอรหัสที่ถูกต้อง เรียกการโจมตีแบบนี้ว่า brute force จากรูปจะเห็นว่ามีการ login เข้าเครื่อง server ของเราเป็นจํานวนมาก

Image

เราสามารถเพิ่มความปลอดภัยให้กับ server ของเราได้ด้วย Fail2Ban

Fail2Ban คืออะไร

Fail2Ban เป็น service ตัวนึงที่คอยตรวจสอบการ login โดยถ้ามีการ login เข้ามาแล้วใส่ password ผิดเกินจํานวนครั้งที่กําหนด Fail2Ban จะทําการ แบน ip นั้นทันที เราสามารถ config ค่าต่างๆได้ เช่น ยอมให้ใส่ password ผิดได้กี่ครั้ง แบนกี่นาที ฯลฯ

วิธีติดตั้ง Fail2Ban

เริ่มติดตั้ง Fail2Ban ด้วยคําสั่ง

sudo apt-get update
sudo apt-get install fail2ban

หลังจาดติดตั้งเสร็จเรียบร้อย จะต้องไป config ค่าต่างๆก่อน โดยใช้คําสั่ง

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

ภายใน file config ผมจะอธิบายในส่วนที่สําคัญๆ ดังนี้ ignoreip คือการบอกว่าไม่ต้องตรวจสอบ ip นี้ ให้ config ตามนี้ครับ

ignoreip = 127.0.0.1/8

bantime คือระยะเวลาในการแบนไอพี หน่วนเป็นวินาที ในตัวอย่างนี้ผม set เป็น 10 นาที

bantime = 600

maxretry คือ จํานวนครั้งที่ยอมให้ใส่ password ผิด

maxretry = 3

backend  ให้ config ตามนี้ได้เลย

backend = auto

save file config ให้เรียบร้อย Restart service 1 ครั้ง ด้วยคําสั่ง

sudo service fail2ban restart

เสร็จสิ้นการติดตั้ง ถ้าต้องการจะดูว่า ณ. เวลานี้มี ip ใดบ้างที่ ถูกแบน ให้ใช้คําสั่ง

sudo iptables -L

Copyright © 2019 - 2025 thiti.dev |  v1.45.0 |  Privacy policy | 

Build with ❤️ and Astro.

Github profile   Linkedin profile   Instagram   X profile   Nostr   Youtube channel   Telegram   Email contact   วงแหวนเว็บ