Потребителска политика за IKEv2 в Windows: прилагайте я като отделна стъпка
Подготвената връзка и потребителският криптографски набор са два отделни резултата. Съгласувайте полетата на политиката, обхвата на профила и собственика, който ги прилага отново.
Пакетът за подготвяне създава връзка IKEv2 и полученият профил договаря нещо различно от набора, който сте предвидили. Пакетът си свърши работата; просто никога не е имал поле за работата, която сте предположили. Третирайте криптографския набор като отделна, проверима стъпка по подготвянето.
Минете през петте точки по-долу по ред и дръжте резултатите от приемането отделни.
Два вида политика зад сходни имена
Windows разделя политиката, която защитава обмена на ключове, от политиката, която защитава трафика. Страната на IKE се настройва с метод за криптиране и метод за цялост. Страната на данните се настройва с константи за шифър и за трансформация за удостоверяване, и тези константи използват собствени имена. Един етикет AES, копиран в грешното поле, създава връзка, която се установява по политика, която никой не е одобрил.
Групата за обмен на ключове и perfect forward secrecy принадлежат към същото договаряне и трябва да са приемливи за шлюза. Задаването им без проверка на отсрещната страна води до отказ на по-късен етап от този, който сте редактирали, и затова тези грешки изглеждат като проблеми на шлюза.
Изградете пълна политика, а не две имена на алгоритми
Запишете всяко поле изрично, включително тези, които смятате за подразбиращи се. Частична политика, приложена с флаг за принуда, става запазената конфигурация, а пропуснатите стойности са това, което платформата е имала в този момент. Стойности с еднакъв префикс не са взаимозаменяеми между полетата и едно от известните имена на трансформация е валидно само като трансформация за удостоверяване.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
Приемайте този блок като илюстративен набор, който и двете страни трябва да поддържат, а не като препоръка. Превключвателят за принуда потиска подкана; той не одобрява пакет, който не сте прегледали.
Първо създайте, после приложете — в един обхват
Връзката трябва да съществува, преди да може да се зададе политиката ѝ, и обхватът трябва да съвпада на всяка стъпка. Стъпка в контекста на машината не може да намери частния профил на произволен потребител само защото показваното име е същото. Връзките за всички потребители, потребителските връзки и техните директории за състояние са отделни обекти с отделни имена.
Редът е по-важен, отколкото изглежда в пакет за подготвяне, защото две команди могат да се изпълнят по-близо една до друга, отколкото е нужно за създаване на връзката. Опаковайте работата след конфигурирането като одобрена команда за подготвяне с обявен контекст на изпълнение и оставете машината за подготвяне да я подреди, вместо да вмъквате предполагаемо забавяне. Пауза, достатъчно дълга на вашия тестов хардуер, е състояние на състезание със забавено действие. Записвайте зависимостта, а не продължителността.
Документираните полета на Configuration Designer описват една настройка на VPN и не разкриват всяко вградено управление на IPsec. Ако изискването е управлявана доставка, доставчикът на конфигурационна услуга VPNv2 има раздел за криптографски набор точно за тази цел.
Определете един собственик на политиката
По-късно обновяване на профила за управление може да пресъздаде връзката и да замени каквото е приложил скрипт, а замяната ще изглежда като регрес. Решете дали наборът се притежава от профила, от скрипт или от канала за управление, и направете така, че рутинните обновявания да следват същия път като първата инсталация.
Двама собственици са същото като никакъв, когато двамата не се съгласят. Запишете името на собственика в записа за промени на профила. Следващото обновяване ще следва каквото казва този запис.
Проверявайте договорения резултат, а не пакета
Прочетете запазения профил и обхвата му, след което установете нова връзка и сравнете избраните предложения на шлюза. Потвърдете и поведението при подмяна на ключове, защото първоначалното ръкостискане може да успее с набор, който по-късна фаза отхвърля.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
Три резултата от приемането не са едно и също събитие: пакетът е инсталиран, профилът съществува с предвидената политика и страните са го договорили. Дръжте ги отделни, така че липсващо поле никога да не се поправя чрез отслабване на удостоверяването или чрез включване на резервен вариант, който никой не е избрал.