SSL-VPN の二要素認証機能は、クライアントが SSL クライアント証明書による認証と、Identity as a Service (IDaaS) を介したユーザー名およびパスワードによる認証の 2 つのチェックに合格することを要求することで、セキュリティを強化します。両方の認証が成功した場合にのみ、SSL-VPN 接続が確立されます。IDaaS 認証を利用する場合、Active Directory (AD) サーバーをバインドして AD 認証を実装できます。本トピックでは、AD 認証を通過したクライアントが Virtual Private Cloud (VPC) に対して SSL-VPN 接続を確立し、その後 VPC 内のリソースにアクセスできるようにするための、SSL-VPN 二要素認証機能の使用方法について説明します。
ユースケース
本トピックでは、上記の図に示すシナリオを使用します。ある企業は、中国 (杭州) リージョン内の VPC にデプロイされた ECS インスタンス上でアプリケーションを稼働させています。ビジネスニーズに対応するため、出張中の従業員が VPC 内のリソースにリモートアクセスできる必要があります。この企業は、オンプレミスの AD システムを自社で運用しており、従業員が VPC リソースにアクセスする前に AD サーバーによる認証を必須としています。
この企業は、VPN ゲートウェイの SSL-VPN 機能を活用し、二要素認証を有効化したうえで、AD 認証用の IDaaS アプリケーションを構成できます。従業員が SSL-VPN 接続を確立しようとする際、まずクライアントは SSL クライアント証明書によって認証されます。その後、IDaaS EIAM インスタンスが、従業員のユーザー名およびパスワードを企業の AD サーバーに転送して検証を行い、その結果を返します。両方の認証方式が成功した場合にのみ、クライアントは SSL-VPN 接続を確立し、VPC 内のリソースにアクセスできます。
前提条件
中国 (杭州) リージョンに VPC を作成し、その VPC 内の ECS インスタンスにアプリケーションをデプロイ済みである必要があります。詳細については、「IPv4 CIDR ブロックを持つ VPC の作成」をご参照ください。
ECS インスタンスに適用されるセキュリティグループルールが、クライアントによるクラウドリソースへのアクセスを許可していることを確認してください。詳細については、「セキュリティグループルールの表示」および「セキュリティグループルールの追加」をご参照ください。
クライアントがパブリックネットワークにアクセスできること、およびクライアントのプライベート CIDR ブロックが VPC のプライベート CIDR ブロックと重複していないことを確認してください。
Enterprise Edition の IDaaS EIAM インスタンスを作成済みである必要があります。詳細については、「インスタンス管理」をご参照ください。
重要IDaaS EIAM 1.0 インスタンスは、新規購入ができなくなりました。IDaaS EIAM 2.0 インスタンスのご利用を推奨します。本トピックでは、IDaaS EIAM 2.0 インスタンスを例として使用しています。詳細については、「[変更通知] SSL-VPN 二要素認証が IDaaS EIAM 2.0 をサポート」をご参照ください。
IDaaS EIAM 1.0 インスタンスの使用方法については、「IDaaS EIAM 1.0 の構成」をご参照ください。
AD サーバーのパブリック IP アドレスおよびサービスポートを把握している必要があります。
本例では、AD システムが Windows Server 2022 システム上にデプロイされています。パブリック IP アドレスは 47.XX.XX.62、サービスポートは 389 です。
AD サーバーの Base DN を把握している必要があります。
本例では、AD サーバーの Base DN は dc=zxtest,dc=com です。
AD サーバーの管理者 DN、ユーザー名、およびパスワードを把握している必要があります。
本例では、管理者アカウント名は Administrator、パスワードは 1****2 です。DN は cn=Administrator,cn=Users,dc=zxtest,dc=com であり、以下の図に示すとおりです。

