Vì sao nhập lại chứng chỉ Client VPN cần một điểm cuối mới
Điểm cuối Client VPN liên kết chứng chỉ ngay khi tạo. Nhập lại đối tượng trong ACM không đổi liên kết đó, nên khôi phục nghĩa là một điểm cuối mới.
Một kết nối Client VPN đứt, chứng chỉ trong ACM bị thay thế, và không có gì thay đổi. Đối tượng chứng chỉ chưa bao giờ là thứ mà điểm cuối sử dụng. Điểm cuối lưu một liên kết với chứng chỉ khi tạo, cùng với CA của máy khách mà nó sẽ xác thực, loại xác thực, các mạng con và các quy tắc ủy quyền, và không liên kết nào trong số đó có lệnh gọi sửa đổi chấp nhận chứng chỉ thay thế. Thay các byte phía sau một ARN là thay đổi chứng chỉ, không phải thay đổi điểm cuối đã nắm giữ nó.
Điểm cuối lưu tham chiếu, không lưu chứng chỉ
Cơ chế này đáng được nêu chính xác vì nó giải thích toàn bộ sự cố. create-client-vpn-endpoint nhận ARN của chứng chỉ máy chủ và ARN của chuỗi chứng chỉ gốc máy khách, và điểm cuối tạo ra giữ các tham chiếu đó cùng các tùy chọn xác thực như những thuộc tính cố định. API không cung cấp thao tác nào thay chứng chỉ máy chủ trên một điểm cuối hiện có.
Bạn có thể xác nhận liên kết mà không đoán. aws ec2 describe-client-vpn-endpoints --client-vpn-endpoint-ids cvpn-endpoint-0123456789abcdef0 in ARN của chứng chỉ, ARN của chuỗi gốc máy khách, loại xác thực, CIDR máy khách và các mạng con liên quan, tức là toàn bộ thuộc tính mà bạn sẽ phải tái tạo. Chạy trước và sau khi nhập lại, đầu ra không xê dịch. Đó là bằng chứng rằng việc nhập lại không bao giờ giúp được.
Vì sao nhập lại không thể chạm tới điểm cuối
Nhập lại ghi một thân chứng chỉ mới dưới một ARN hiện có. Đó là thao tác hợp lệ khi chứng chỉ gần hết hạn, và ACM sẽ chấp nhận miễn là khóa riêng khớp và chuỗi xác thực được. Điều nó không làm là chạy lại việc xác thực tại thời điểm tạo điểm cuối, nên liên kết và vật liệu phía sau vẫn như khi điểm cuối được xây dựng.
Đó cũng là lý do triệu chứng đọc như sự cố mạng. Bắt tay TLS thất bại hoặc bị đặt lại trước khi ủy quyền được đánh giá, nên nhóm bảo mật, tuyến và quy tắc ủy quyền đều trông vô tội, và chúng thực sự vô tội.
Chuỗi là một phần của chứng chỉ máy khách
Nửa còn lại của sự cố nằm ở chứng chỉ máy khách, và dễ bỏ qua hơn. Chứng chỉ máy khách phải được nhập cùng chuỗi đã phát hành nó, dù biểu mẫu nhập hiển thị trường đó là tùy chọn. Không có chuỗi, điểm cuối không thể dựng đường đi từ chứng chỉ máy khách tới CA gốc máy khách mà nó được cấu hình, và kết nối kết thúc bằng một lần đặt lại mềm nghe như tường lửa đang bỏ gói. openssl verify -CAfile root-ca.pem client.crt trả lời câu hỏi đó ngay tại máy trong một giây, và đó nên là lệnh đầu tiên bạn chạy.
Nhập lại kèm chuỗi là bản sửa thật cho nửa đó, và vẫn chưa đủ nếu đứng một mình. Khi đối tượng trong ACM đã thay đổi, điểm cuối giữ liên kết cũ là thứ sai để tiếp tục thử nghiệm. Cả hai bước thuộc cùng một lần sửa, nên bản sửa hai phần không phải mâu thuẫn.
Tạo lại một điểm cuối là một cuộc di chuyển
Tạo điểm cuối thay thế là di chuyển, không phải thử lại, và coi đó là thử lại chính là cách các nhóm kết thúc với hai điểm cuối cấu hình dở. Điểm cuối mới nhận ID mới và, nếu bạn không lên kế hoạch, một tên DNS mới cho mỗi người dùng. Giữ hồ sơ máy khách trỏ tới tên thay vì địa chỉ, để việc chuyển đổi thành thay đổi bản ghi chứ không phải phân phối lại.
Thứ tự giữ an toàn thì ngắn: tạo điểm cuối mới với cùng CIDR, mạng con và quy tắc ủy quyền, xuất hồ sơ mới bằng aws ec2 export-client-vpn-client-configuration, và xác minh với một người dùng. Chỉ sau đó điểm cuối cũ mới được hạ xuống.
Việc cho điểm cuối cũ ngừng hoạt động có thứ tự riêng. Thu hồi các chứng chỉ máy khách mà bạn định cho ngừng trước khi xóa nó, vì một điểm cuối mới vẫn tin CA cũ sẽ tiếp tục chấp nhận những chứng chỉ mà bạn tưởng đã biến mất. Sau đó xóa điểm cuối cũ và gỡ các quy tắc ủy quyền của nó, để một hồ sơ cũ không thể kết nối lại vào mạng đích mà bạn tưởng đã đóng. Ghi ID của điểm cuối cũ và các định danh liên kết vào hồ sơ thay đổi, vì một cuộc di chuyển so với trí nhớ là cách một điểm cuối đang chạy bị dựng lại hai lần.
Sắp xếp chẩn đoán
Tách ba sự cố trước khi thay đổi bất kỳ cấu hình nào. Máy khách không hoàn tất được TLS, máy khách hoàn tất TLS và không được ủy quyền, hoặc máy khách kết nối được mà không tới được đích. Liên kết chứng chỉ thuộc loại thứ nhất, quy tắc ủy quyền không bao phủ địa chỉ máy khách thuộc loại thứ hai, còn tuyến hoặc nhóm bảo mật thuộc loại thứ ba, nơi tạo lại điểm cuối gần như luôn là bước sai.
Một điểm cuối chạy được nhiều tháng rồi dừng, không có thay đổi chứng chỉ hay chính sách, là trường hợp riêng. Dựng lại với cấu hình y hệt có thể phục hồi dịch vụ, nhưng đó là lý do giữ cấu hình tái tạo được, không phải lý do dựng lại ở mỗi sự cố.
Giữ bốn thứ dưới kiểm soát phiên bản để lần dựng lại tiếp theo là một diff chứ không phải ứng biến: tham số điểm cuối, ARN của chứng chỉ và chuỗi, quy tắc ủy quyền và CIDR máy khách. Tài liệu xác thực Client VPN liệt kê chứng chỉ nào đóng vai nào, điều đáng kiểm tra trước khi cho rằng chứng chỉ là vấn đề. Nếu nhập lại không thay đổi gì và điểm cuối vẫn bị đặt lại, nghi phạm là liên kết và câu trả lời là một điểm cuối mới dựng từ các tham số đã ghi. Nếu điểm cuối thực sự nhận đối tượng mới, liên kết đã đúng từ trước và lỗi nằm ở chuỗi máy khách hoặc lớp ủy quyền.