사이트 및 사이트 간의 VPN 연결에 대한 IPsec/IKE 정책 구성
이 문서에서는 Azure Stack Hub에서 S2S(사이트 대 사이트) VPN 연결에 대한 IPsec/IKE 정책을 구성하는 단계를 설명합니다.
VPN Gateway의 IPsec 및 IKE 정책 매개 변수
IPsec 및 IKE 프로토콜 표준은 다양하게 결합된 다양한 암호화 알고리즘을 지원합니다. 규정 준수 또는 보안 요구 사항을 충족할 수 있도록 Azure Stack Hub에서 지원되는 매개 변수를 확인하려면 IPsec/IKE 매개 변수를 참조하세요.
이 문서에서는 IPsec/IKE 정책을 만들고 구성하고 새 연결 또는 기존 연결에 적용하는 방법에 대한 지침을 제공합니다.
고려 사항
이러한 정책을 사용하는 경우 다음과 같은 중요한 고려 사항에 유의하세요.
IPsec/IKE 정책은 표준 및 HighPerformance (경로 기반) 게이트웨이 SKU에서만 작동합니다.
지정된 연결에 대해 하나의 정책 조합만 지정할 수 있습니다.
IKE(주 모드)와 IPsec(빠른 모드) 둘 다에 대한 모든 알고리즘 및 매개 변수를 지정해야 합니다. 부분 정책 지정은 허용되지 않습니다.
해당 VPN 디바이스 공급업체 사양을 참조하여 정책이 해당 온-프레미스 VPN 디바이스에서 지원되는지 확인하세요. 정책이 호환되지 않는 경우 사이트 간 연결을 설정할 수 없습니다.
사전 요구 사항
시작하기 전에 다음 필수 조건을 갖추고 있는지 확인합니다.
Azure 구독 Azure 구독이 아직 없는 경우 MSDN 구독자 혜택을 활성화하거나 무료 계정에 등록할 수 있습니다.
Azure Resource Manager PowerShell cmdlet. PowerShell cmdlet 설치에 대한 자세한 내용은 Azure Stack Hub용 PowerShell 설치를 참조하세요.
1부 - IPsec/IKE 정책 만들기 및 설정
이 섹션에서는 사이트 간의 VPN 연결에서 IPsec/IKE 정책을 만들고 업데이트하는 데 필요한 단계를 설명합니다.
가상 네트워크 및 VPN 게이트웨이를 만듭니다.
프레미스 간 연결을 위한 로컬 네트워크 게이트웨이를 만듭니다.
선택한 알고리즘 및 매개 변수를 사용하여 IPsec/IKE 정책을 만듭니다.
IPsec/IKE 정책을 사용하여 IPSec 연결을 만듭니다.
기존 연결에 대한 IPsec/IKE 정책을 추가/업데이트/제거합니다.
이 문서의 지침은 다음 그림과 같이 IPsec/IKE 정책을 설정하고 구성하는 데 도움이 됩니다.
2부 - 지원되는 암호화 알고리즘 및 키 수준
다음 표에는 Azure Stack Hub에서 구성할 수 있는 지원되는 암호화 알고리즘 및 주요 강점이 나와 있습니다.
IPsec/IKEv2 | 옵션 |
---|---|
IKEv2 암호화 | AES256, AES192, AES128, DES3, DES |
IKEv2 무결성 | SHA384, SHA256, SHA1, MD5 |
DH 그룹 | ECP384, DHGroup14, DHGroup2, DHGroup1, ECP256*, DHGroup24* |
IPsec 암호화 | GCMAES256, GCMAES192, GCMAES128, AES256, AES192, AES128, DES3, DES, 없음 |
IPsec 무결성 | GCMAES256, GCMAES192, GCMAES128, SHA256 |
PFS 그룹 | PFS24, ECP384, ECP256, PFS2048, PFS2, PFS1, PFSMM, 없음 |
QM SA 수명 | (선택 사항: 지정되지 않으면 기본값이 사용됨) 초(정수, 최소 300/기본값 27,000초) KB(정수, 최소 1,024/기본값 102,400,000KB) |
트래픽 선택기 | 정책 기반 트래픽 선택기는 Azure Stack Hub에서 지원되지 않습니다. |
참고
QM SA 수명을 너무 낮게 설정하려면 불필요한 키를 다시 지정해야 하므로 성능이 저하됩니다.
* 이러한 매개 변수는 빌드 2002 이상에서만 사용할 수 있습니다.
온-프레미스 VPN 디바이스 구성은 Azure IPsec/IKE 정책에서 지정한 다음 알고리즘 및 매개 변수가 일치하거나 포함해야 합니다.
- IKE 암호화 알고리즘(기본 모드/1단계).
- IKE 무결성 알고리즘(기본 모드/1단계).
- DH 그룹(기본 모드/1단계).
- IPsec 암호화 알고리즘(빠른 모드/2단계).
- IPsec 무결성 알고리즘(빠른 모드/2단계).
- PFS 그룹(빠른 모드/2단계).
- SA 수명은 로컬 사양일 뿐이며 일치시킬 필요가 없습니다.
GCMAES가 IPsec 암호화 알고리즘으로 사용되는 경우 IPsec 무결성에 대해 동일한 GCMAES 알고리즘 및 키 길이를 선택해야 합니다. 예를 들어 둘 다에 GCMAES128을 사용하세요.
앞의 표에서 각 항목은 다음을 나타냅니다.
- IKEv2는 기본 모드 또는 1단계에 해당합니다.
- IPsec은 빠른 모드 또는 2단계에 해당합니다.
- DH 그룹은 주 모드 또는 1단계에서 사용되는 Diffie-Hellmen 그룹을 지정합니다.
- PFS 그룹은 빠른 모드 또는 2단계에서 사용되는 Diffie-Hellmen 그룹을 지정합니다.
IKEv2 기본 모드 SA 수명은 Azure Stack Hub VPN 게이트웨이에서 28,800초로 고정됩니다.
다음 표에는 사용자 지정 정책에서 지원하는 해당 Diffie-hellman 그룹이 나열되어 있습니다.
Diffie-Hellman 그룹 | DHGroup | PFSGroup | 키 길이 |
---|---|---|---|
1 | DHGroup1 | PFS1 | 768비트 MODP |
2 | DHGroup2 | PFS2 | 1024비트 MODP |
14 | DHGroup14 DHGroup2048 |
PFS2048 | 2048비트 MODP |
19 | ECP256* | ECP256 | 256비트 ECP |
20 | ECP384 | ECP384 | 384비트 ECP |
24 | DHGroup24* | PFS24 | 2048비트 MODP |
* 이러한 매개 변수는 빌드 2002 이상에서만 사용할 수 있습니다.
자세한 내용은 RFC3526 및 RFC5114를 참조하세요.
3부 - IPsec/IKE 정책을 사용하여 새 사이트-사이트 VPN 연결 만들기
이 섹션에서는 IPsec/IKE 정책을 사용하여 사이트-사이트 VPN 연결을 만드는 단계를 안내합니다. 다음 단계에서는 다음 그림과 같이 연결을 만듭니다.
사이트-사이트 VPN 연결을 만들기 위한 자세한 단계별 지침은 사이트-사이트 VPN 연결 만들기를 참조하세요.
1단계 - 가상 네트워크, VPN Gateway 및 로컬 네트워크 게이트웨이 만들기
1. 변수 선언
이 연습에서는 다음 변수를 선언하여 시작합니다. 프로덕션을 구성할 때 자리 표시자를 사용자 고유의 값으로 바꿔야 합니다.
$Sub1 = "<YourSubscriptionName>"
$RG1 = "TestPolicyRG1"
$Location1 = "East US 2"
$VNetName1 = "TestVNet1"
$FESubName1 = "FrontEnd"
$BESubName1 = "Backend"
$GWSubName1 = "GatewaySubnet"
$VNetPrefix11 = "10.11.0.0/16"
$VNetPrefix12 = "10.12.0.0/16"
$FESubPrefix1 = "10.11.0.0/24"
$BESubPrefix1 = "10.12.0.0/24"
$GWSubPrefix1 = "10.12.255.0/27"
$DNS1 = "8.8.8.8"
$GWName1 = "VNet1GW"
$GW1IPName1 = "VNet1GWIP1"
$GW1IPconf1 = "gw1ipconf1"
$Connection16 = "VNet1toSite6"
$LNGName6 = "Site6"
$LNGPrefix61 = "10.61.0.0/16"
$LNGPrefix62 = "10.62.0.0/16"
$LNGIP6 = "131.107.72.22"
2. 구독에 연결하고 새 리소스 그룹 만들기
리소스 관리자 cmdlet을 사용하려면 PowerShell 모드로 전환해야 합니다. 자세한 내용은 PowerShell을 사용하여 Azure Stack Hub에 사용자로 연결을 참조하세요.
PowerShell 콘솔을 열고 계정에 연결합니다. 예를 들어:
Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1
3. 가상 네트워크, VPN 게이트웨이 및 로컬 네트워크 게이트웨이 만들기
다음 예제에서는 세 개의 서브넷 및 VPN 게이트웨이와 함께 가상 네트워크 TestVNet1을 만듭니다. 값을 대체하는 경우 게이트웨이 서브넷 GatewaySubnet의 이름을 구체적으로 지정하는 것이 중요합니다. 이름을 다르게 지정하면 게이트웨이 생성이 실패합니다.
$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1
New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1
$gw1pip1 = New-AzPublicIpAddress -Name $GW1IPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic
$vnet1 = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
$subnet1 = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" `
-VirtualNetwork $vnet1
$gw1ipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GW1IPconf1 `
-Subnet $subnet1 -PublicIpAddress $gw1pip1
New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 `
-Location $Location1 -IpConfigurations $gw1ipconf1 -GatewayType Vpn `
-VpnType RouteBased -GatewaySku VpnGw1
New-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1 `
-Location $Location1 -GatewayIpAddress $LNGIP6 -AddressPrefix `
$LNGPrefix61,$LNGPrefix62
2단계 - IPsec/IKE 정책을 사용하여 사이트 및 사이트 간의 VPN 연결 만들기
1. IPsec/IKE 정책 만들기
이 샘플 스크립트는 다음 알고리즘 및 매개 변수를 사용하여 IPsec/IKE 정책을 만듭니다.
- IKEv2: AES128, SHA1, DHGroup14
- IPsec: AES256, SHA256, none, SA 수명 14400초 및 102400000KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000
IPsec으로 GCMAES를 사용하는 경우 IPsec 암호화 및 무결성 모두에 대해 동일한 GCMAES 알고리즘 및 키 길이를 사용해야 합니다.
2. IPsec/IKE 정책을 사용하여 사이트-사이트 VPN 연결 만들기
사이트-사이트 VPN 연결을 만들고 이전에 만든 IPsec/IKE 정책을 적용합니다.
$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1
$lng6 = Get-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1
New-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng6 -Location $Location1 -ConnectionType IPsec -IpsecPolicies $ipsecpolicy6 -SharedKey 'Azs123'
중요
연결에 IPsec/IKE 정책이 지정되면 Azure VPN Gateway는 지정된 암호화 알고리즘 및 특정 연결의 키 강도가 있는 IPsec/IKE 제안만 보내거나 수락합니다. 연결에 대한 온-프레미스 VPN 디바이스가 정확한 정책 조합을 사용하거나 수락하는지 확인합니다. 그렇지 않으면 사이트-사이트 VPN 터널을 설정할 수 없습니다.
4부 - 연결에 대한 IPsec/IKE 정책 업데이트
이전 섹션에서는 기존 사이트 대 사이트 연결에 대한 IPsec/IKE 정책을 관리하는 방법을 보여 줬습니다. 이 섹션에서는 연결에 대해 다음 작업을 안내합니다.
- 연결의 IPsec/IKE 정책을 표시합니다.
- IPsec/IKE 정책을 연결에 추가하거나 업데이트합니다.
- 연결에서 IPsec/IKE 정책을 제거합니다.
참고
IPsec/IKE 정책은 표준 및 고성능 경로 기반 VPN 게이트웨이에서만 지원됩니다. 기본 게이트웨이 SKU에서는 작동하지 않습니다.
1. 연결의 IPsec/IKE 정책 표시
다음 예제는 연결에 대해 IPsec/IKE 정책을 구성하는 방법을 보여 줍니다. 스크립트는 이전 연습에서도 계속됩니다.
$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies
마지막 명령은 연결에 구성된 현재 IPsec/IKE 정책(있는 경우)을 나열합니다. 다음 예제는 연결에 대한 샘플 출력입니다.
SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None
구성된 IPsec/IKE 정책이 없으면 명령은 $connection6.policy
빈 반환을 가져옵니다. IPsec/IKE가 연결에 구성되어 있지 않다는 의미는 아닙니다. 사용자 지정 IPsec/IKE 정책이 없음을 의미합니다. 실제 연결은 온-프레미스 VPN 디바이스 및 Azure VPN Gateway 간에 협상된 기본 정책을 사용합니다.
2. 연결에 대한 IPsec/IKE 정책 추가 또는 업데이트
새 정책을 추가하거나 연결에서 기존 정책을 업데이트하는 단계는 동일합니다. 새 정책을 만든 다음 연결에 새 정책을 적용합니다.
$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$newpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup None -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000
$connection6.SharedKey = "AzS123"
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6 -IpsecPolicies $newpolicy6
정책이 업데이트된 경우 검사 연결을 다시 가져올 수 있습니다.
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.IpsecPolicies
마지막 줄의 출력은 다음 예제와 같습니다.
SALifeTimeSeconds : 14400
SADataSizeKilobytes : 102400000
IpsecEncryption : AES256
IpsecIntegrity : SHA256
IkeEncryption : AES128
IkeIntegrity : SHA1
DhGroup : DHGroup14
PfsGroup : None
3. 연결에서 IPsec/IKE 정책 제거
연결에서 사용자 지정 정책을 제거하면 Azure VPN 게이트웨이가 기본 IPsec/IKE 제안으로 되돌아가 온-프레미스 VPN 디바이스와 재협상합니다.
$RG1 = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6 = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1
$connection6.SharedKey = "AzS123"
$currentpolicy = $connection6.IpsecPolicies[0]
$connection6.IpsecPolicies.Remove($currentpolicy)
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6
같은 스크립트를 사용하여 연결에서 정책이 제거되었는지 확인할 수 있습니다.