Aangepast IKEv2-beleid in Windows: pas het toe als eigen stap
Een ingerichte verbinding en een aangepaste cryptosuite zijn twee resultaten. Stem de beleidsvelden, het profielbereik en de eigenaar die ze opnieuw toepast op elkaar af.
Een provisioning-pakket maakt een IKEv2-verbinding en het resulterende profiel onderhandelt over iets anders dan de suite die u bedoelde. Het pakket deed zijn werk; het had alleen nooit een veld voor de taak die u aannam. Behandel de cryptosuite als een aparte, verifieerbare provisioning-stap.
Doorloop de vijf punten hieronder in volgorde en houd de acceptatieresultaten gescheiden.
Twee soorten beleid achter vergelijkbare namen
Windows scheidt het beleid dat de sleuteluitwisseling beschermt van het beleid dat het verkeer beschermt. De IKE-kant wordt geconfigureerd met een versleutelingsmethode en een integriteitsmethode. De gegevenskant wordt geconfigureerd met cipher- en authenticatietransformatie-constanten, en die constanten gebruiken hun eigen namen. Eén AES-label dat in het verkeerde veld wordt gekopieerd, levert een verbinding op die tot stand komt onder een beleid dat niemand heeft goedgekeurd.
Sleuteluitwisselingsgroep en perfect forward secrecy horen bij dezelfde onderhandeling en moeten aanvaardbaar zijn voor de gateway. Ze instellen zonder de andere kant te controleren levert een fout op in een latere fase dan die u aan het bewerken was, en daarom lijken deze fouten op gateway-problemen.
Bouw een volledig beleid, niet twee algoritmenamen
Schrijf elk veld expliciet op, ook de velden die u als standaardwaarden beschouwt. Een gedeeltelijk beleid dat met een force-flag wordt toegepast, wordt de opgeslagen configuratie, en de waarden die u wegliet zijn die het platform op dat moment had. Waarden met dezelfde prefix zijn niet tussen velden uitwisselbaar, en een van de bekende transformatienamen is alleen geldig als authenticatietransformatie.
$policy = @{
ConnectionName = 'Corp IKEv2'
AllUserConnection = $true
EncryptionMethod = 'AES256'
IntegrityCheckMethod = 'SHA384'
CipherTransformConstants = 'AES256'
AuthenticationTransformConstants = 'SHA384128'
DHGroup = 'Group19'
PfsGroup = 'PFS2048'
Force = $true
}
Set-VpnConnectionIPsecConfiguration @policy
Behandel dat blok als een illustratieve suite die beide peers moeten ondersteunen, niet als een aanbeveling. De force-schakelaar onderdrukt een prompt; hij keurt geen pakket goed dat u niet hebt beoordeeld.
Maak eerst, pas daarna toe — binnen één bereik
De verbinding moet bestaan voordat het beleid kan worden ingesteld, en het bereik moet bij elke stap overeenkomen. Een stap in machinecontext kan het privéprofiel van een willekeurige gebruiker niet vinden alleen omdat de weergavenaam hetzelfde is. Verbindingen voor alle gebruikers, gebruikersverbindingen en hun statusmappen zijn afzonderlijke objecten met afzonderlijke namen.
De volgorde is belangrijker dan het lijkt in een provisioning-pakket, omdat twee opdrachten dichter bij elkaar kunnen lopen dan het maken van de verbinding duurt. Verpak het werk na de configuratie als een goedgekeurd provisioning-commando met een verklaarde uitvoeringscontext, en laat de provisioning-engine het sequentiëren in plaats van een geraden vertraging in te voegen. Een slaap die op uw testhardware lang genoeg is, is een raceconditie met een vertraging eraan. Registreer de afhankelijkheid, niet de duur.
De gedocumenteerde Configuration Designer-velden beschrijven één VPN-instelling en leggen niet elke native IPsec-besturing bloot. Als de eis een beheerde levering is, heeft de VPNv2-configuratieserviceprovider een sectie voor cryptosuites precies voor dit doel.
Wijs één eigenaar aan voor het beleid
Een latere update van het beheerprofiel kan de verbinding opnieuw aanmaken en vervangen wat een script heeft toegepast, en de vervanging zal op een regressie lijken. Bepaal of de suite eigendom is van het profiel, van een script of van het beheerkanaal, en zorg dat routinematige updates hetzelfde pad volgen als de eerste installatie.
Twee eigenaren is hetzelfde als geen eigenaar wanneer de twee het oneens zijn. Schrijf de naam van de eigenaar in het wijzigingsrecord van het profiel. De volgende update volgt wat dat record zegt.
Verifieer het onderhandelde resultaat, niet het pakket
Lees het opgeslagen profiel en het bereik ervan, breng dan een nieuwe verbinding tot stand en vergelijk de gekozen voorstellen bij de gateway. Bevestig ook het gedrag bij sleutelvernieuwing, want een eerste handshake kan slagen met een suite die een latere fase weigert.
Get-VpnConnection -Name 'Corp IKEv2' -AllUserConnection | Format-List
Get-ChildItem 'C:\ProgramData\Microsoft\Network\Connections\Pbk' | Select-Object Name, LastWriteTime
Drie acceptatieresultaten zijn niet dezelfde gebeurtenis: het pakket is geïnstalleerd, het profiel bestaat met het beoogde beleid, en de peers hebben het onderhandeld. Houd ze gescheiden, zodat een ontbrekend veld nooit wordt gerepareerd door authenticatie te verzwakken of een terugvaloptie in te schakelen die niemand heeft gekozen.