操作手順
ステップ 1:AD サーバーのバインド
IDaaS EIAM インスタンスに AD サーバーをバインドすると、AD サーバーからアカウント情報を同期できます。詳細については、「AD のバインド - インバウンド」をご参照ください。
本例では、AD サーバーのバインド時に必須パラメーター以外はすべてデフォルト値を使用します。以下の図には、AD サーバーから IDaaS EIAM インスタンスへ同期されたアカウント情報が示されています。

ステップ 2:SSL-VPN アプリケーションの追加
IDaaS コンソール にログインします。
EIAM ページで、前提条件 セクションで作成した IDaaS EIAM インスタンスを見つけます。Actions 列で、Console をクリックします。
EIAM インスタンスの左側ナビゲーションウィンドウで、Application を選択します。Application ページで、Add Application をクリックします。
Add Application ページで、Alibaba Cloud - SSL VPN テンプレートを見つけ、Add Application をクリックします。
アプリケーションの追加ダイアログボックスで、アプリケーション名を入力し、追加 をクリックします。
アプリケーションの詳細ページの Sign-In タブで、以下の設定を構成し、タブの下部にある Save をクリックします。
SSO: この機能を有効なままにしてください。
Grant Types:デフォルト値は Password Grant です。IdP として、バインドした AD サーバーを選択します。システムは、この AD サーバーを使用して従業員の ID を認証します。
Authorize:デフォルト値の Manually を使用します。このオプションでは、特定のアカウントに対してこのアプリケーションへのアクセス権限を手動で付与する必要があります。権限付与範囲の詳細については、「権限付与範囲」をご参照ください。
Sign-In タブのまま、Application Authorization タブをクリックします。
SSL-VPN 接続を確立する必要がある従業員アカウントの権限付与を追加します。詳細については、「アプリケーション権限付与」をご参照ください。
ステップ 3:VPN ゲートウェイの作成
- VPN ゲートウェイコンソール にログインします。
VPN Gateway ページで、VPN Gateway の作成 をクリックします。
VPN ゲートウェイ ページで、以下の情報をもとに VPN ゲートウェイを構成し、今すぐ購入 をクリックして支払いを完了します。
本トピックでは、必須パラメーターのみを説明します。その他のパラメーターはデフォルト値を使用します。詳細については、「VPN ゲートウェイインスタンスの作成および管理」をご参照ください。
パラメーター
説明
リージョン
VPN ゲートウェイを作成するリージョンを選択します。本例では、中国 (杭州) を選択します。
説明VPN ゲートウェイは、VPC と同じリージョンに配置する必要があります。
ゲートウェイタイプ
VPN ゲートウェイのタイプを選択します。本例では、標準 を選択します。
ネットワークタイプ
VPN ゲートウェイインスタンスのネットワークタイプを選択します。本例では、パブリック を選択します。
トンネル
システムは、現在のリージョンで IPsec-VPN 接続にサポートされているトンネルモードを表示します。
仮想プライベートクラウド
接続先の VPC インスタンスを選択します。
vSwitch 1
VPC インスタンスから vSwitch を選択します。
「[Single-tunnel]」を選択した場合、vSwitch を 1 つだけ指定する必要があります。
デュアルトンネルを選択した場合は、2 つの vSwitch を指定する必要があります。
IPsec-VPN 機能を有効化すると、システムは 2 つの vSwitch のそれぞれに弾性ネットワークインターフェイス (ENI) を作成し、IPsec-VPN 接続を介して VPC と通信するためのインターフェイスとして使用します。各 ENI は vSwitch 内で 1 つの IP アドレスを占有します。
説明システムはデフォルトで vSwitch を選択します。デフォルトの vSwitch を変更またはそのまま使用できます。
VPN ゲートウェイを作成した後は、VPN ゲートウェイに関連付けられた vSwitch を変更できません。VPN ゲートウェイの詳細ページで、VPN ゲートウェイに関連付けられた vSwitch、その vSwitch が属するゾーン、および vSwitch 内の ENI を確認できます。
vSwitch 2
VPC インスタンスから 2 番目の vSwitch を選択します。
関連付けられた VPC 内で異なるゾーンに配置された 2 つの vSwitch を指定すると、IPsec-VPN 接続のゾーン間ディザスタリカバリを実現できます。
1 つのゾーンのみをサポートするリージョンでは、ゾーン間ディザスタリカバリはサポートされていません。IPsec-VPN 接続の高可用性を実現するために、同じゾーン内に 2 つの vSwitch を指定することを推奨します。また、最初の vSwitch と同じ vSwitch を選択することもできます。
説明VPC 内に 2 番目の vSwitch が存在しない場合は、作成できます。詳細については、「vSwitch の作成および管理」をご参照ください。
IPsec-VPN
IPsec-VPN 機能を有効化するかどうかを指定します。本例では、無効化 を選択します。
SSL-VPN
SSL-VPN 機能を有効化するかどうかを指定します。本例では、有効化 を選択します。
SSL 接続
接続可能なクライアントの最大数を選択します。
説明SSL 接続数 は、SSL-VPN 機能を有効化した後にのみ構成できます。
作成した VPN ゲートウェイインスタンスを確認するため、VPN Gateway ページに戻ります。
新しく作成された VPN ゲートウェイインスタンスは 準備中 状態です。1~5 分後、状態が 正常 に変わります。正常 状態は、VPN ゲートウェイが初期化され、使用可能であることを意味します。
ステップ 4:SSL サーバーの作成
左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、SSL サーバーのリージョンを選択します。
説明SSL サーバーは、VPN ゲートウェイと同じリージョンに配置する必要があります。
SSL サーバー ページで、SSLサーバーの作成 をクリックします。
SSLサーバーの作成 パネルで、以下のパラメーターをもとに SSL サーバーを構成し、OK をクリックします。
本トピックでは、必須パラメーターのみを説明します。その他のパラメーターはデフォルト値を使用します。詳細については、「SSL サーバーの作成および管理」をご参照ください。
パラメーター
説明
VPN Gateway
作成した VPN ゲートウェイインスタンスを選択します。
ローカルネットワーク
アクセス対象の VPC の CIDR ブロックを入力します。例:192.168.0.0/16。
クライアント CIDR ブロック
クライアントが VPC にアクセスするために使用する CIDR ブロックを入力します。本例では、10.0.0.0/24 を入力します。
重要クライアント CIDR ブロックのサブネットマスクは、プレフィックス長が 16~29 ビットの範囲である必要があります。
クライアント CIDR ブロックは、ローカル CIDR ブロック、VPC CIDR ブロック、およびクライアントに関連付けられたルート CIDR ブロックと重複してはなりません。
クライアント CIDR ブロックには、10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、またはこれらのサブネットを推奨します。パブリック IP アドレス範囲を使用する必要がある場合は、VPC のカスタム CIDR ブロックとして構成して、適切なルーティングを保証する必要があります。詳細については、「VPC よくある質問」をご参照ください。
SSL サーバーを作成すると、システムは自動的にクライアント CIDR ブロックのルートを VPC のルートテーブルに追加します。このルートを VPC のルートテーブルに手動で追加しないでください。そうしないと、SSL-VPN 接続が中断される可能性があります。
Advanced Settings
二要素認証機能を有効化します。本例では EIAM 2.0 を使用します。その他のパラメーターはデフォルト値を使用します。
IDaaS インスタンスのリージョン: 中国 (杭州) を選択します。
IDaaS インスタンス: 前提条件 セクションで作成した EIAM インスタンスを選択します。
IDaaS アプリケーション: Alibaba Cloud SSL-VPN アプリケーションを選択します。
説明UAE (ドバイ) リージョンで SSL サーバーを作成する場合、レイテンシーを低減するため、シンガポールの IDaaS EIAM 2.0 インスタンスと関連付けることを推奨します。
ステップ 5:SSL クライアント証明書の作成
左側のナビゲーションウィンドウで、 を選択します。
SSL クライアント ページで、SSL クライアントの作成 をクリックします。
SSL クライアントの作成 パネルで、SSL クライアント名を入力し、SSL サーバー を選択して、OK をクリックします。
SSL クライアント ページで、作成した SSL クライアントを見つけ、操作 列で、証明書のダウンロード をクリックします。
ダウンロードした SSL クライアント証明書をローカルデバイスに保存します。後ほどクライアントの構成で使用します。
ステップ 6:クライアントの構成
Linux クライアントの構成
コマンドラインターミナルを開きます。
次のコマンドを実行して OpenVPN クライアントをインストールします。
CentOS
yum install -y openvpn mkdir -p /etc/openvpn/confUbuntu
apt-get update apt-get install -y openvpn mkdir -p /etc/openvpn/confダウンロードした SSL クライアント証明書パッケージを解凍し、ファイルを /etc/openvpn/conf/ ディレクトリにコピーします。
/etc/openvpn/conf/ ディレクトリに移動し、次のコマンドを実行して、ユーザー名およびパスワードを入力します。クライアントが AD 認証に合格すると、SSL-VPN 接続が確立されます。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Windows クライアントの構成
Windows 向け OpenVPN クライアント をダウンロードしてインストールします。
ダウンロードした SSL クライアント証明書パッケージを解凍し、ファイルを OpenVPN\config ディレクトリにコピーします。
本例では、証明書を C:\Program Files\OpenVPN\config ディレクトリにコピーします。実際のシステム上のインストールディレクトリに合わせて、証明書をコピーしてください。
OpenVPN クライアントを起動し、接続 をクリックして、ユーザー名およびパスワードを入力します。クライアントが AD 認証に合格すると、SSL-VPN 接続が確立されます。

