ลดความยุ่งยากในการใช้คลาวด์ พูดคุยกับเจ้าหน้าที่

Home ปลดบล็อก IP ที่ถูก Fail2Ban แบนบน Plesk

ปลดบล็อก IP ที่ถูก Fail2Ban แบนบน Plesk

Plesk มีระบบ IP Address Banning ซึ่งใช้ Fail2Ban อ่าน Log ของบริการต่าง ๆ เมื่อพบว่า IP ใดใส่รหัสผ่านผิดติดกันหลายครั้งในช่วงเวลาสั้น ๆ ก็จะบล็อก IP นั้นที่ Firewall ของเซิร์ฟเวอร์ชั่วคราว ช่วยกันบอตเดารหัสผ่านได้ดี แต่บางครั้งก็บล็อกผู้ใช้จริง เช่น พนักงานที่เปลี่ยนรหัสผ่านอีเมลแล้วลืมแก้ในโทรศัพท์ ทำให้ทั้งสำนักงานที่ใช้ IP เดียวกันเข้าอีเมลหรือเว็บไม่ได้

อาการที่บ่งชี้ว่าถูก Fail2Ban บล็อก คือเข้าได้จากเครือข่ายอื่น (เช่น ใช้ 4G ของโทรศัพท์) แต่เข้าจากสำนักงานไม่ได้เลย ทั้งเว็บไซต์ อีเมล และหน้า Plesk โดยมักขึ้นว่า Connection timed out คู่มือนี้อธิบายวิธีหาและปลดบล็อก IP พร้อมป้องกันไม่ให้เกิดซ้ำ

สิ่งที่ต้องเตรียม

  • สิทธิ์ผู้ดูแลเซิร์ฟเวอร์ Plesk (Administrator) หรือสิทธิ์ root ผ่าน SSH หน้า IP Address Banning ไม่มีในบัญชีระดับลูกค้าของ Hosting แบบแชร์ ถ้าคุณใช้ Hosting แบบนั้น ให้แจ้ง IP ของคุณกับทีมซัพพอร์ตแทน
  • IP สาธารณะของเครือข่ายที่ถูกบล็อก ดูได้จากเว็บตรวจ IP เช่น ค้นหาคำว่า "what is my IP" จากเครื่องในสำนักงาน
  • เครือข่ายสำรองที่ยังเข้าเซิร์ฟเวอร์ได้ เช่น ปล่อย Hotspot จากโทรศัพท์ เพราะคุณจะเข้า Plesk จาก IP ที่ถูกบล็อกไม่ได้

ขั้นตอนที่ 1: หา IP ในรายการที่ถูกแบนผ่านหน้า Plesk

  1. เชื่อมต่ออินเทอร์เน็ตผ่านเครือข่ายสำรอง แล้วเข้า Plesk ด้วยบัญชี Administrator
  2. ไปที่ Tools & Settings ในหัวข้อ Security คลิก IP Address Banning (Fail2Ban)
  3. เปิดแท็บ Banned IP Addresses จะเห็นรายการ IP พร้อมชื่อ Jail ที่แบน
  4. ค้นหา IP ของคุณ แล้วจดชื่อ Jail ไว้ เพราะช่วยบอกสาเหตุได้
Jailบริการที่ตรวจสาเหตุที่พบบ่อย
plesk-dovecotIMAP/POP3โทรศัพท์หรือ Outlook ยังใช้รหัสผ่านอีเมลเก่า
plesk-postfixSMTPตั้งค่าส่งอีเมลผิดรหัสผ่าน เช่น เครื่องพิมพ์ที่สแกนส่งอีเมล
plesk-panelหน้า Login ของ Pleskใส่รหัสผ่าน Plesk ผิดหลายครั้ง
plesk-proftpdFTPโปรแกรม FTP บันทึกรหัสผ่านเก่า
plesk-roundcubeWebmailใส่รหัสผ่าน Webmail ผิด
plesk-wordpressหน้า Login ของ WordPressLogin WordPress ผิดซ้ำ ๆ (เมื่อเปิด Jail นี้ไว้)
ssh หรือ sshdSSHSSH ด้วยรหัสผ่านหรือ Key ผิด
recidiveทุก JailIP ถูกแบนซ้ำหลายรอบ จึงถูกแบนนานขึ้น

ชื่อ Jail จริงบนเซิร์ฟเวอร์ของคุณดูได้ที่แท็บ Jails ในหน้าเดียวกัน

ขั้นตอนที่ 2: ปลดบล็อก IP

  1. ในแท็บ Banned IP Addresses ติ๊กหน้า IP ที่ต้องการ
  2. คลิก Unban เพื่อปลดบล็อก หรือคลิก Trust (ในบางเวอร์ชันแสดงเป็นปุ่มเพิ่มไปยัง Trusted) เพื่อปลดบล็อกและเพิ่ม IP เข้ารายการที่จะไม่ถูกแบนอีก

ถ้าเข้า Plesk ไม่ได้เลย ให้ SSH เข้าเซิร์ฟเวอร์ด้วยสิทธิ์ root จากเครือข่ายสำรอง แล้วใช้คำสั่งของ Plesk ดูรายการที่ถูกแบน

plesk bin ip_ban --banned

ผลลัพธ์จะแสดงเป็น IP คู่กับชื่อ Jail และเวลาที่เหลือ จากนั้นปลดบล็อกด้วยรูปแบบ IP,ชื่อJail

plesk bin ip_ban --unban 203.0.113.50,plesk-dovecot

