Windows VPN Group24 чи MODP3072: яка група потрібна?
Номери груп — це записи в реєстрі, а не рейтинг за розміром. Зіставте назву з її параметрами, потім перевірте, які групи може виразити параметр Windows.
Group24 і MODP3072 — обидві назви групи обміну ключами, і це не одна й та сама група різної стійкості. Group24 поєднує модуль 2048 біт із підгрупою простого порядку 256 біт, тоді як MODP3072 — це група 15 розміром 3072 біти. Вибір однієї групи, коли було вказано іншу, змінює вимогу замість її виконання. Результат визначають чотири речі, і жодна з них не вимагає довіряти схожій назві.
Номер — це запис у реєстрі, а не ранг
IANA нумерує групи обміну ключами в порядку їхньої реєстрації, тому більший номер означає пізніший запис у реєстрі, а не стійкішу групу. Група 14 — це MODP на 2048 біт, група 15 — MODP на 3072 біти, а група 24 поєднує модуль 2048 біт із підгрупою простого порядку 256 біт. Читання ідентифікатора як рейтингу розміру породжує саме ту помилку, коли 24 вважають більшою за 15. Назва — це мітка, а параметри за нею — те, що переговори справді використовують.
| IANA group | What the group is | Expressible as Windows DHGroup | What a mismatch looks like |
|---|---|---|---|
| 14 | A 2048-bit finite-field modulus | Group14 | The gateway reports modp2048, which is the same group in other vocabulary |
| 15 | A 3072-bit finite-field modulus | Not in the documented enumeration | You cannot request it from this parameter; a gateway reporting modp3072 was configured elsewhere |
| 24 | A 2048-bit modulus with a 256-bit prime-order subgroup | Group24 | The gateway reports modp2048s256, so the two names differ while describing one group |
| 20 | The NIST P-384 curve | ECP384 | The gateway reports ecp384, and that 384 counts a field size rather than a modulus |
Групи на еліптичних кривих додають власну плутанину, бо кількість бітів кривої описує поле, а не модуль. Порівняння P-384 з групою над скінченним полем на 3072 біти так, ніби числа вимірюють одне й те саме, нічого вам не каже.
Що може виразити перелік Windows
Реєстр IKE і параметр клієнта Windows — це різні інтерфейси з різними словниками. Довідка щодо командлета VpnClient від Microsoft зазначає, що DHGroup приймає None, Group1, Group2, Group14, ECP256, ECP384 і Group24. Group15 у цьому задокументованому наборі відсутній, а отже, параметр не може виразити запитану групу. Це обмеження інтерфейсу, а не твердження про те, які групи підтримує протокол.
Зазначення не внесеного до списку написання, цілого числа чи скопійованого рядка політики не розширює перелік. Перевірте довідку для тієї версії Windows, яку ви справді розгортаєте, і якщо група недоступна, чесний результат — інша затверджена політика або інший клієнт.
Тримайте DHGroup, PfsGroup і тип сертифіката окремо
DHGroup вибирає групу для обміну ключами IKE, а PfsGroup керує прямою секретністю для наступних асоціацій захищеного трафіку. Це окремі поля, тому правильне налаштування одного нічого не говорить про інше. Ключ RSA або ECDSA сертифіката — третя властивість, і він належить до автентифікації, а не до ефемерного обміну. Тому один профіль може бути правильним на одному рівні й помилковим на іншому, і успішне з'єднання не покаже, на якому.
Повідомлення про те, що певний тип сертифіката нав'язав групу ECP на кожному з'єднанні IKEv2, описують одну комбінацію налаштувань. Вони не встановлюють правило протоколу, і ставлення до них як до правила — це шлях, яким локальна особливість стає політикою.
Прочитайте групу, яку погодив шлюз
Модуль VpnClient пропонує Set-VpnConnectionIPsecConfiguration як інтерфейс лише для запису, і на хості немає відповідного командлета Get-, який прочитав би цю політику назад. Запишіть застосовані значення DHGroup і PfsGroup, потім прочитайте на шлюзі, що обмін справді використав. Запускайте команди після нового з'єднання, а не після повторного підключення, яке використало стару асоціацію.
swanctl --list-sas
ipsec statusall
Профіль, який повідомляє Group24, тоді як шлюз повідомляє modp2048s256, є узгодженим, бо це одна й та сама група у двох словниках. Шлюз, який повідомляє modp3072, тоді як профіль каже Group24, не є узгодженим, і один кінець не забезпечує те, що ви вважаєте. Рядок сертифіката відповідає на окреме питання автентифікації, а поле PFS — на третє. Порівняйте всі три, перш ніж писати нотатку про відповідність.
Запишіть запитану групу, погоджену групу та інтерфейс, який прийняв або відхилив налаштування. Саме ця трійка потрібна рецензентові, і нічого з неї не можна вивести з назви політики.