macOS クライアントの構成 (OpenVPN)
コマンドラインインターフェイスを開きます。
クライアントに Homebrew がインストールされていない場合は、次のコマンドを実行してインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"次のコマンドを実行して OpenVPN クライアントをインストールします。
brew install openvpnダウンロードした SSL クライアント証明書を展開し、構成ディレクトリにコピーします。
/usr/local/etc/openvpn ディレクトリ内のすべての構成ファイルをバックアップします。
重要OpenVPN のデフォルトインストールパスは、macOS のバージョンによって異なる場合があります。実際のインストールパスを使用してください。
次のコマンドを実行して OpenVPN 構成ファイルを削除します。
rm /usr/local/etc/openvpn/*次のコマンドを実行して、ダウンロードした SSL クライアント証明書を構成ディレクトリにコピーします。
cp cert_location /usr/local/etc/openvpn/cert_locationは、ダウンロードした SSL クライアント証明書のパスであり、たとえば /Users/example/Downloads/certs6.zip です。
次のコマンドを実行して証明書を抽出します。
cd /usr/local/etc/openvpn/ unzip /usr/local/etc/openvpn/certs6.zip/usr/local/etc/openvpn/ ディレクトリに移動し、次のコマンドを実行して、ユーザー名およびパスワードを入力して SSL-VPN 接続を確立します。
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/config.ovpn
ステップ 7:接続性のテスト
上記の手順を完了すると、クライアントは VPC 内のリソースにリモートアクセスできるようになります。以下に、Linux クライアントと VPC 間の接続性をテストする手順を示します。
クライアントでコマンドラインインターフェイスを開きます。
pingコマンドを実行して、VPC 内の ECS1 インスタンスにアクセスし、接続性を確認します。ping <ECS1 インスタンスの IP アドレス>図に示すように、応答パケットを受信できれば、クライアントが VPC 内のリソースにアクセスできることを確認できます。

IDaaS EIAM 1.0 の構成
IDaaS EIAM 1.0 インスタンスを使用するには、以下の手順に従ってください。SSL サーバーを作成する際に、LDAP 認証の有効化 を行い、EIAM 1.0 インスタンスをバインドする必要があります。その他の手順は上記と同様であり、繰り返しません。
アイコンをクリックします。表示されるダイアログボックスで、Submit をクリックして LDAP 認証ソースを有効化します。