เวลา 02:40 บัญชีถูกล็อกและไม่มีใครอยู่ที่แป้นพิมพ์ ไคลเอนต์ที่วางอยู่บนชั้นวางยังคงส่งรหัสผ่านที่บันทึกไว้เมื่อเดือนที่แล้ว เกตเวย์ยังคงปฏิเสธรหัสผ่านนั้น และตัวนับที่อยู่เบื้องหลังการล็อกก็เพิ่มขึ้นโดยไม่มีคนเข้ามาเกี่ยวข้อง นี่คือวงจรการลองใหม่ ไม่ใช่การโจมตี และต้องหยุดมันก่อนจึงจะกู้คืนบัญชีได้

ให้มองเป็นปัญหาสองข้อตามลำดับที่แน่นอน หยุดต้นทางที่ส่งคำขอก่อน แล้วค่อยกู้คืนการเข้าถึง เพราะถ้าทำกลับกัน วงจรจะเริ่มใหม่ภายในไม่กี่นาที

หาให้พบว่ากระบวนการใดส่งความล้มเหลว

เริ่มจากเวลาในระบบระบุตัวตน แล้วนำไปเทียบกับไคลเอนต์แต่ละตัวที่ถือบัญชีนี้อยู่ โปรไฟล์ที่ถูกจัดการ บริการที่ทำงานโดยไม่มีคนดูแล โทรศัพท์ในลิ้นชัก และแล็ปท็อปสำรองที่ยังมีข้อมูลรับรองเก่า ล้วนยืนยันตัวตนเป็นบุคคลเดียวกันได้ทั้งหมด ตัวที่ล้มเหลวทุกไม่กี่วินาทีคือวงจร ส่วนตัวที่ล้มเหลววันละครั้งมักเป็นคนที่ลืม ทั้งสองอย่างป้อนเข้าตัวนับเดียวกัน ซึ่งนั่นคือกับดัก

แยกความแตกต่างระหว่างการถูกปฏิเสธกับเกตเวย์ที่ติดต่อไม่ได้ในระหว่างที่ตรวจดู การหมดเวลา ความล้มเหลวในการแปลงชื่อ หรือพอร์ตที่ปิดอยู่ โดยปกติจะไม่เพิ่มตัวนับความล้มเหลว ขณะที่การแลกเปลี่ยนการยืนยันตัวตนที่เสร็จสมบูรณ์แล้วแต่ส่งผลลัพธ์ว่าเป็นข้อมูลรับรองที่ไม่ถูกต้องจะเพิ่มตัวนับ การปนกันระหว่างสองอย่างจะทำให้ได้วิธีแก้ที่ผิด เพราะอย่างหนึ่งต้องหยุดไคลเอนต์ ส่วนอีกอย่างต้องซ่อมเส้นทาง

สามเงื่อนไขที่กำหนดแนวทางตอบโต้

ข้อเท็จจริงสามประการจะบีบให้เหลือคำตอบเดียว หนึ่ง บันทึกแสดงการปฏิเสธอย่างชัดเจนหรือความล้มเหลวระดับการรับส่งข้อมูล สอง ตัวตนนั้นถูกใช้ร่วมกันข้ามอุปกรณ์หรือบริการหรือไม่ สาม ไคลเอนต์ที่ลองใหม่นั้นเป็นตัวที่คุณดูแลหรือตัวที่คนอื่นควบคุม

การปฏิเสธอย่างชัดเจนจากไคลเอนต์เดียวที่คุณควบคุมได้ หมายถึงหยุดไคลเอนต์นั้น ปลดล็อกผ่านเส้นทางที่ได้รับอนุมัติ และลงชื่อเข้าใช้อย่างตั้งใจเพียงครั้งเดียว ตัวตนที่ใช้ร่วมกันจะผลักคำตอบไปสู่การจัดสรรสิทธิ์มากกว่าการปลดล็อก เพราะวงจรจะกลับมาเริ่มใหม่ทันทีที่อุปกรณ์อีกเครื่องเชื่อมต่ออีกครั้ง ความล้มเหลวระดับการรับส่งข้อมูลชี้ไปที่ชั้นเครือข่าย ซึ่งการป้องกันบัญชีไม่ใช่ประเด็นเลย

