คู่มือการใช้งาน เมนู Brute Force Monitor - (DirectAdmin Admin Level)
ตรวจ Failed Login แยกตาม IP และ Username พร้อมใช้ Skip List, Block List และ Unblock จากหลักฐานที่เชื่อถือได้
รู้จัก Brute Force Monitor และเข้าเมนูจาก Dashboard
เมนู Brute Force Monitor ใน DirectAdmin ระดับ Admin Level ช่วยให้ผู้ดูแลระบบตรวจเหตุการณ์ login ล้มเหลวที่ระบบรวบรวมจาก service ที่เกี่ยวข้อง และมองเห็นความพยายามเดารหัสผ่านแยกตาม IP address และ username พร้อมคำสั่งสำหรับเพิ่มรายการเข้า Skip List หรือ Block List ตามหลักฐานที่ตรวจพบ

เส้นทางเข้าเมนูจาก Dashboard คือ:
Admin Level > Admin Tools > Brute Force Monitor
จากหน้า Dashboard ให้ตรวจว่าด้านบนอยู่ที่ระดับ Admin แล้วดูเฉพาะกลุ่ม Admin Tools จากนั้นกดเมนู Brute Force Monitor
คำเตือนสำคัญ: การกด Block หรือ Unblock อาจกระทบการเข้าใช้งานจริงของผู้ดูแล ลูกค้า หรือระบบ monitoring ส่วนการกด Skip คือการยกเว้นไม่ให้ IP/User นั้นถูกจัดการตามกลไก brute force บางส่วน จึงต้องใช้กับรายการที่ยืนยันแล้วว่าเป็น trusted source เท่านั้น
สำรวจหน้ารวมความพยายามเข้าสู่ระบบที่ล้มเหลว
เมื่อเข้าเมนูแล้ว breadcrumb ด้านบนแสดง Dashboard > Brute Force Monitor โดย Dashboard เป็นลิงก์กลับหน้าแรก และ Brute Force Monitor คือหน้าปัจจุบัน ถัดจากหัวข้อมี help ไอคอน รูปเครื่องหมายคำถามสำหรับเปิดเอกสารช่วยเหลือของ DirectAdmin ในหัวข้อ Brute Force Monitor

ด้านบนของหน้าเป็น navigation แบบ tab/card 5 รายการ แต่ละรายการมีชื่อและคำอธิบายสั้น ๆ:
- Failed Logins - หน้าหลักสำหรับอ่าน log รายเหตุการณ์ และเลือก IP address หรือ User เพื่อ filter ผลลัพธ์
- Failed Logins: IP list - รวม failed login ตาม IP เพื่อดูว่า IP ใดพยายาม login ล้มเหลวบ่อย
- Failed logins: Usernames List - รวม failed login ตาม username เพื่อดูว่าบัญชีใดถูกเดารหัสหรือมีการกรอกผิดซ้ำ
- Skip List - รายการ IP/User ที่ถูกยกเว้น ใช้สำหรับ trusted source ที่ไม่ต้องการให้ถูกจัดการแบบ brute force
- Block List - รายการ IP ที่ถูก block และหน้าสำหรับ block/unblock IP
ใต้ tab มีส่วน Log display option พร้อม radio 2 ตัวเลือก คือ Show whole file และ Custom number of bytes from the end of the file ถ้าเลือกแบบ custom จะใช้ช่อง Number of bytes เพื่ออ่าน log จากท้ายไฟล์ตามจำนวน byte ที่ระบุ โดยค่าในบัญชีตัวอย่างคือ 500000 วิธีนี้ช่วยลดภาระการโหลด log ใหญ่และเหมาะกับการดูเหตุการณ์ล่าสุด
toolbar เหนือตารางมีปุ่ม Columns สำหรับเลือกคอลัมน์ที่แสดง และปุ่ม Reload Table สำหรับดึงข้อมูลล่าสุดในหน้าปัจจุบัน หากเพิ่งแก้ Skip List หรือ Block List แล้วต้องการดูผลในตาราง ให้ใช้ Reload Table แทนการเดาว่าหน้าจออัปเดตเองแล้วหรือยัง
ค้นหาและอ่านรายการ Failed Login
ตาราง Failed Logins ใช้อ่านเหตุการณ์ failed login ทีละรายการ ไม่ใช่หน้าสรุปเพื่อตัดสินใจ block ทันที ควรใช้ร่วมกับหน้า IP list และ Usernames List เพื่อดู pattern ก่อนสั่งงาน