หากต้องการใช้คำสั่งของ Fail2Ban โดยตรง ก็ทำได้เช่นกัน

fail2ban-client status plesk-dovecot
fail2ban-client set plesk-dovecot unbanip 203.0.113.50

คำสั่งแรกแสดงจำนวนครั้งที่ผิดและรายการ IP ใน Jail นั้น คำสั่งที่สองปลดบล็อก และจะตอบกลับเป็นเลข 1 เมื่อสำเร็จ

ขั้นตอนที่ 3: แก้ต้นเหตุก่อน ไม่อย่างนั้นจะถูกแบนซ้ำ

การปลดบล็อกเป็นแค่การแก้ปลายเหตุ ถ้าอุปกรณ์ที่ใส่รหัสผ่านผิดยังพยายามเชื่อมต่ออยู่ IP จะถูกแบนอีกภายในไม่กี่นาที ให้ไล่ตรวจตามชื่อ Jail เช่น ถ้าเป็น plesk-dovecot ให้ตรวจทุกเครื่องที่ตั้งค่าอีเมลไว้ ทั้งโทรศัพท์ แท็บเล็ต Outlook บนคอมพิวเตอร์เก่า และเครื่องพิมพ์ จากนั้นแก้รหัสผ่านให้ตรงกัน ดู Log เพื่อหาบัญชีที่ Login ผิดได้จาก

grep "auth failed" /var/log/maillog | tail -n 20      # AlmaLinux / Rocky
grep "auth failed" /var/log/mail.log | tail -n 20     # Ubuntu

ข้อความใน Log จะมีชื่อผู้ใช้ เช่น user=<[email protected]> ทำให้รู้ว่าต้องแก้ที่บัญชีใด

ขั้นตอนที่ 4: เพิ่ม IP สำนักงานเป็น Trusted (ถ้าเหมาะสม)

ถ้าสำนักงานมี IP คงที่ ให้เพิ่มในแท็บ Trusted IP Addresses ด้วยปุ่ม Add Trusted IP หรือใช้คำสั่ง

plesk bin ip_ban --add-trusted 203.0.113.50

อย่าเพิ่ม IP แบบ Dynamic หรือ IP ของเครือข่ายสาธารณะ เช่น Wi-Fi ร้านกาแฟ เพราะเท่ากับยกเว้นการป้องกันให้คนอื่นที่ใช้ IP นั้นด้วย

ตรวจสอบผลลัพธ์

  • รัน plesk bin ip_ban --banned อีกครั้ง ต้องไม่พบ IP ของคุณ
  • กลับไปใช้เครือข่ายสำนักงาน แล้วเปิดเว็บไซต์ Webmail และหน้า Plesk ได้ตามปกติ
  • รอประมาณ 15-30 นาทีแล้วตรวจรายการ Banned ซ้ำ ถ้า IP กลับมาอีก แปลว่ายังมีอุปกรณ์ที่ใส่รหัสผ่านผิดอยู่

ปัญหาที่พบบ่อย

ปลดบล็อกแล้วยังเข้าไม่ได้

IP อาจถูกแบนหลาย Jail พร้อมกัน ให้ปลดทุกรายการที่เป็น IP เดียวกัน รวมถึง Jail recidive นอกจากนี้ให้ตรวจว่า IP ไม่ได้ถูกบล็อกด้วยกฎ Firewall อื่นที่ไม่ใช่ Fail2Ban หากเซิร์ฟเวอร์มี Security Group หรือ Firewall ภายนอกจากฝั่งผู้ให้บริการ ให้ตรวจกฎนั้นด้วย

IP ถูกแบนบ่อยเกินไปทั้งที่ผู้ใช้ไม่ได้ทำผิด

ดูค่าในแท็บ Settings ได้แก่ระยะเวลาแบน (IP address ban period) ช่วงเวลาที่นับความผิด (Time interval for detection of subsequent attacks) และจำนวนครั้งที่ผิดได้ (Number of failures before the IP address is banned) การเพิ่มจำนวนครั้งเล็กน้อยช่วยได้ แต่อย่าปิด Jail ทั้งหมด เพราะเซิร์ฟเวอร์จะเปิดรับการเดารหัสผ่านทันที

ทั้งสำนักงานถูกแบนเพราะคนเดียว

เป็นเรื่องปกติของเครือข่ายที่ใช้ NAT ทุกเครื่องออกอินเทอร์เน็ตด้วย IP เดียวกัน ทางแก้ระยะยาวคือหาอุปกรณ์ต้นเหตุตามขั้นตอนที่ 3 หรือถ้า IP คงที่ ให้เพิ่มเป็น Trusted

ถ้าต้องการตั้ง Fail2Ban ป้องกัน SSH บน Linux Server ที่ไม่ได้ใช้ Plesk ดูได้ที่ ป้องกันการเดารหัสผ่าน SSH ด้วย Fail2ban

หากทำตามขั้นตอนแล้วยังติดปัญหา ติดต่อทีมซัพพอร์ต THAI DATA CLOUD ได้ที่ https://thaidata.cloud/contact/ โดยแจ้งชื่อโดเมน สิ่งที่ทำไปแล้ว และข้อความ Error ที่เห็น เพื่อให้ทีมงานตรวจสอบได้เร็วขึ้น

ผู้ให้บริการคลาวด์ไทย
เพื่อธุรกิจของคนไทย

"มุ่งมั่น" และ "มั่นคง"
พร้อมรับมือทุกการเติบโต
Trust Cloud
คลาว์ที่ปลอดภัย
คือรากฐานที่มั่นคง
cloud security