Vượt qua dhparam -check có cảm giác như một phán quyết về cấu hình Diffie-Hellman của VPN bạn. Không phải vậy. Lệnh so sánh một tệp tham số với số học mà nó cho là thỏa mãn, và không nói gì về việc kích thước nhóm có khớp với chính sách của bạn hay đường hầm có nạp tệp đó hay không. Đọc nó như một bản rà soát bảo mật là giả định cần sửa trước tiên.

Một tệp tham số chứa một số nguyên tố và một bộ sinh. Tính hợp lệ là thuộc tính của những con số đó, còn độ mạnh là đánh giá về mô hình mối đe dọa và các đối tác của bạn, và hai điều đó không thể thay thế cho nhau.

Kiểm tra tính hợp lệ thực sự xác nhận điều gì

Chạy kiểm tra trên tệp bạn có và đọc câu trả lời. openssl dhparam -in dh.pem -check -noout thực hiện các kiểm tra tham số và chặn đầu ra đã mã hóa. Thông báo rằng các tham số có vẻ ổn nghĩa là các giá trị nhất quán về cấu trúc; nó không có nghĩa là một nhóm ngắn là chấp nhận được trong môi trường của bạn.

Tạo mà không có -dsaparam cho ra các số nguyên tố an toàn, trong đó (p-1)/2 cũng là số nguyên tố, đó là lý do nó mất nhiều thời gian. Đường kiểu DSA xây dựng tham số nhanh hơn và chuyển chúng sang dạng DH, và hướng dẫn OpenSSL gắn thêm yêu cầu về khóa mới vào việc sử dụng chúng. Không cấu trúc nào là bí mật phiên: tệp là tài liệu cấu hình công khai, không phải khóa riêng của chứng chỉ và không phải bí mật chia sẻ của kênh điều khiển.

Đọc kích thước và bộ sinh trước khi đánh giá tệp

Kết quả hợp lệ có ý nghĩa hơn khi bạn biết điều gì đã được xác thực. In các tham số bằng openssl dhparam -in dh.pem -text -noout, sau đó ghi lại độ dài số nguyên tố và giá trị bộ sinh.

So sánh độ dài đó với một chính sách bằng văn bản chứ không phải với thói quen. Nếu yêu cầu của bạn là một nhóm có tên đã được phê duyệt từ một ngăn xếp TLS hiện đại, một tệp tạo thủ công có thể là hiện vật hoàn toàn sai. Ghi cả hai con số vào nhật ký thay đổi để người rà soát tiếp theo không phải suy ra lại.

Đừng biến việc kiểm tra thành tạo lại

Chế độ hỏng ở đây là một lệnh trông như kiểm tra nhưng hành xử như bộ sinh. Thêm độ dài bit, như trong openssl dhparam -check 2048, yêu cầu tham số mới và tệp đầu vào bị bỏ qua. Một tùy chọn bộ sinh cũng có thể làm như vậy. Nếu bạn chỉ muốn xem, hãy truyền -in và -check và không có gì mô tả kích thước.

Ghi đầu ra đè lên đường dẫn gốc cũng đáng bị nghi ngờ như vậy, vì hướng dẫn cảnh báo rằng ghi tệp không phải là nguyên tử. Sự cố giữa lúc ghi để lại một tệp tham số bị cắt và một dịch vụ không khởi động.

Ghép nhóm với giao thức, không với xu hướng

Chính sách kích thước là quyết định mà công cụ không thể đọc thay bạn. Nhóm trường hữu hạn 2048 bit là mức sàn phổ biến và nhóm lớn hơn tốn thời gian bắt tay, vì vậy hãy chọn con số mà đường cơ sở của riêng bạn nêu ra và ghi lại. Các nhóm được dùng rộng rãi không yếu vì chúng công khai; sự mờ tối không thêm gì ở đây.

Ở nơi ngăn xếp hỗ trợ các nhóm có tên đã được phê duyệt, hãy theo cách bố trí đã được ghi lại đó thay vì tạo các tham số bất thường để chúng trông độc đáo. Một nhóm có tên là thứ mà đối tác có thể nhận ra và người rà soát có thể tra cứu, điều này đáng giá hơn một tệp tùy chỉnh mà không ai có thể phân loại.

Xác nhận VPN có nạp tệp hay không

Một tệp tham số đúng mà không tiến trình nào đọc thì không thay đổi gì. Trong OpenVPN, chỉ thị phía máy chủ là dh kèm đường dẫn, và các triển khai dựa vào ECDH hoặc trao đổi khóa TLS 1.3 có thể đặt dh none thay vào đó. Hãy kiểm tra cấu hình đang chạy chứ không phải mẫu, rồi xác nhận rằng máy khách và đối tác thương lượng cùng một cấu trúc.

Khép vòng lặp bằng những bằng chứng bạn thực sự cần: nhóm mà đường hầm đã thương lượng, độ dài tham số trong tệp và dòng chính sách mà độ dài đó thỏa mãn. Một lần kiểm tra đạt chỉ là một mục trong danh sách đó. Coi nó là toàn bộ câu trả lời chính là cách một nhóm ngắn sống sót qua cuộc kiểm toán lẽ ra phải bắt được nó.

Bài viết liên quan