Windows의 IKEv2 사용자 지정 정책: 별도 단계로 적용하십시오
프로비저닝된 연결과 사용자 지정 암호 제품군은 두 가지 결과입니다. 정책 필드, 프로필 범위, 그리고 이를 다시 적용하는 소유자를 맞추십시오.
프로비저닝 패키지는 IKEv2 연결을 만들지만, 그 결과로 생긴 프로필은 의도한 제품군과 다른 것을 협상합니다. 패키지는 제 역할을 했을 뿐, 가정한 작업을 위한 필드는 처음부터 없었습니다. 암호 제품군을 별도의 검증 가능한 프로비저닝 단계로 다루십시오.
아래 다섯 항목을 순서대로 진행하고 승인 결과는 각각 분리해 두십시오.
비슷한 이름 뒤에 있는 두 종류의 정책
Windows는 키 교환을 보호하는 정책과 트래픽을 보호하는 정책을 구분합니다. IKE 쪽은 암호화 방법과 무결성 방법으로 구성합니다. 데이터 쪽은 암호와 인증 변환 상수로 구성하며, 그 상수들은 고유한 이름을 사용합니다. 잘못된 필드에 복사된 AES 레이블 하나가 아무도 승인하지 않은 정책 아래에서 설정되는 연결을 만들어 냅니다.
키 교환 그룹과 완전 순방향 비밀성은 같은 협상에 속하며 게이트웨이가 받아들일 수 있어야 합니다. 원격 쪽을 확인하지 않고 이들을 설정하면 편집하던 단계보다 더 뒤 단계에서 실패가 발생하며, 그래서 이런 실수가 게이트웨이 문제처럼 보입니다.
알고리즘 이름 두 개가 아니라 완전한 정책을 구성하십시오
기본값이라고 생각하는 필드를 포함해 모든 필드를 명시적으로 작성하십시오. 강제 플래그로 부분 정책을 적용하면 그것이 저장된 구성이 되고, 빠뜨린 값은 그 시점에 플랫폼이 갖고 있던 값이 됩니다. 같은 접두사로 시작하는 값은 필드 간에 서로 바꿀 수 없으며, 잘 알려진 변환 이름 가운데 하나는 인증 변환으로만 유효합니다.
$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
세 가지 승인 결과는 같은 사건이 아닙니다. 패키지가 설치되었고, 의도한 정책으로 프로필이 존재하며, 피어가 그것을 협상했습니다. 이들을 분리해 두어, 빠진 필드가 인증을 약화시키거나 아무도 선택하지 않은 대체 경로를 켜서 복구되는 일이 없게 하십시오.