ปุ่ม Columns เปิดเมนูตัวเลือกให้เลือกคอลัมน์ที่ต้องการแสดง ตัวเลือกที่เห็นในระบบตัวอย่างคือ ID, IP, User, Attempts, Filter และ Log Entry โดยช่องเลือกในเมนูตัวเลือกใช้เปิด/ปิดคอลัมน์ในตารางเท่านั้น ไม่ได้เลือก row เพื่อสั่งงาน
| คอลัมน์ | ความหมาย | วิธีใช้ |
|---|---|---|
| ID | เลขลำดับหรือรหัสเหตุการณ์ในรายการที่ DirectAdmin แสดง | ใช้อ้างอิงเหตุการณ์เมื่อตรวจ log หลายแถวพร้อมกัน |
| IP | IP address ที่เกี่ยวข้องกับ failed login | กด link IP เพื่อ filter หน้าหลักให้แสดงเฉพาะ IP นั้น แล้วเทียบกับ IP list ก่อนตัดสินใจ block หรือ skip |
| User | username ที่ถูกพยายาม login หรือ username ที่เกี่ยวข้องกับเหตุการณ์ | กด link user เพื่อ filter หน้าหลักตาม user นั้น แล้วตรวจว่าเป็นบัญชีจริง บัญชีระบบ หรือชื่อที่ attacker เดาสุ่ม |
| Attempts | จำนวนครั้งหรือจำนวน attempt ที่ DirectAdmin แสดงในรายการนั้น | ใช้ดูความถี่เบื้องต้น แต่ควรเทียบกับช่วงเวลา First/Last ในหน้าสรุป IP/User list |
| Filter | link หรือ control สำหรับกรองผลตาม IP/User ที่เกี่ยวข้องกับแถวนั้น | ใช้ลดรายการในตารางให้เหลือเฉพาะเป้าหมายเดียวก่อนอ่าน log entry |
| Log Entry | ข้อความ log ดิบที่บอก service, เวลา, user หรือเหตุผลของ failed login | อ่านเพื่อแยกว่าคือ failed login จริง, bot เดาสุ่ม, user พิมพ์ผิด หรือ service ภายในที่ตั้งค่าผิด |
| คอลัมน์ท้ายแถว | พื้นที่คำสั่ง/metadata ที่ DirectAdmin เผื่อไว้ในตาราง | ในหน้าหลักในระบบตัวอย่างไม่มี bulk ช่องเลือกหรือปุ่ม block รายแถว ให้ใช้ tab IP list หรือ Block List สำหรับคำสั่ง |
ด้านล่างตารางมี pagination เช่น Previous, เลขหน้า, Next และเมนูตัวเลือกจำนวนรายการต่อหน้า เช่น Show 50 Results หากรายการเยอะ ให้ filter ด้วย IP/User ก่อน แล้วจึงเปลี่ยนหน้า ไม่ควร block จากการเห็นแถวเดียวโดยยังไม่ดู pattern รวม
ตรวจ IP ที่พยายามเข้าสู่ระบบผิดปกติ
tab Failed Logins: IP list รวม failed login ตาม IP และเป็นหน้าหลักสำหรับเลือก IP ไปทำคำสั่งแบบหลายรายการ Skip หรือ Block ก่อนกดคำสั่งต้องอ่านทั้งจำนวน login failures, เวลาแรก/ล่าสุด, สถานะ notified/blocked และข้อมูล IP เพิ่มเติม

