iOS відхилив ваш тунель strongSwan: порівняйте пропозиції IKE
Робоча адреса і чинний сертифікат усе одно можуть програти узгодження. Порівняйте рядки ike та esp з тим, що приймає телефон.
Ніщо в сертифікаті чи адресі не пояснює, чому iPhone, який торік підключався до strongSwan, цього року зазнає невдачі. Ні адреса, ні заздалегідь розподілений ключ, ні ідентичність клієнта не мали змінюватися. Змінився список перетворень, які вбудований клієнт телефона готовий узгоджувати, і щойно цей список перестає перетинатися зі списком сервера, обмін завершується перш ніж перевіряється чиясь ідентичність.
Рядок журналу, який це вирішує
Підвищте рівень журналювання для цього з'єднання і знайдіть два записи, що вирішують результат: що запропонував телефон і що вибрав сервер. Якщо журнал закінчується без вибраної пропозиції і повідомляє, що нічого не збіглося, автентифікація навіть не намагалася виконатися. Новий сертифікат і новий пароль на цьому етапі нічого не змінюють, бо обидва витрачаються пізніше. Ні те, ні інше не може вплинути на результат, вирішений до перевірки ідентичності.
Розділіть дві форми відмови, перш ніж щось правити. Жодне виправлення перетворень не рятує відхилені облікові дані, і жодне виправлення даних не рятує відхилене перетворення. Запис у журналі, де названо вибрану пропозицію, каже, який із двох випадків у вас. Без цього запису ви гадаєте.
Вибраний рядок називає пропозицію за набором перетворень, а не за дружнім ярликом. Порівняйте поля шифрування, цілісності та групи у цьому рядку зі списком, який надіслав телефон, бо розбіжність хоч в одному полі достатня для поразки.
Що змінилося в телефоні
Один випуск iOS урізав алгоритми, які його клієнт готовий використовувати. Слабкі хеші цілісності, малі групи Diffie-Hellman і пропозиції, де старі параметри перелічені першими, перестали бути прийнятними.
Довші списки тут не безпечніші. Вибір іде за прийнятим набором телефона та його власним порядком переваг, тож сервер, який оголошує широкий каталог, усе одно може програти узгодження, коли сучасні записи не ті, що вибираються. Віддавайте перевагу короткому списку з сучасними записами на початку. Довгий список, що починається зі старих параметрів, запрошує саме ту відмову, якої ви уникаєте. Прийнятий набір — це зовнішнє обмеження, яке зсувається при кожному оновленні клієнта, тому конфігурація, що працювала вчора, є доказом про вчора.
Одна пара, яка ще узгоджується
Для нинішніх телефонів достатньо однієї сучасної комбінації. Одна узгоджувана пара виглядає так:
ike=aes256-sha2_256-modp2048
esp=aes256-sha2_256
Рядок ike несе шифрування, цілісність і групу Diffie-Hellman, які використовуються під час обміну ключами. Рядок esp охоплює лише канал даних, бо група визначена раніше, ніж він застосовується. Перезавантажте з'єднання або перезапустіть демон, потім підключіть телефон знову. Зберігайте це значення групи лише якщо кожен клієнт, якому ви служите, його ще приймає, і не розширюйте пропозицію для всіх лише тому, що одному старому партнеру потрібно більше.
Три місця, де це виправити, одне зазвичай закрите
- Одна сучасна пропозиція для кожного партнера. Правильно, коли всі клієнти — нинішні телефони та настільні комп'ютери. Видаляє старі перетворення замість того, щоб узгоджувати навколо них.
- Друге визначення з'єднання для клієнтів Apple. Тримає одного старого партнера живим і дає телефону пропозицію, яку той приймає. Це коштує ще одного блоку з'єднання і робить виняток видимим.
- Зміна клієнта. Рідко доступно вам: коли профіль постачає система керування або застосунок, редактора пропозицій немає, а вбудований клієнт такого не показує.
Виберіть другий варіант, коли пристрій поза вашим контролем не можна оновити. Виберіть перший, коли можете вивести старого партнера з експлуатації і волієте нести одну політику.
Так чи інакше вибір видно в конфігурації, і в цьому суть. Тихий відкат, який узгоджується вниз до старого перетворення, гірший за явний блок, бо жоден огляд ніколи його не виявить.
Доведіть це, потім запишіть
Підключіться знову і перевірте на сервері три окремі факти: пропозицію вибрано, з'єднання показується як встановлене, і клієнт отримав адресу. Встановлене рукостискання без віддаленої адреси вказує на пул або селектори трафіку, і це належить до окремої зміни. Розгляд обох разом робить вирішене узгодження схожим на невирішене.
Запишіть набір перетворень, який було прийнято, коли ви його змінили і яку збірку клієнта перевірили. Наступне оновлення може знову зсунути вимогу, а значення, що працювали, — перше, що ви захочете мати поряд із новими.