Các chứng chỉ đã được cài đặt, khóa riêng có mặt và đường hầm vẫn thất bại khi xác thực. Một máy có nhiều chứng chỉ có thể cung cấp cho VPN một ứng viên mà không ai dự định, và máy khách không có cách nào biết cổng sẽ chấp nhận chứng chỉ nào. Xóa những chứng chỉ khác là một chính sách lựa chọn có hậu quả cho mọi dịch vụ trên máy. Thay vào đó, hãy thu hẹp tập hợp hợp lệ, rồi xác nhận chứng chỉ nào thực sự được đưa ra.

Nhiều chứng chỉ, một được cung cấp

Hồ sơ VPN gốc của Windows với xác thực chứng chỉ máy cung cấp hai bộ lọc giới hạn các ứng viên: bộ lọc nhà phát hành và bộ lọc sử dụng khóa mở rộng. Chúng thu nhỏ tập hợp mà máy khách có thể chọn. Chúng không sửa chữa một chứng chỉ không phù hợp và không bảo đảm máy chủ chấp nhận phần còn lại. Ranh giới đó đáng được ghi vào nhật ký thay đổi, vì người đọc tiếp theo sẽ cho rằng bộ lọc đã quyết định nhiều hơn thực tế.

Sự cố chúng xử lý thì hẹp và cụ thể. Một chứng chỉ hợp lệ từ cơ quan sai, hoặc được cấp cho mục đích mà cổng không chấp nhận, bị chọn trước chứng chỉ dự định, điều này tạo ra lỗi xác thực bên cạnh một kho khỏe mạnh. Hai bộ lọc biến điều đó thành một tập hợp đủ nhỏ để lý luận, và phần còn lại của trang này áp dụng chúng theo thứ tự.

Kiểm tra kho trước khi sửa hồ sơ

Liệt kê các ứng viên và thuộc tính của chúng trong kho mà hồ sơ thực sự sử dụng. Không có gì ở đây xuất khóa riêng, và không chứng chỉ nào phải rời khỏi máy:

Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList

Đọc kết quả cho các thuộc tính mà quyết định phụ thuộc vào: một khóa riêng dùng được, một khoảng hiệu lực chấp nhận được, nhà phát hành dự định và các mục đích trong phần mở rộng. Một chứng chỉ có thể vừa hiện diện, vừa được đăng ký đúng, vừa vô dụng cho kết nối này. Cột dấu vân tay là cột bạn sẽ so sánh sau này, nên hãy giữ lại kết quả.

Xác nhận hồ sơ và phạm vi của nó trước khi sửa, vì một chứng chỉ máy trong LocalMachine, một chứng chỉ EAP-TLS của người dùng và kho khóa riêng của chính một ứng dụng là ba ngữ cảnh khác nhau. Dùng phạm vi tất cả người dùng và ngữ cảnh quản trị khi hồ sơ được quản lý nằm ở đó. Việc tạo hồ sơ thứ hai với tên tương tự sẽ che giấu cấu hình nào mà kết nối thực sự dùng.

Bộ lọc nhà phát hành muốn một đối tượng

Tham số nhà phát hành mong đợi một đối tượng chứng chỉ, không phải tên hiển thị và không phải chuỗi dấu vân tay trần. Cung cấp chứng chỉ của cơ quan đã được phê duyệt từ một đường dẫn bạn đã xem xét, trong kho nơi nó thuộc về:

$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer

Đừng thay thế chứng chỉ lá của chính máy khách, một cơ quan khác có chủ thể tương tự, hay một gốc vừa mới tạo chỉ vì kiểu tham số chấp nhận nó. Hai cơ quan có thể chia sẻ cùng một chuỗi chủ thể, và đó là lý do đối tượng quan trọng hơn văn bản. Tài liệu tham khảo cmdlet của Microsoft ghi lại cả hai kiểu đầu vào, và đáng đọc trước lần sửa đầu tiên thay vì sau lần thử thất bại.

Bộ lọc sử dụng muốn một chuỗi OID

Tham số sử dụng khóa mở rộng nhận các chuỗi OID, và mục đích xác thực máy khách là 1.3.6.1.5.5.7.3.2. Áp dụng nó giới hạn các ứng viên ở những chứng chỉ mang mục đích đó, đúng là điều một triển khai có xác thực máy khách muốn:

Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'

Giá trị là một mảng, nên một triển khai cần nhiều mục đích sẽ truyền chúng dưới dạng danh sách. Điều bộ lọc không thể làm là thêm một mục đích vào chứng chỉ: nó là biểu thức lựa chọn được đánh giá dựa trên các phần mở rộng đã ký, và không bộ lọc nào ghi lại những phần đó, nên một chứng chỉ thiếu mục đích phải đi qua đăng ký lần nữa.

Giữ cấu hình EAP của chứng chỉ người dùng tách khỏi việc lọc chứng chỉ máy, vì chúng nằm ở những nơi khác nhau và một thay đổi ở bên này hiếm khi giải thích một lỗi ở bên kia. Cũng kiểm tra xem miền hay quản lý thiết bị có sở hữu hồ sơ hay không, vì một sửa đổi cục bộ có thể bị thay thế ở lần làm mới chính sách tiếp theo mà không ai chạm vào máy.

Chứng minh máy khách đã cung cấp chứng chỉ nào

Thiết lập một kết nối mới và đọc bằng chứng xác thực của máy khách và máy chủ cho danh tính bạn dự định. Khi nhiều hơn một chứng chỉ thỏa mãn các bộ lọc, kết quả là một nhóm nhỏ hơn chứ không phải một chứng chỉ lá được ghim, nên lần thử tiếp theo có thể chọn một thành viên khác. Ghi lại dấu vân tay xuất hiện trong bằng chứng đó và so sánh với dấu bạn đã ghi từ kho.

Một lệnh thành công không phải là một xác thực thành công. Kết quả đáng ghi lại là chứng chỉ dự định đang xác thực dưới chính sách được quản lý trong khi mọi chứng chỉ không liên quan vẫn sẵn có cho các dịch vụ phụ thuộc vào nó. Nếu lỗi vẫn tồn tại sau cả hai bộ lọc, nơi cần xem tiếp theo là các ứng viên còn lại chứ không phải toàn bộ hồ sơ.

Bài viết liên quan