แม้จะล็อกทุกอย่างแน่นหนาแล้ว บอทก็ไม่เคยหยุดลองเดารหัสผ่านที่พอร์ต 22 — มันคือสัญญาณรบกวนและภาระที่เกิดขึ้นตลอดเวลาในพื้นหลัง fail2ban คอยเฝ้าดู log ของคุณและแบน IP ใดๆ ที่ล็อกอินผิดพลาดซ้ำๆ โดยอัตโนมัติ ทำให้ผู้โจมตีถูกปิดกั้นหลังจากลองไม่กี่ครั้ง แทนที่จะเดาไปเรื่อยๆ ไม่มีที่สิ้นสุด เป็นการติดตั้งเล็กๆ ที่ลด log spam ได้มาก
1. ติดตั้ง fail2ban
sudo apt update && sudo apt install -y fail2ban
2. สร้างไฟล์คอนฟิกท้องถิ่น
อย่าแก้ไฟล์ jail.conf ที่มาพร้อมระบบโดยตรง — ให้ override ผ่าน jail.local แทน:
sudo tee /etc/fail2ban/jail.local > /dev/null <<'EOF'
[DEFAULT]
# don't ban yourself — add your home/office IP
ignoreip = 127.0.0.1/8 ::1
bantime = 1h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
EOF
การตั้งค่านี้จะแบน IP เป็นเวลา 1 ชั่วโมงหลังจากล็อกอินผิดพลาด 5 ครั้งภายใน 10 นาที ให้เพิ่ม IP ของคุณเองลงใน ignoreip เพื่อไม่ให้การพิมพ์รหัสผ่านผิดพลาดโดยไม่ตั้งใจทำให้คุณถูกล็อกออก
3. เริ่มการทำงานและตั้งให้เปิดเองตอนบูต
sudo systemctl enable --now fail2ban
4. ตรวจสอบ SSH jail
sudo fail2ban-client status sshd
คุณจะเห็นจำนวน IP ที่ถูกแบนอยู่ในขณะนี้ — บ่อยครั้งเป็นตัวเลขที่น่าประหลาดใจภายในไม่กี่นาที
จัดการการแบน
sudo fail2ban-client set sshd unbanip 1.2.3.4 # lift a ban
sudo fail2ban-client status # list all jails
sudo systemctl reload fail2ban # apply config changes
ข้อควรระวังที่ต้องพูดตรงๆ
- เพิ่ม IP ของคุณเองลงใน
ignoreipเพื่อไม่ให้การพิมพ์ผิดซ้ำๆ ทำให้คุณถูกแบน หากถูกแบนจริง ให้รอจนหมด bantime หรือใช้คอนโซลของผู้ให้บริการ — EQVPS มอบให้กับ VPS ทุกเครื่อง - fail2ban เสริม ไม่ได้แทนที่ SSH key กุญแจหยุดการเดาไม่ให้สำเร็จได้ตั้งแต่ต้น ส่วน fail2ban หยุดเสียงรบกวนและปกป้องบริการอื่นๆ ด้วย
- ปรับแต่งตามความเหมาะสม:
bantimeที่นานขึ้นจะยับยั้งผู้โจมตีที่พยายามซ้ำๆ ไม่หยุด แต่หากตั้งเข้มเกินไปก็เสี่ยงที่จะแบนการเชื่อมต่อที่ไม่เสถียรของผู้ใช้จริงด้วย
ขั้นตอนถัดไป
fail2ban เป็นเพียงหนึ่งชั้นของการเสริมความแข็งแกร่งให้เซิร์ฟเวอร์ ควรใช้ร่วมกับ การยืนยันตัวตนด้วย SSH key และ ไฟร์วอลล์ UFW แล้วทำตาม เช็กลิสต์ความปลอดภัยสำหรับ VPS ใหม่ ให้ครบก่อนที่จะเปิดใช้งานสิ่งใดสู่อินเทอร์เน็ต
ความคิดเห็น
ยังไม่มีความคิดเห็น เป็นคนแรกสิ