breadcrumb ของหน้านี้แสดง Dashboard > Brute Force Monitor > Brute Force Monitor: IP List ใช้ยืนยันว่ากำลังอยู่ในหน้ารวมตาม IP ไม่ใช่หน้าหลักราย log ปุ่มบน toolbar ยังมี Columns และ Reload Table เช่นเดียวกับหน้าหลัก
| คอลัมน์/ปุ่ม | ความหมาย | ข้อควรระวัง |
|---|---|---|
| ช่องเลือกหัวตาราง | เลือกหรือยกเลิกเลือก IP ที่แสดงในหน้านั้นพร้อมกัน | อย่าใช้ select all ถ้ายังไม่ได้ดูทุกแถว เพราะอาจ block หรือ skip หลาย IP พร้อมกัน |
| ช่องเลือกรายแถว | เลือก IP เป้าหมายเพื่อให้ปุ่ม With selected ทำงาน | เมื่อยังไม่เลือก แถบจะแสดงประมาณ (0 / 50) และปุ่ม Skip/Block จะ disabled |
| IP | IP address ที่มี failed login และเป็น link ไป filter log ของ IP นั้น | ตรวจให้แน่ใจว่าไม่ใช่ IP office, VPN, monitoring, proxy หรือระบบภายในของทีม |
| Login Failures | จำนวน failed login ที่นับรวมสำหรับ IP นั้น | จำนวนสูงเป็นสัญญาณ แต่ต้องดู First/Last และ Log Entry ประกอบ |
| First | เวลาที่พบ failed login ครั้งแรกในชุดข้อมูลปัจจุบัน | ใช้ดูว่าพฤติกรรมยาวนานหรือเกิดเป็น burst ช่วงสั้น |
| Last | เวลาที่พบ failed login ล่าสุด | ถ้า Last ยังใกล้เวลาปัจจุบัน แปลว่า activity อาจยังดำเนินอยู่ |
| Notified | บอกว่าระบบแจ้งเตือนเกี่ยวกับ IP นี้แล้วหรือไม่ | ใช้ช่วยแยกเหตุการณ์ใหม่กับเหตุการณ์ที่ทีมอาจเห็นแล้ว |
| Blocked | บอกว่า IP นี้ถูก block แล้วหรือยัง | ถ้า Blocked เป็น Yes ให้ตรวจ Block List ก่อนกดคำสั่งซ้ำ |
| IP Info | ปุ่มเปิดหน้าต่างข้อมูล reverse DNS/dig ของ IP | ใช้เป็นข้อมูลประกอบเท่านั้น ไม่ใช่หลักฐานเดียวในการ block หรือ unblock |
เมื่อเลือกช่องของแต่ละแถว แถบ With selected จะแสดงจำนวนที่เลือก เช่น (1 / 50) และเปิดปุ่ม Skip กับ Block ปุ่ม Skip เปิด confirmation Add to skip list ส่วนปุ่ม Block เปิด confirmation IP Address พร้อมข้อความถามว่าจะ block IP ที่เลือกหรือไม่ ทั้งสองปุ่มยังไม่ทำงานจริงจนกว่าจะกด CONFIRM
ตรวจ Username ที่ถูกลองเข้าสู่ระบบ
tab Failed logins: Usernames List รวม failed login ตาม username ใช้ดูว่าบัญชีใดถูกโจมตีหรือมีการกรอกรหัสผิดซ้ำ ๆ โดย breadcrumb แสดง Dashboard > Brute Force Monitor > Brute Force Monitor: User List