ไม่มีสาขาไหนในนั้นที่ต้องลดความแข็งแกร่งของการป้องกันลง เกณฑ์การล็อกและขีดจำกัดอัตรามีอยู่ก็เพราะสัญญาณเดียวที่สร้างความรำคาญให้คุณระหว่างระบบขัดข้อง ก็คือสัญญาณที่ทำให้การเดารหัสผ่านช้าลง

หยุดผู้ส่งก่อนจะปลดล็อก

หยุดยูนิตหรือการเชื่อมต่อที่ยังคงยืนยันตัวตนอยู่ และหยุดในลักษณะที่คงอยู่แม้รีบูต การหยุดไคลเอนต์ชั่วคราวไม่เพียงพอ เมื่อบริการของมันถูกตั้งให้เริ่มอัตโนมัติตอนบูต

# which unit is presenting the credential?
journalctl -u openvpn-client@home --since '20 min ago' | grep -i 'auth\|error'

# stop it, and keep it stopped across reboots
sudo systemctl stop openvpn-client@home
sudo systemctl disable openvpn-client@home
systemctl is-active openvpn-client@home

รอสักสองสามนาทีแล้วยืนยันว่าจำนวนความล้มเหลวหยุดนิ่ง การหยุดนิ่งนั้นคือหลักฐานว่าคุณพบต้นทางที่ถูกต้อง ถ้ายังล้มเหลวต่อ แสดงว่าวงจรมาจากที่อื่น และขั้นตอนปลดล็อกจะเสียเปล่า

จากนั้นจึงใช้กระบวนการปลดล็อกหรือกู้คืนที่ผู้ให้บริการเขียนไว้ และทำตามด้วยการลงชื่อเข้าใช้แบบควบคุมได้เพียงครั้งเดียวจากอุปกรณ์ที่คุณตั้งใจจะเก็บไว้ เกณฑ์ที่แน่นอน ระยะเวลางดเว้น และถ้อยคำการกู้คืนนั้นขึ้นกับบริการแต่ละราย ดังนั้นจงอ่านมันแทนการเดาตัวเลข

กำจัดสาเหตุเพื่อไม่ให้มันกลับมา

อัปเดตข้อมูลรับรองที่บันทึกไว้ ณ ที่ที่มันถูกเก็บไว้ ได้แก่ พวงกุญแจของระบบปฏิบัติการ โปรไฟล์ไคลเอนต์ หรือการตั้งค่าบัญชีบริการ การล้างมันออกจากที่หนึ่งในขณะที่อีกที่หนึ่งยังเก็บสำเนาไว้ คือเหตุที่วงจรกลับมาอีกครั้งในสัปดาห์ถัดไป มักเกิดตอนแล็ปท็อปที่ออฟไลน์อยู่กลับมาออนไลน์และเล่นค่าที่แคชไว้ซ้ำ

ให้ระบบอัตโนมัติมีตัวตนของตัวเอง บัญชีที่จัดสรรแยกต่างหากพร้อมข้อมูลรับรองของตัวเองและขีดจำกัดของตัวเอง จะกันไม่ให้เครื่องจักรล้มเหลวแล้วทำให้คนถูกตัดออกจากอีเมล และยังทำให้ความล้มเหลวระบุที่มาได้ในบันทึก เพิ่มการถอยหลังให้ไคลเอนต์ เพื่อให้ข้อมูลรับรองที่ถูกปฏิเสธหยุดการลองใหม่แทนที่จะทำซ้ำ และตั้งสัญญาณเตือนเมื่อการยืนยันตัวตนล้มเหลวซ้ำ ๆ เพื่อให้วงจรถัดไปถูกสังเกตเห็นภายในไม่กี่นาที ไม่ใช่ตอน 02:40

เมื่อส่งรายงานถึงฝ่ายสนับสนุน ให้เก็บตัวระบุบัญชี เวลา และชื่อไคลเอนต์ไว้ รหัสผ่านและข้อมูลสำหรับกู้คืนไม่ควรอยู่ในบันทึกนั้นเด็ดขาด

บทความที่เกี่ยวข้อง