Профил IKEv2 за Mac: задайте двата SA речника, след което тествайте
Параметрите на IKE се наследяват от Child SA, когато този речник липсва. Попълнете и двата, преведете имената и проверете за какво всъщност са се споразумели страните.
Успешното свързване доказва само, че двете страни са намерили набор от стойности, които приемат. Управляваният профил 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.
| 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 |
„Използвайте най-големия номер на група“ не е метод за избор. Идентификаторите на групите означават различни конструкции и по-голямото число не означава просто по-силна версия на същото нещо. Нека собственикът на шлюза одобри цялата комбинация, защото наборът е валиден или невалиден като цяло. Одобрен шифър с неодобрена група е неодобрено предложение и то или ще се провали, или тихо ще премине към нещо, което никоя страна не е документирала.
Проверете ограниченията на версиите, които пенсионират стари алгоритми
Схемата на полезния товар на Apple ограничава DES, 3DES, SHA1-96, SHA1-160 и групите на Diffie-Hellman 1, 2 и 5 до версии на macOS преди 26. Профил, пренесен от по-старо внедряване, може все още да съдържа една от тези стойности и все още да се свързва със стар шлюз, а това е точно случаят, в който работеща конфигурация скрива дата на оттегляне.
Получете поддържаните версии на Mac и поддържаната от шлюза политика за предложения, преди да изградите профила. След това изберете сечението и запишете защо останалите опции са изключени. Бележка „шлюзът все още предлага група 2 за стари клиенти“ струва повече от списък с шифри без история. Без тази бележка следващият рецензент не може да различи умишлено изключение от пропуск.
Проверете автентикацията на отделен ред
Съгласието по предложение не поправя грешна идентичност на сървъра. Идентичността на шлюза, доверието в сертификата и идентификационните данни на потребителя или устройството са отделни решения и всяко може да се провали, докато алгоритмите са напълно съгласувани. Промяната на алгоритъма за подпис на сертификат не е същото действие като избора на алгоритъм за шифроване на IKE, макар и двете да се появяват в един и същ преглед.
Дръжте очакваната идентичност на сървъра до предложението в записа. Когато връзка се провали след промяна на сертификат, тази двойка казва на следващия човек дали преговорите или решението за доверие са се преместили първи.
Внедрете една ревизия и прегледайте какво е договорено
Използвайте поддържания работен процес за разпространение на организацията и запишете идентификатора на профила, ревизията, целевите версии на Mac и съответната политика на шлюза. Дайте на устройствата, които не могат да се свържат, документиран път за възстановяване и избягвайте създаването на втори профил със същото име, чиято собственост никой не може да установи.
По време на приемането прегледайте инсталираната конфигурация и договорените IKE и Child асоциирания чрез одобрена диагностика. След това принудете контролирано подновяване, защото първата връзка доказва само, че първоначалните преговори са работили; несъответствие в живота обикновено се появява при първата смяна на ключ, дълго след като внедряването е одобрено.
Дръжте приетия набор с записа за ревизията. Тогава следващата актуализация на macOS или промяна на шлюза има базова линия за сравнение, вместо профил, който просто случайно се свързва днес.