คอลัมน์ที่เกี่ยวข้องในหน้านี้คือ ช่องเลือก, User, Login Failures, First, Last, Notified และคอลัมน์ท้ายแถว พฤติกรรมสำคัญคือชื่อ User เป็น link สำหรับ filter หน้าหลักตาม user นั้น เพื่อกลับไปอ่าน log entry รายเหตุการณ์
ช่องเลือกหัวตารางใช้เลือก username ในหน้านั้นพร้อมกัน ส่วนช่องเลือกรายแถวใช้เลือก user เป้าหมายเพื่อเปิดปุ่ม Skip ในแถบ With selected ตอนยังไม่เลือก ระบบแสดง (0 / 50) และปุ่ม Skip จะ disabled หลังเลือกหนึ่งแถวจะแสดง (1 / 50) และปุ่ม Skip จึงใช้งานได้
เมื่อกด Skip ระบบเปิด confirmation Add to skip list พร้อมข้อความ Are you sure you want to add selected user to skip list? และมีปุ่ม Cancel กับ CONFIRM ให้เลือก หากไม่มั่นใจให้กด Cancel เพราะการเพิ่ม user เข้า skip list อาจทำให้ระบบไม่จัดการ failed login ของ user นั้นตามที่ควร
ข้อควรระวัง: การ skip user ไม่ใช่วิธีแก้ปัญหาบัญชีที่ถูกเดารหัส หาก username มี failed login สูง ควรตรวจรหัสผ่าน, 2FA, IP ที่พยายามเข้า, log entry และเจ้าของบัญชีก่อน ยกเว้น user ที่มีเหตุผลทางระบบชัดเจนเท่านั้น
เพิ่มรายการยกเว้นอย่างระมัดระวัง
tab Skip List แสดงรายการ IP/User ที่ถูกยกเว้นจากการจัดการบางส่วนของ Brute Force Monitor ใช้สำหรับ trusted source เท่านั้น เช่น localhost หรือระบบภายในที่ทีมตั้งใจยกเว้นไว้ ไม่ควรใช้เพื่อซ่อนปัญหา failed login จาก attacker

ด้านบนของหน้า Skip List มีปุ่ม ADD TO SKIP LIST เมื่อกดจะเปิดหน้าต่าง Add to Skip List โดยมีส่วนประกอบดังนี้:
- ปุ่ม X มุมขวาบน - ปิดหน้าต่างโดยไม่เพิ่มรายการ
- IP / Range / Domain / E-mail - ช่องกรอก target ที่ต้องการ skip อาจเป็น IP, ช่วง IP, domain หรือ e-mail ตาม label ของ DirectAdmin
- Comments - ช่องใส่เหตุผล เช่น ticket, เจ้าของระบบ, วันที่อนุมัติ หรือเหตุผลทาง network
- Close - ยกเลิกและปิดหน้าต่าง
- ADD - เพิ่มรายการเข้า Skip List ตามค่าที่กรอก
ตาราง Skip List มีคอลัมน์ ช่องเลือก, IP / User, Date Added, Comments และคอลัมน์ท้ายแถว ในบัญชีตัวอย่างมีตัวอย่าง 127.0.0.1 พร้อม comment csf.ignore ซึ่งเป็นรายการที่เกี่ยวข้องกับการยกเว้นระดับระบบ ไม่ควรลบโดยไม่รู้ผลกระทบ
แถบ With selected มีปุ่ม Remove ตอนยังไม่เลือก row ปุ่มจะ disabled เมื่อเลือกช่องของแต่ละแถวแล้วจึงเปิดใช้งาน การกด Remove เปิด confirmation Remove from Skip List พร้อมข้อความถามว่าจะ remove items ที่เลือกจาก skip list หรือไม่ ต้องกด CONFIRM จึงลบจริง
หลักปฏิบัติ: ทุก skip entry ควรมี comment ที่อ่านรู้เรื่อง เพราะรายการนี้คือ whitelist เชิง security ถ้าไม่รู้ว่าใครเพิ่ม ทำไมเพิ่ม และยังจำเป็นอยู่หรือไม่ ให้ตรวจ ticket หรือถามทีมก่อนลบหรือเพิ่มรายการใหม่
บล็อกหรือปลดบล็อก IP ที่เป็นอันตราย
tab Block List ใช้ดู IP ที่ถูก block แล้ว, block IP เพิ่มด้วยมือ, filter ตาราง และ unblock IP ที่เลือก breadcrumb ของหน้านี้แสดง Dashboard > Brute Force Monitor > Brute Force Monitor: Block List

