次の方法で共有


サイト間 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

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

次の手順

Azure Stack Hub の VPN ゲートウェイ構成設定