Спланируйте настройки IKEv2, подходящие более чем одному клиенту
Работающий профиль на одном компьютере — это успешный тест одного клиента. Согласуйте контракт идентичности, выберите поддерживаемое пересечение, затем проверьте обновление и сон для каждой платформы.
Работающий профиль на одном компьютере — это успешный тест одного клиента. Это не развёртывание на нескольких платформах, и если относиться к нему так, возникает знакомый шаблон поддержки: Windows подключается, телефон срывается на проверке идентичности, а управляемый ноутбук переподключается при каждом пробуждении. Различия реальны и в основном предсказуемы, поэтому план должен быть матрицей, а не скриншотом.
Сначала определите контракт идентичности
Документируйте идентичность сервера, доверие к сертификату и метод аутентификации клиента до обсуждения алгоритмов. Эти три решают, может ли клиент вообще аутентифицироваться, и именно их платформы выражают по-разному.
Проверьте, как каждая платформа называет ожидаемый идентификатор и как обращается с альтернативными именами субъекта. Профиль, принимающий имя сервера на одном клиенте, может отклонить тот же сертификат на другом, потому что поле идентификатора заполняется другим значением.
| Contract element | What to decide | Where platforms diverge |
|---|---|---|
| Server identity | Name or address the client must see | Identifier field and SAN matching |
| Client authentication | Certificate, EAP method or both | Which EAP variants exist and how prompts appear |
| Trust anchor | Which CA and how it is delivered | Store location and provisioning path |
Затем выберите криптографическое пересечение
Сравните предложения, которые может предоставить каждый поддерживаемый клиент, и выберите современное пересечение, разрешённое также шлюзом. Не включайте чрезмерно большой список устаревших вариантов ради одного старого устройства, потому что этот список становится значением по умолчанию для всех последующих. Запишите, почему каждый устаревший вариант всё ещё там. Если никто не может назвать устройство, которому он нужен, это не требование.
Держите настройки IKE и CHILD раздельно в плане. Предложение, приемлемое для обмена IKE, не становится автоматически приемлемым для защищённого трафика, и эти два согласуются отдельно. Шлюз, принимающий предложение на одном уровне, всё ещё может отклонить его на другом, и журнал покажет сбой, который выглядит так, будто первый уровень прошёл успешно.
Предоставляйте учётные данные через проверенный процесс и держите пароль пользователя, общий секрет и личный ключ клиента в отдельных полях. Пробы и ошибки на одноимённых блоках — это путь, которым работающий тест становится невоспроизводимым.
Проверяйте жизненный цикл, а не устойчивое состояние
Для каждого клиента проверьте начальную аутентификацию, целевое приложение, разрешение DNS и покрытие семейств адресов. Затем отработайте части, которые появляются только позже: обновление, сон и обычное изменение сети.
Поддержка MOBIKE и поведение при повторной аутентификации могут отличаться от только что измеренного устойчивого результата. Записывайте событие и состояние сопоставления в тот момент, а не только то, выглядит ли интерфейс в итоге подключённым.
Определите, что может делать прямой трафик, пока VPN недоступен. Это решение о политике, отдельное от того, переподключится ли клиент, и большинство развёртываний отвечает на второй вопрос, игнорируя первый. Запишите ответ в заметках о развёртывании рядом с именами профилей. Кому-то он понадобится во время сбоя, и у него не будет времени восстанавливать его.
Используйте проверки идентичности сервера, когда одна платформа не согласна
Когда профиль работает на одной платформе, а другая отклоняет его имя, сравните идентификатор, который клиент действительно отправил, с идентификаторами, которые несёт сертификат. Это сравнение решает большинство таких случаев быстрее, чем изменение списков шифров.
Храните проверенную матрицу вместе с источником конфигурации и процедурой обновления. Когда поддержка старого клиента заканчивается, намеренно удалите его исключение, вместо того чтобы оставлять более слабые настройки совместимости скрытыми в шлюзе для следующего аудита. Документация strongSwan по IKEv2 — полезная справка о том, как настраиваются обмены.