ด้านบนของหน้า Block List มีช่อง Block IP และปุ่ม Block ถ้ายังไม่กรอก IP ปุ่ม Block จะ disabled เมื่อกรอกค่าแล้วปุ่มจึงพร้อมใช้งาน ใช้สำหรับ block IP แบบ manual จากหลักฐานที่ตรวจพบ เช่น log, ticket หรือ incident response ไม่ควรกรอก IP เพื่อทดลองบนเครื่องจริง
ถัดมามีช่อง Filter IPs สำหรับค้นหา IP ใน Block List และปุ่ม X ในช่องเพื่อ clear filter หลังกรองเสร็จ toolbar ยังมีปุ่ม Columns สำหรับเลือกคอลัมน์ และ Reload Table สำหรับโหลดข้อมูลล่าสุด
| คอลัมน์/ปุ่ม | ความหมาย | วิธีใช้ |
|---|---|---|
| ช่องเลือกหัวตาราง | เลือก IP ในหน้าปัจจุบันพร้อมกัน | ใช้ด้วยความระวัง เพราะคำสั่ง Unblock จะมีผลกับทุก row ที่เลือก |
| ช่องเลือกรายแถว | เลือก IP ที่ต้องการ unblock | ตรวจ IP และเหตุผลใน Info ก่อนเลือก |
| IP | IP address ที่อยู่ใน block list | ใช้เทียบกับ ticket, log หรือ IP ที่ผู้ใช้แจ้งว่าถูก block |
| Date Blocked | เวลาที่ IP ถูกเพิ่มเข้า block list | ช่วยดูว่าเป็น incident ล่าสุดหรือรายการเก่า |
| Info | เหตุผลหรือข้อความที่ระบบบันทึกไว้ เช่น service ที่พบ failed login หรือข้อมูลจาก lfd | อ่านก่อน unblock เพื่อรู้ว่า IP ถูก block เพราะอะไร |
| IP Info | ปุ่มเปิดหน้าต่าง reverse DNS/dig ของ IP | ใช้ประกอบการตรวจว่า IP มาจาก host, network หรือ provider ใด |
แถบ With selected มีปุ่ม Unblock ตอนยังไม่เลือก row ปุ่มจะ disabled หลังเลือกช่อง แล้วจะเปิดใช้งาน การกด Unblock เปิด confirmation Unblock IP พร้อมข้อความถามว่าจะ unblock selected IP หรือไม่ ต้องกด CONFIRM จึงปลด block จริง
ตรวจข้อมูล IP ก่อนตัดสินใจบล็อก
ปุ่ม IP Info ในหน้า IP list หรือ Block List เปิดหน้าต่างชื่อ IP Info: หมายเลข IP ภายในแสดงผลคำสั่งลักษณะ reverse DNS lookup เช่น dig -x IP พร้อมข้อความ response จาก DNS server

ส่วนประกอบของหน้าต่างมี ปุ่ม X มุมขวาบนและปุ่ม Close ด้านล่าง ทั้งสองใช้ปิดหน้าต่างโดยไม่สั่งงาน ใด ๆ กับ IP นั้น IP Info เป็นหน้าข้อมูลอ่านอย่างเดียว ไม่ใช่ confirmation และไม่มีปุ่ม block/unblock ภายในหน้าต่าง
การอ่านผล IP Info ควรใช้เป็นข้อมูลประกอบ เช่น host name, PTR record, provider, response status หรือข้อความว่าไม่มี reverse record หากเห็นผลแบบ NXDOMAIN หรือไม่มี PTR ไม่ได้แปลว่า IP นั้นเป็น attacker โดยอัตโนมัติ และหากมีชื่อ host ที่ดูน่าเชื่อถือก็ไม่ได้แปลว่าปลอดภัยเสมอไป ต้องดู failed login count, ช่วงเวลา First/Last, log entry และบริบทของลูกค้าหรือทีมร่วมด้วย
สำหรับงาน support ให้เปิด IP Info หลังจาก filter IP ในหน้าหลักแล้ว เพื่อเก็บหลักฐานประกอบ ticket ก่อนตัดสินใจ block, skip หรือ unblock โดยเฉพาะกรณี IP เป็น NAT, proxy, VPN, monitoring node หรือ IP ของสำนักงานลูกค้า
ทบทวนข้อมูลก่อนยกเว้น บล็อก หรือลบรายการ
คำสั่งสำคัญใน Brute Force Monitor ใช้หน้าต่างยืนยันที่มีไอคอน เตือน, ข้อความถามยืนยัน, ปุ่ม Cancel และปุ่ม CONFIRM ปุ่ม Cancel หรือ X ใช้ยกเลิก ส่วน CONFIRM คือจุดที่คำสั่งทำงานจริง

