Windows VPN Group24 срещу MODP3072: коя група ви е нужна?
Номерата на групите са записи в регистъра, а не подредба по размер. Свържете името с параметрите му, след което проверете кои групи може да изрази параметърът на Windows.
Group24 и MODP3072 са две имена на група за обмен на ключове и не са една и съща група с различна сила. Group24 съчетава 2048-битов модул с подгрупа от прост ред с дължина 256 бита, докато MODP3072 е 3072-битовата група 15. Изборът на едната, когато е зададена другата, променя изискването, вместо да го изпълни. Изходът се решава от четири неща и нито едно от тях не изисква да се доверявате на име, което изглежда подобно.
Номерът е запис в регистъра, а не ранг
IANA номерира групите за обмен на ключове в реда на регистрирането им, така че по-голям номер означава по-късен запис в регистъра, а не по-силна група. Група 14 е 2048-битов MODP, група 15 е 3072-битов MODP, а група 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 — на третия. Сравнете и трите, преди да напишете бележка за съответствие.
Запишете поисканата група, договорената група и интерфейса, който е приел или отхвърлил настройката. Тази тройка е това, което е нужно на рецензента, и нищо от нея не може да се изведе от името на политиката.