Một thỏa thuận IKEv2 giữa máy khách Windows và cổng FortiGate cứ thất bại, và việc tìm một con số không khớp lại đưa ra danh sách số dài hơn. Danh sách chỉ trở nên dễ quản khi được tách thành ba dòng thất bại độc lập: trao đổi khóa bảo vệ IKE, lớp bảo vệ áp cho CHILD SA, và xác thực chứng minh mỗi bên là ai. Số nhóm xuất hiện ở hai trong số các dòng đó và mang nghĩa khác nhau.

Ba dòng thất bại độc lập

Dòng thứ nhất là trao đổi khóa bên trong chính IKE, tạo ra các khóa bảo vệ cuộc thương lượng. Dòng thứ hai là đề xuất cho CHILD SA, bảo vệ lưu lượng mà đường hầm mang theo. Dòng thứ ba là xác thực, quyết định mỗi bên trình ra gì và bên kia kiểm tra thế nào.

Các thất bại rơi vào những chỗ khác nhau. Thất bại trao đổi dừng cuộc thương lượng trước khi có bất kỳ đường hầm nào. Thất bại CHILD SA xảy ra sau khi xác thực thành công, đôi khi chỉ khi đổi khóa. Thất bại xác thực có thể trông giống thất bại trao đổi trong nhật ký nếu bạn chỉ đọc lỗi đầu tiên.

Tách các dòng không phải là việc ghi sổ. Nó thay đổi việc thiết lập nào đáng sửa, và nó ngăn bước đi đắt nhất trong toàn bộ lĩnh vực này, là tạo lại những chứng chỉ đang chạy tốt để sửa một đề xuất không khớp. Một dòng thay đổi không bao giờ được buộc hai dòng kia thay đổi theo. Chính sự độc lập đó là toàn bộ lý do viết chúng riêng ra.

Hai trường của Windows điều khiển gì

Windows tách hai trường ra: DHGroup cấu hình chính trao đổi IKE, còn PfsGroup cấu hình chính sách IPsec bảo vệ lưu lượng trong đường hầm. Chúng thuộc các pha khác nhau. So một trường IKE của Windows với một giá trị phase-2 của FortiGate là kiểm tra sai cặp, và các con số có thể khớp trong khi trao đổi bên dưới vẫn thất bại.

Get-VpnConnection -Name "Corp-IKEv2"
Get-NetIPsecMainModeSA
Get-NetIPsecQuickModeSA

Lệnh thứ hai và thứ ba báo cáo các hiệp hội an ninh thực sự tồn tại, và đó là thứ gần nhất với một câu trả lời mà máy khách có thể cho bạn. Một hiệp hội main-mode không có hiệp hội quick-mode là vấn đề CHILD SA, và đó là dấu hiệu của việc phase-2 không khớp chứ không phải vấn đề chứng chỉ.

Ghi lại điều gì đã được đề nghị và điều gì đã được chọn trong một lần thử. Danh sách đề nghị có một đề xuất chấp nhận được cùng một đề xuất được chọn không khớp chính sách của cổng là một bất đồng cấu hình, không phải một bí ẩn tương tác.

Agreement rowWhere it is configured in WindowsWhat it does not decide
IKE key exchangeDHGroup on the VPN connection IPsec settingsThe protection used for tunneled traffic
CHILD SA protectionPfsGroup in the same policy objectWhich certificate the peer presents
Peer authenticationMachine or user certificate, or a supported EAP methodAny group number used for key exchange
Certificate validationTrusted CA store on the validating sideThe private key of the certificate being presented

Nhóm đường cong elliptic không chọn khóa ký của bạn

Suy luận sai dai dẳng nhất trong lĩnh vực này là việc chọn một nhóm DH đường cong elliptic đòi hỏi chứng chỉ đường cong elliptic. Một nhóm DH cung cấp vật liệu trao đổi khóa; thuật toán ký do khung xác thực thương lượng, và hai điều đó là hai quyết định riêng trong IKEv2.

RFC 7427 tồn tại chính vì những quyết định đó trước đây bị quấn vào nhau, quy định cách các thuật toán ký được quảng bá và chọn độc lập với trao đổi khóa. Một cổng có thể hỗ trợ đồng thời một nhóm đường cong và một lựa chọn các sơ đồ ký.

Vì vậy khi một cuộc thương lượng thất bại sau khi đổi nhóm, hãy xem phương thức xác thực trước khi xem loại khóa của chứng chỉ. Đổi chứng chỉ là một thao tác chậm và rủi ro hiếm khi là câu trả lời, và làm việc đó trước sẽ phá hủy khả năng biết thay đổi nào thực sự giúp ích. Hãy đọc dòng xác thực trước khi chạm vào kho chứng chỉ.

Giữ hai thứ ở hai dòng riêng trong bảng thỏa thuận thì sai lầm đó không còn hấp dẫn nữa. Một dòng liệt kê các nhóm, dòng kia liệt kê các sơ đồ ký và danh tính, và không dòng nào là bằng chứng về dòng kia.

Đặt mỗi khóa riêng cạnh chủ sở hữu thật của nó

Một cổng trình ra chứng chỉ của chính nó cần khóa riêng khớp với nó. Một đồng cấp kiểm tra chuỗi cần chứng chỉ CA, và đặc biệt không cần khóa ký của CA. Nhầm lẫn ba thứ đó là cách người ta nhập khóa riêng của CA vào một thiết bị VPN để một chứng chỉ hiện ra ở một hạng mục khác.

Trên FortiOS các vai trò tách biệt: một chứng chỉ cục bộ cùng khóa của nó, một chứng chỉ từ xa dùng để nhận diện đồng cấp, và một mục CA từ xa thiết lập niềm tin vào các chứng chỉ mà CA đó đã ký. Một mục CA từ xa không có khóa riêng không phải là thiếu; nó đúng cho mục đích của nó.

Các khóa ký CA đã nhập mở rộng quyền của bất kỳ ai đọc được thiết bị đó. Chúng cũng không giải quyết việc kiểm tra đồng cấp thông thường, vì kiểm tra cần chứng chỉ công khai và quyết định tin cậy, không cần khả năng tạo ra chứng chỉ mới.

Giữ khóa ký CA trong quy trình của chính người phát hành, và ghi lại thiết bị nào giữ khóa nào. Một bảng chủ sở hữu ngắn đáng giá hơn một bảng thuật toán dài khi một cuộc kiểm toán hỏi ai có thể mạo danh ai. Không ai nhập một khóa mà họ biết chỉ là hàng tồn kho. Hãy viết bản kiểm kê trước sự cố, không phải sau.

Bài viết liên quan