confirmation ที่เกี่ยวข้องกับเมนูนี้จากหน้าจอตัวอย่างมีดังนี้:
| Action | Confirmation | ความหมายก่อนกด CONFIRM |
|---|---|---|
| Skip IP | Add to skip list พร้อมข้อความถามว่าจะ add selected IP to skip list หรือไม่ | IP ที่เลือกจะถูกเพิ่มเป็นรายการยกเว้น ต้องแน่ใจว่าเป็น trusted IP |
| Block IP จาก IP list | IP Address พร้อมข้อความถามว่าจะ block selected IP หรือไม่ | IP ที่เลือกอาจเข้า service ที่เกี่ยวข้องไม่ได้ ต้องตรวจว่าไม่ใช่ IP ของผู้ดูแลหรือลูกค้าที่ถูกต้อง |
| Skip User | Add to skip list พร้อมข้อความถามว่าจะ add selected user to skip list หรือไม่ | User ที่เลือกจะถูกยกเว้น ต้องไม่ใช้แทนการแก้รหัสผ่านที่อ่อนหรือบัญชีที่ถูกโจมตี |
| Remove จาก Skip List | Remove from Skip List พร้อมข้อความถามว่าจะ remove items ที่เลือก from skip list หรือไม่ | รายการนั้นจะไม่ถูกยกเว้นอีกต่อไป อาจกลับมาถูกนับหรือจัดการโดย Brute Force Monitor |
| Unblock จาก Block List | Unblock IP พร้อมข้อความถามว่าจะ unblock selected IP หรือไม่ | IP ที่เลือกจะกลับมาเชื่อมต่อได้ตาม firewall/service policy ต้องรู้ว่าถูก block เพราะอะไร |
ก่อนกด CONFIRM ให้ตรวจ checklist นี้ทุกครั้ง:
- ตรวจจำนวนที่เลือก - ดูแถบ With selected เช่น (1 / 50) เพื่อยืนยันว่าเลือกเฉพาะ row ที่ต้องการ
- อ่านค่าเป้าหมาย - ตรวจ IP หรือ User ในตาราง ไม่ใช่ดูจากตำแหน่งแถวอย่างเดียว
- อ่านหลักฐาน - เปิด log entry, IP list/User list, First/Last, Login Failures, Info และ IP Info ตามความจำเป็น
- แยก trusted กับ attacker - IP office, VPN, monitoring, localhost หรือระบบภายในควรมีแนวทางเฉพาะ ไม่ block หรือ remove แบบรีบกด
- บันทึกเหตุผล - ถ้าเพิ่ม Skip List ให้ใส่ comment ที่โยงกับ ticket หรือเหตุผลทางเทคนิค
- Reload หลังสั่งงาน - ใช้ Reload Table เพื่อตรวจว่ารายการย้ายไปอยู่ Skip List/Block List หรือถูกเอาออกตามที่ตั้งใจ
หากกำลังทำงานบนเครื่อง production และไม่แน่ใจว่า IP/User นั้นควรถูก block, skip, remove หรือ unblock หรือไม่ ให้กด Cancel ก่อน แล้วเก็บภาพหน้าจอ, log entry และเวลาที่พบเหตุการณ์ไปตรวจร่วมกับทีม security หรือทีม infrastructure การยกเลิก confirmation ไม่กระทบระบบ แต่การกด CONFIRM ผิดอาจทำให้คนที่ถูกต้องเข้าใช้งานไม่ได้หรือทำให้ attacker ถูกยกเว้นโดยไม่ตั้งใจ
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost