Hai sự cố VPN trông giống nhau từ ghế người dùng nhưng cần cách sửa ngược nhau. Tên không khớp nghĩa là chứng chỉ hợp lệ nhưng được cấp cho thứ khác. Lỗi hết hạn nghĩa là chứng chỉ không hợp lệ ngay lúc này. Cả hai đều không phải vấn đề mật khẩu, và đặt lại thông tin đăng nhập là giờ bị lãng phí phổ biến nhất trong cả hai trường hợp. Hãy đọc giai đoạn đang lỗi trước khi chạm vào bất cứ thứ gì.

Văn bản lỗi chính là chẩn đoán

Máy khách cho bạn biết bước kiểm tra nào đã thất bại, ngay cả khi thông báo ngắn gọn. Không khớp sẽ nêu tên máy chủ mong đợi và tên tìm thấy. Lỗi hết hạn đề cập ngày hiệu lực hoặc thời gian. Hai câu đó chỉ vào những phần khác nhau của chứng chỉ.

Đọc chúng ở giai đoạn chúng xuất hiện. Thất bại trong lúc bắt tay là vấn đề chứng chỉ; thất bại sau khi đường hầm đã lên là vấn đề định tuyến hoặc thông tin đăng nhập. Giữ lại giai đoạn chính là điều ngăn cuộc điều tra trôi sang các cài đặt không liên quan.

Nếu thất bại thay đổi giữa các lần thử, bạn có khả năng thứ ba: nhiều hơn một nút phía sau cùng một tên.

Kiểm tra tên: máy khách so sánh điều gì

Máy khách so sánh danh tính mà nó được cấu hình để mong đợi với các tên trong chứng chỉ, nằm trong phần mở rộng subjectAltName. IP thô trong hồ sơ, một bí danh mà chứng chỉ không liệt kê, hoặc một tên chỉ phân giải đến cùng máy chủ — tất cả đều trượt bước kiểm tra này. Đến được đúng máy không giống với việc trình ra đúng danh tính.

Hãy kiểm tra chứng chỉ mà máy chủ thực sự trình ra thay vì một tệp từ lần thử trước. Lệnh bên dưới hỏi tên bạn đã cấu hình, nên câu trả lời bao gồm chứng chỉ mà một máy khách thật sẽ thấy.

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -dates -ext subjectAltName

Chứng chỉ từ nhà phát hành đáng tin vẫn có thể dành cho dịch vụ khác. Hãy để các bước kiểm tra tên của máy khách bật, vì tin một CA không cấp quyền cho mọi tên mà CA đó từng ký. Tắt bước kiểm tra biến lỗi cấu hình thành phơi bày.

Hết hạn: đọc đồng hồ của ai

Hiệu lực là một cặp mốc thời gian, và bộ xác minh so sánh chúng với đồng hồ của chính nó. Thiết bị sai đồng hồ báo chứng chỉ hợp lệ là đã hết hạn hoặc chưa hợp lệ, và việc cần sửa là đồng hồ chứ không phải chứng chỉ. Khác biệt về hiển thị múi giờ không giống với thời gian nền bị sai.

So sánh ngày của chứng chỉ với UTC trên máy khách trước khi kết luận bất cứ điều gì:

openssl x509 -in cert.pem -noout -dates
date -u

Nếu ngày thực sự đã qua, hãy gia hạn qua nhà phát hành. Nếu đã có bản thay thế nhưng chưa có hiệu lực, hãy theo quy trình chuyển đổi được hỗ trợ thay vì dời đồng hồ cho vừa. Lùi ngày thiết bị để làm hài lòng chứng chỉ là quyết định có hậu quả vượt xa đường hầm.

Vì sao sửa cái này lại lộ ra cái kia

Việc xác thực chạy một chuỗi kiểm tra, và thất bại đầu tiên dừng báo cáo. Sửa tên xong, máy khách có thể nói với bạn rằng chuỗi không đầy đủ hoặc chứng chỉ đã hết hạn. Điều đó không có nghĩa bước kiểm tra đầu là không cần. Nó có nghĩa chuỗi có nhiều hơn một vấn đề, nên hãy chờ lỗi thứ hai thay vì đọc nó như bằng chứng rằng cách sửa đầu là sai.

Nhiều nút làm điều này tệ hơn. Dịch vụ cân bằng tải có thể trình ra chứng chỉ khác nhau từ các thành viên khác nhau, nên một bài kiểm tra đạt hai lần và trượt một lần đang nói về cả cụm chứ không phải về máy khách của bạn. Giữ địa chỉ đối tác và thời điểm thử trong chẩn đoán.

Chính chi tiết đó biến một phiếu không ổn định thành phiếu có thể tái tạo.

Chứng minh bằng một kết nối mới

Sau khi sửa, hãy mở kết nối mới thay vì nối lại kết nối cũ, và xác nhận giai đoạn từng lỗi nay đã qua. Sau đó xác nhận đường hầm thực sự chở lưu lượng, vì bắt tay thành công không phải là tuyến hoạt động.

Giữ lại giai đoạn lỗi chính xác và chi tiết chứng chỉ cùng với phiếu.

Chính bản ghi đó ngăn người tiếp theo đặt lại mật khẩu tài khoản vì một vấn đề chứng chỉ. Danh tính và hiệu lực là hai câu hỏi riêng, và RFC 5280 là tài liệu tham chiếu cho cách câu thứ hai được đánh giá.

Bài viết liên quan