Hồ sơ IKEv2 trên Mac: đặt cả hai từ điển SA, rồi kiểm tra
Child SA kế thừa các tham số IKE khi từ điển đó thiếu. Điền cả hai, dịch tên và kiểm tra xem các bên thực sự đã thương lượng gì.
Một kết nối thành công chỉ chứng minh rằng cả hai đầu đã tìm được một tập giá trị mà chúng chấp nhận. Hồ sơ IKEv2 trên Mac được quản lý mang hai từ điển liên kết bảo mật, cổng có danh sách đề xuất riêng, và kết nối thành công tại bất kỳ giao điểm nào cả hai bên cho phép. Hãy thực hiện các kiểm tra dưới đây theo thứ tự, và dừng lại ở nơi hai đầu không đồng ý thay vì thêm một mật mã khác để xem liệu nó có giúp ích. Mỗi bước loại trừ một lớp khác của hồ sơ.
Kiểm tra cả hai từ điển trước khi sửa một giá trị
Trong cài đặt IKEv2 của tải trọng VPN, IKESecurityAssociationParameters mô tả liên kết IKE và ChildSecurityAssociationParameters mô tả Child SA. Lược đồ của Apple nêu rằng các tham số IKE cũng áp dụng cho Child SA khi từ điển thứ hai không có. Việc kế thừa đó tiện lợi, và đó cũng là cách một hồ sơ kết thúc với những giá trị mà không ai chủ động chọn.
<key>IKESecurityAssociationParameters</key>
<dict>
<key>EncryptionAlgorithm</key><string>AES-256</string>
<key>IntegrityAlgorithm</key><string>SHA-256</string>
<key>DiffieHellmanGroup</key><integer>14</integer>
<key>LifeTimeInMinutes</key><integer>1440</integer>
</dict>
Ghi cả hai dòng vào hồ sơ triển khai ngay cả khi các giá trị trùng nhau. Khi đó người đánh giá có thể thấy Child SA đã được xem xét chứ không phải kế thừa do tình cờ, và một thay đổi sau đó ở một dòng không âm thầm thay đổi dòng kia.
Kiểm tra ý nghĩa của từng khóa trước khi sao chép một chuỗi
Bốn khóa không thể hoán đổi với chuỗi đề xuất từ một sản phẩm khác. Tên thuật toán phụ thuộc vào cách triển khai, vì vậy hãy dịch bộ đã chọn qua cú pháp được ghi lại của từng bên thay vì dán đề xuất strongSwan vào trường của Apple.
| Key | Holds | Common mistake |
|---|---|---|
| EncryptionAlgorithm | Cipher for that association | Assuming an AEAD name also sets integrity |
| IntegrityAlgorithm | Integrity for the chosen suite | Leaving it set for an AEAD suite that does not use one |
| DiffieHellmanGroup | Numeric group identifier | Reading the number as key size in bits |
| LifeTimeInMinutes | Association lifetime | Setting it shorter than the gateway's renewal margin |
«Dùng số nhóm lớn nhất» không phải là phương pháp chọn. Các mã định danh nhóm đặt tên cho những cấu trúc khác nhau, và số lớn hơn không chỉ đơn giản là phiên bản mạnh hơn của cùng một thứ. Hãy để chủ sở hữu cổng phê duyệt toàn bộ tổ hợp, vì một bộ hợp lệ hay không hợp lệ như một tổng thể. Một mật mã được phê duyệt với một nhóm chưa được phê duyệt là đề xuất chưa được phê duyệt, và nó sẽ thất bại hoặc lặng lẽ quay về một thứ mà không bên nào ghi lại.
Kiểm tra giới hạn phiên bản loại bỏ các thuật toán cũ
Lược đồ tải trọng của Apple giới hạn DES, 3DES, SHA1-96, SHA1-160 và các nhóm Diffie-Hellman 1, 2 và 5 cho các phiên bản macOS trước 26. Một hồ sơ được chuyển từ lần triển khai cũ hơn vẫn có thể chứa một trong những giá trị đó và vẫn kết nối với cổng cũ, và đây chính là trường hợp một cấu hình đang hoạt động che giấu ngày ngừng hỗ trợ.
Lấy các phiên bản Mac được hỗ trợ và chính sách đề xuất mà cổng duy trì trước khi xây dựng hồ sơ. Sau đó chọn giao điểm và ghi lại lý do các lựa chọn còn lại bị loại. Một ghi chú rằng «cổng vẫn cung cấp nhóm 2 cho máy khách cũ» đáng giá hơn một danh sách mật mã không có lịch sử. Không có ghi chú đó, người đánh giá tiếp theo không thể phân biệt một ngoại lệ có chủ ý với một sơ suất.
Kiểm tra xác thực trên dòng riêng của nó
Thỏa thuận về một đề xuất không sửa được danh tính máy chủ sai. Danh tính cổng, sự tin cậy vào chứng chỉ và thông tin đăng nhập của người dùng hoặc thiết bị là những quyết định riêng biệt, và mỗi quyết định có thể thất bại trong khi các thuật toán hoàn toàn thẳng hàng. Thay đổi thuật toán chữ ký của chứng chỉ không phải là hành động giống như chọn thuật toán mã hóa IKE, dù cả hai đều xuất hiện trong cùng một lần đánh giá.
Giữ danh tính máy chủ mong đợi bên cạnh đề xuất trong hồ sơ. Khi kết nối thất bại sau khi thay đổi chứng chỉ, cặp đó cho người tiếp theo biết liệu thương lượng hay quyết định tin cậy đã dịch chuyển trước.
Triển khai một bản sửa đổi và kiểm tra những gì đã được thương lượng
Dùng quy trình phân phối được tổ chức hỗ trợ và ghi lại mã định danh hồ sơ, bản sửa đổi, các phiên bản Mac mục tiêu và chính sách cổng tương ứng. Cung cấp cho các thiết bị không thể kết nối một đường khôi phục được ghi lại, và tránh tạo hồ sơ thứ hai cùng tên mà không ai có thể xác lập quyền sở hữu.
Trong quá trình chấp nhận, hãy kiểm tra cấu hình đã cài đặt và các liên kết IKE và Child đã thương lượng thông qua chẩn đoán được phê duyệt. Sau đó buộc gia hạn có kiểm soát, vì kết nối đầu tiên chỉ chứng minh thương lượng ban đầu đã hoạt động; sự không khớp về thời hạn thường xuất hiện ở lần đổi khóa đầu tiên, rất lâu sau khi triển khai được phê duyệt.
Giữ bộ được chấp nhận cùng hồ sơ sửa đổi. Khi đó bản cập nhật macOS hoặc thay đổi cổng tiếp theo có một đường cơ sở để so sánh thay vì một hồ sơ chỉ tình cờ kết nối được hôm nay.