Một lần ngắt VPN có thể xảy ra vì những lý do trông giống hệt nhau từ phía máy khách và không có gì chung bên dưới: phiên đường hầm đã kết thúc, một bộ đếm thời gian không hoạt động đã kích hoạt, hoặc một thông tin xác thực mà máy khách dùng lại đã cũ. Mỗi lý do có một chủ sở hữu và một cách khắc phục khác nhau. Chính chuỗi lỗi tại thời điểm ngắt kết nối phân biệt chúng, và thường chỉ là một dòng.

Ba chiếc đồng hồ chạy đua với một đường hầm, và chỉ một trong số chúng là đường hầm.

Ba chiếc đồng hồ khác nhau trên một đường hầm

Đồng hồ phiên thuộc về cổng: thời lượng kết nối tối đa, thời gian chờ không hoạt động hoặc cả hai, và nó kết thúc đường hầm khi đạt tới bất kỳ mốc nào trong số đó. Đồng hồ token thuộc về hệ thống xác thực, và nó quyết định thông tin xác thực có thể được trình bày lại trong bao lâu mà không cần con người. Đồng hồ đường đi thuộc về bất kỳ NAT hay tường lửa nào nằm giữa máy khách và cổng, và nó để các ánh xạ hết hạn đối với những luồng mà nó coi là đã kết thúc. Cả ba đều tạo ra ngắt kết nối, và không cái nào tạo ra cùng một dòng nhật ký.

Chỉ cái đầu tiên là khái niệm của VPN. Hai cái còn lại vay mượn từ danh tính và mạng, và chúng thường bị nhầm lẫn với nó.

Token thực sự được dùng lại như thế nào

Máy chủ OpenVPN có thể phát hành một token xác thực sau lần đăng nhập đầu tiên, nhờ đó việc đàm phán lại kênh điều khiển không hỏi lại thông tin xác thực của người dùng. Máy khách tiếp tục trình bày token đó và máy chủ quyết định nó còn được chấp nhận trong bao lâu. Khi thời gian sống của token ngắn hơn khoảng đàm phán lại, lần đàm phán lại tiếp theo sẽ thất bại và máy khách báo lỗi xác thực thay vì hết thời gian chờ. Đó là lý do cùng một hồ sơ hoạt động được một giờ rồi thất bại tại một điểm cố định.

Khoảng đàm phán lại là một thiết lập riêng. Thay đổi nó sẽ dịch chuyển thời điểm token được trình bày, không phải thời gian nó tồn tại.

Mỗi lần hết hạn trông như thế nào từ phía máy khách

Thời gian chờ phiên thường đến dưới dạng ngắt kết nối sạch sẽ kèm lý do từ phía máy chủ, thường sau một thời lượng có thể dự đoán được và không kèm lỗi xác thực nào. Thời gian chờ không hoạt động trông như im lặng: đường hầm ngừng mang lưu lượng, rồi cơ chế giữ kết nối bỏ cuộc. Việc token hết hạn đến dưới dạng AUTH_FAILED ở giữa một phiên vừa hoạt động một giây trước đó.

Hãy đọc dòng đó, rồi nhìn đồng hồ. Một thời lượng khớp với giá trị đã cấu hình không phải là sự trùng hợp.

Vì sao mật khẩu đã lưu không giúp được gì

Mật khẩu trong bộ nhớ đệm trả lời một thách thức về mật khẩu. Nó không kéo dài thời gian sống của token và không đáp ứng một thách thức về yếu tố thứ hai hay kiểm tra trạng thái thiết bị. Tăng tần suất thử lại, rút ngắn thời gian chờ kết nối hay nhập lại hồ sơ không thay đổi gì về việc hệ thống danh tính sẽ chấp nhận thông tin xác thực trong bao lâu.

Các cách khắc phục bền vững là đặt đúng thời gian sống trên đúng đối tượng, hoặc một luồng máy khách có thể hoàn tất thách thức cần thiết mà không cần con người.

Cần ghi lại và kiểm thử những gì

Hãy ghi lại cả ba giá trị: giới hạn phiên và không hoạt động của cổng, thời gian sống của token và thời gian chờ ánh xạ liên quan ngắn nhất trên đường đi. Sau đó chủ động kiểm thử từng lần hết hạn bằng cách rút ngắn một giá trị, quan sát những gì máy khách báo cáo và khôi phục lại. Hãy xác nhận người dùng phải làm gì tại mỗi ranh giới, vì yêu cầu đăng nhập đầy đủ mỗi giờ là một quyết định chính sách mà ai đó nên đưa ra một cách có chủ đích.

Một lần ngắt đến mà hoàn toàn không có sự kiện xác thực nào thuộc về đường đi hoặc bộ đếm thời gian không hoạt động, và đó là một cuộc điều tra khác với bằng chứng khác.

Bài viết liên quan