Một nửa hệ thống kết nối lại sau khi gia hạn và ba thiết bị từ chối, mỗi thiết bị kèm cảnh báo về danh tính của cổng. Bản thân việc gia hạn là thường lệ. Thứ ba thiết bị đó giữ là một ghim vào đối tượng cũ, và ghim không phải danh sách CA, kiểm tra tên hay mục trong kho tin cậy. Hãy so sánh ba cơ chế trước khi chạm vào bất kỳ máy khách nào.

Một lần gia hạn, hai hành vi

Các máy khách kết nối lại có quyết định tin cậy vẫn đạt, còn những máy từ chối có một yêu cầu mà chứng chỉ mới không đáp ứng. Sự khác biệt đó là thông tin, không phải nhiễu. Đọc chính xác thông báo của máy khách bị lỗi. Tên không khớp, nhà phát hành không xác định và dấu vân tay đã thay đổi là ba phán quyết khác nhau, và chỉ phán quyết cuối cùng chỉ ra một ghim.

Cũng kiểm tra xem máy khách bị lỗi đã chọn hồ sơ nào. Bản sao đã nhập nằm trong kho riêng của nó không thay đổi khi quản trị viên sửa tệp gốc ở nơi khác.

Gia hạn thay thế đối tượng, không chỉ ngày tháng

Dấu vân tay nhận diện nội dung chứng chỉ đã mã hóa. Gia hạn tạo ra chứng chỉ mới, nên dấu vân tay thay đổi ngay cả khi tên chủ thể và khóa công khai giữ nguyên. Điều đó là dự kiến và vô hại với máy khách tin cậy một CA và xác minh tên. Điều đó gây chết người với máy khách được cấu hình chỉ chấp nhận đúng một chứng chỉ, và cũng gây chết người với máy khách mà kho tin cậy chưa bao giờ nhận được nhà phát hành mới.

openssl x509 -in server.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl x509 -in server.pem -noout -pubkey | openssl sha256

Dòng thứ hai trả lời một câu hỏi khác, liệu cặp khóa có sống sót. Bản gia hạn dùng lại khóa giữ nguyên giá trị đó và chỉ thay chứng chỉ, và đó chính là trường hợp quản trị viên dễ cho rằng không có gì thay đổi. Kiểm tra chứng chỉ đang được triển khai, không phải chứng chỉ trên máy chủ biên dịch. So sánh một tệp trong kho lưu trữ chứng minh điều gì đã được tạo ra, không phải điều mà một trình lắng nghe đang trình bày ngay lúc này.

Đọc xem máy khách đang ghim gì

Một số máy khách giữ dấu vân tay trong hồ sơ của mình và so sánh nó ở mỗi kết nối. Những máy khác lưu nó trong kho tin cậy của nền tảng, và một số khác chỉ dựa vào CA. Cách sửa khác nhau trong từng trường hợp, nên hãy xác định cơ chế trước.

grep -n 'peer-fingerprint' /etc/openvpn/client/*.conf
openssl s_client -connect gw.lab.example.net:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -fingerprint -sha256

Lệnh đầu tiên cho thấy một ghim trong hồ sơ thông thường; lệnh thứ hai cho thấy dấu vân tay mà điểm cuối thực sự phục vụ ngay bây giờ. Khi hai giá trị đó khác nhau, bạn đã định vị được lỗi mà không cần đoán. Đừng dán giá trị mới vào mọi máy khách phàn nàn. Máy khách từ chối vì lý do nhà phát hành sẽ tiếp tục từ chối, và bạn sẽ tự thuyết phục rằng dấu vân tay là vấn đề trong khi nó không phải.

So sánh chứng chỉ mà mỗi backend phục vụ

Kết quả chập chờn thường có nghĩa là nhiều hơn một điểm cuối, và bản gia hạn chỉ áp dụng cho một nút để các nút khác trình bày đối tượng cũ. So sánh từng backend theo địa chỉ thay vì theo tên chung.

for h in 10.30.0.11 10.30.0.12; do echo "$h"; openssl s_client -connect $h:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -subject -dates -fingerprint -sha256; done

Một nhóm trong đó một nút bị chậm giải thích cho máy khách kết nối được ở lần thử thứ hai và thất bại ở lần đầu. Nó cũng giải thích một kiểm tra giám sát vẫn đạt trong khi người dùng phàn nàn. Hãy sửa độ trễ trước. Việc cuộn cấu hình tin cậy trước khi mọi nút phục vụ chứng chỉ mới tạo ra một khoảng thời gian không gì hoạt động, và cuộn sau đó để máy khách thất bại không thể đoán trước.

Thay đổi tin cậy qua đường được quản lý

Xác nhận việc thay thế qua một kênh quản trị đã đáng tin cậy trước khi chấp nhận nó ở bất cứ đâu. Một ngày hết hạn hợp lý không phải bằng chứng sở hữu. Cập nhật cấu hình được quản lý thông qua quy trình sở hữu nó, với mọi chồng lấn theo kế hoạch của các danh tính được chấp nhận, và giữ lại việc xác minh tên mà triển khai yêu cầu. Một ghim không có kiểm tra tên là thiết kế yếu hơn tin cậy CA mà nó đã thay thế.

Sau đó xác minh từng máy khách, kết nối, xác nhận danh tính mà nó đã chấp nhận, và ghi lại phiên bản chứng chỉ mà nó đang tin cậy. Một cảnh báo bị bỏ qua một lần có thói quen quay lại ở lần gia hạn tiếp theo.

Bài viết liên quan