次の方法で共有


サイト間 VPN 接続の IPsec/IKE ポリシーを構成する

この記事では、Azure Stack Hub でサイト間 (S2S) VPN 接続の IPsec/IKE ポリシーを構成する手順について説明します。

VPN ゲートウェイの IPsec および IKE ポリシー パラメーター

IPsec および IKE プロトコル標準では、さまざまな組み合わせで幅広い暗号アルゴリズムがサポートされています。 コンプライアンスまたはセキュリティの要件を満たすために Azure Stack Hub でサポートされているパラメーターを確認するには、IPsec/IKE パラメーター を参照してください。

この記事では、IPsec/IKE ポリシーを作成して構成し、新規または既存の接続に適用する方法について説明します。

考慮 事項

これらのポリシーを使用する場合は、次の重要な考慮事項に注意してください。

  • IPsec/IKE ポリシーは、Standard と HighPerformance (ルートベース) ゲートウェイ SKU でのみ機能します。
  • 指定できるポリシーの組み合わせは、特定の接続に対して 1 つだけです。
  • IKE (メイン モード) と IPsec (クイック モード) の両方のすべてのアルゴリズムとパラメーターを指定する必要があります。 部分的なポリシー指定は許可されていません。
  • オンプレミスの VPN デバイスでポリシーがサポートされていることを確認するには、VPN デバイス ベンダーの仕様に問い合わせてください。 ポリシーに互換性がない場合、サイト間接続を確立できません。

前提 条件

開始する前に、次の前提条件があることを確認してください。

  • Azure サブスクリプション。 Azure サブスクリプションをまだお持ちでない場合は、無料アカウントにサインアップできます。
  • Azure Resource Manager PowerShell コマンドレット。 PowerShell コマンドレットのインストールの詳細については、「Install PowerShell for Azure Stack Hub」を参照してください。

パート 1 - IPsec/IKE ポリシーの作成と設定

このセクションでは、サイト間 VPN 接続で IPsec/IKE ポリシーを作成および更新するために必要な手順について説明します。

  1. 仮想ネットワークと VPN ゲートウェイを作成します。
  2. クロスプレミス接続用のローカル ネットワーク ゲートウェイを作成します。
  3. 選択したアルゴリズムとパラメーターを使用して IPsec/IKE ポリシーを作成します。
  4. IPsec/IKE ポリシーを使用して IPSec 接続を作成します。
  5. 既存の接続の IPsec/IKE ポリシーを追加/更新/削除します。

この記事の手順は、次の図に示すように、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、None
IPsec インテグリティ GCMAES256、GCMAES192、GCMAES128、SHA256
PFS グループ PFS24、ECP384、ECP256、PFS2048、PFS2、PFS1、PFSMM、None
QM SA の有効期間 (省略可能: 既定値は指定されていない場合に使用されます)
秒 (整数、最小 300/既定値 27,000 秒)
KBytes (整数、最小 1024/既定値 102400000 KB)
トラフィック セレクター ポリシー ベースのトラフィック セレクターは、Azure Stack Hub ではサポートされていません。

手記

QM SA の有効期間を低く設定すると、不要なキーの再キー処理が必要になり、パフォーマンスが低下する可能性があります。

  • オンプレミスの 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

詳細については、「RFC3526RFC5114」を参照してください。

パート 3 - IPsec/IKE ポリシーを使用して新しいサイト間 VPN 接続を作成する

このセクションでは、IPsec/IKE ポリシーを使用してサイト間 VPN 接続を作成する手順について説明します。 次の手順では、次の図に示すように、接続を作成します。

サイト間ポリシー

サイト間 VPN 接続を作成する詳細な手順については、「サイト間 VPN 接続を作成する」を参照してください。

手順 1 - 仮想ネットワーク、VPN ゲートウェイ、ローカル ネットワーク ゲートウェイを作成する

変数を宣言する

この演習では、まず次の変数を宣言します。 運用環境用に構成する場合は、プレースホルダーを必ず独自の値に置き換えてください。

$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"

サブスクリプションに接続し、新しいリソース グループを作成する

Resource Manager コマンドレットを使用するには、必ず PowerShell モードに切り替えてください。 詳細については、「ユーザーとしての PowerShell を使用した Azure Stack Hub への接続」を参照してください。

PowerShell コンソールを開き、アカウントに接続します。例えば:

Connect-AzAccount
Select-AzSubscription -SubscriptionName $Sub1
New-AzResourceGroup -Name $RG1 -Location $Location1

仮想ネットワーク、VPN ゲートウェイ、ローカル ネットワーク ゲートウェイを作成する

次の例では、3 つのサブネットと 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 接続を作成する

IPsec/IKE ポリシーを作成する

このサンプル スクリプトでは、次のアルゴリズムとパラメーターを使用して IPsec/IKE ポリシーを作成します。

  • IKEv2: AES128、SHA1、DHGroup14
  • IPsec: AES256、SHA256、なし、SA 有効期間 14400 秒、102400000 KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES128 -IkeIntegrity SHA1 -DhGroup DHGroup14 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup none -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

IPsec に GCMAES を使用する場合は、IPsec 暗号化と整合性の両方に同じ GCMAES アルゴリズムとキー長を使用する必要があります。

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 ゲートウェイは、指定された暗号化アルゴリズムとその特定の接続のキー強度を持つ IPsec/IKE 提案のみを送信または受け入れます。 接続用のオンプレミス VPN デバイスでポリシーの正確な組み合わせを使用または受け入れることを確認します。そうでない場合は、サイト間 VPN トンネルを確立できません。

パート 4 - 接続の IPsec/IKE ポリシーを更新する

前のセクションでは、既存のサイト間接続の IPsec/IKE ポリシーを管理する方法を示しました。 このセクションでは、接続に対する次の操作について説明します。

  • 接続の IPsec/IKE ポリシーを表示します。
  • 接続に IPsec/IKE ポリシーを追加または更新します。
  • 接続から IPsec/IKE ポリシーを削除します。

手記

IPsec/IKE ポリシーは、Standard およびルート ベースの VPN ゲートウェイ HighPerformance でのみサポートされます。 Basic ゲートウェイ SKU では機能しません。

接続の 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 ゲートウェイの間でネゴシエートされた既定のポリシーが使用されます。

接続の 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

同じスクリプトを使用して、ポリシーが接続から削除されているかどうかを確認できます。

次の手順