Успішне з'єднання доводить лише те, що обидві сторони знайшли набір значень, які вони приймають. Керований профіль IKEv2 для Mac містить два словники асоціації безпеки, у шлюзу є власний список пропозицій, і з'єднання встановлюється на будь-якому перетині, який допускають обидві сторони. Виконуйте наведені нижче перевірки по порядку й зупиняйтеся там, де два кінці розходяться, замість того щоб додавати ще один шифр і дивитися, чи це допоможе. Кожен крок виключає інший шар профілю.

Перевірте обидва словники, перш ніж змінювати значення

У налаштуваннях IKEv2 корисного навантаження VPN IKESecurityAssociationParameters описує асоціацію IKE, а ChildSecurityAssociationParameters описує Child SA. Схема Apple зазначає, що параметри IKE застосовуються й до Child SA, коли другого словника немає. Це успадкування зручне, і саме так у профілі з'являються значення, яких ніхто свідомо не вибирав.

<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>

Записуйте обидва рядки до запису розгортання, навіть коли значення збігаються. Тоді рецензент побачить, що Child SA розглядали, а не успадкували випадково, і подальша зміна одного рядка не змінить мовчки інший.

Перевірте, що означає кожен ключ, перш ніж копіювати рядок

Чотири ключі не взаємозамінні з рядком пропозиції з іншого продукту. Назви алгоритмів залежать від реалізації, тому перекладайте вибраний набір через документований синтаксис кожної сторони, а не вставляйте пропозицію strongSwan у поле Apple.

KeyHoldsCommon mistake
EncryptionAlgorithmCipher for that associationAssuming an AEAD name also sets integrity
IntegrityAlgorithmIntegrity for the chosen suiteLeaving it set for an AEAD suite that does not use one
DiffieHellmanGroupNumeric group identifierReading the number as key size in bits
LifeTimeInMinutesAssociation lifetimeSetting it shorter than the gateway's renewal margin

«Використовуйте найбільший номер групи» — це не метод вибору. Ідентифікатори груп позначають різні конструкції, і більший номер не означає просто сильнішу версію того самого. Нехай власник шлюзу затвердить повну комбінацію, бо набір дійсний або недійсний як ціле. Затверджений шифр із незатвердженою групою — це незатверджена пропозиція, і вона або не спрацює, або мовчки відкотиться до того, чого жодна сторона не задокументувала.

Перевірте обмеження версій, які виводять з експлуатації старі алгоритми

Схема корисного навантаження Apple обмежує DES, 3DES, SHA1-96, SHA1-160 і групи Diffie-Hellman 1, 2 і 5 версіями macOS до 26. Профіль, перенесений зі старішого розгортання, може досі містити одне з цих значень і досі підключатися до старого шлюзу, і це саме той випадок, коли робоча конфігурація приховує дату виведення з експлуатації.

Отримайте підтримувані версії Mac і політику пропозицій, яку підтримує шлюз, перш ніж будувати профіль. Потім виберіть перетин і запишіть, чому решту варіантів виключено. Нотатка «шлюз досі пропонує групу 2 для старих клієнтів» цінніша за список шифрів без історії. Без цієї нотатки наступний рецензент не відрізнить навмисний виняток від недогляду.

Перевірте автентифікацію окремим рядком

Згода щодо пропозиції не виправляє неправильну ідентичність сервера. Ідентичність шлюзу, довіра до сертифіката й облікові дані користувача або пристрою — це окремі рішення, і кожне може не спрацювати, поки алгоритми повністю узгоджені. Змінити алгоритм підпису сертифіката — не та сама дія, що вибрати алгоритм шифрування IKE, хоча обидва фігурують в одній перевірці.

Тримайте очікувану ідентичність сервера поряд із пропозицією в записі. Коли з'єднання не вдається після зміни сертифіката, ця пара каже наступній людині, що зрушило першим: переговори чи рішення про довіру.

Розгорніть одну ревізію й перевірте, про що домовилися

Використовуйте підтримуваний організацією процес розповсюдження й запишіть ідентифікатор профілю, ревізію, цільові версії Mac і відповідну політику шлюзу. Дайте пристроям, які не можуть підключитися, задокументований шлях відновлення й уникайте створення другого профілю з тією самою назвою, власника якого ніхто не зможе встановити.

Під час приймання перевірте встановлену конфігурацію й узгоджені асоціації IKE та Child за допомогою схваленої діагностики. Потім примусово виконайте контрольоване оновлення, бо перше з'єднання доводить лише те, що початкові переговори працювали; невідповідність часу життя зазвичай проявляється під час першої заміни ключів, значно пізніше затвердження розгортання.

Тримайте прийнятий набір разом із записом ревізії. Тоді наступне оновлення macOS або зміна шлюзу матиме базу для порівняння, а не профіль, який сьогодні просто випадково підключається.

Схожі статті