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

นาฬิกาสามเรือนเดินเทียบกับอุโมงค์หนึ่งเส้น และมีเพียงเรือนเดียวที่เป็นตัวอุโมงค์เอง

นาฬิกาสามเรือนที่ต่างกันบนอุโมงค์เดียว

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

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

โทเคนถูกนำกลับมาใช้ซ้ำอย่างไรจริง ๆ

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

ช่วงการเจรจาใหม่เป็นการตั้งค่าแยกต่างหาก การเปลี่ยนช่วงนี้เลื่อนเวลาที่โทเคนถูกนำมาแสดง ไม่ใช่ระยะเวลาที่มันมีชีวิตอยู่

การหมดอายุแต่ละแบบมีหน้าตาอย่างไรจากฝั่งไคลเอนต์

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

อ่านบรรทัดนั้น แล้วมองไปที่นาฬิกา ระยะเวลาที่ตรงกับค่าที่ตั้งไว้ไม่ใช่เรื่องบังเอิญ

ทำไมรหัสผ่านที่บันทึกไว้จึงไม่ช่วย

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

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

สิ่งที่ต้องบันทึกเป็นเอกสารและทดสอบ

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

การหลุดที่มาโดยไม่มีเหตุการณ์การยืนยันตัวตนใดเลยเป็นของเส้นทางหรือตัวจับเวลาการไม่ใช้งาน ซึ่งเป็นการสอบสวนอีกแบบหนึ่งด้วยหลักฐานอีกชุดหนึ่ง

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