2要素認証を有効にすると、クライアントがSSL-VPN接続を確立するときに、システムは2つの要素に基づいてクライアントを検証します。 SSLクライアント証明書認証に加えて、クライアントはサービスとしてのID (IDaaS) のユーザー名とパスワード認証も渡す必要があります。 SSL-VPN接続は、2要素認証に合格した後にのみ確立されます。 これにより、SSL-VPN接続のセキュリティが効果的に向上します。 Active Directory (AD) サーバーをIDaaSにバインドして、AD認証を実装できます。 このトピックでは、クライアントがADによって認証された後、クライアントが仮想プライベートクラウド (VPC) 内のリソースにアクセスするためのSSL-VPN接続を確立するために2要素認証機能を使用する方法について説明します。
シナリオ
上の図は、このトピックで使用した例のシナリオを示しています。 会社が中国 (杭州) リージョンにVPCを作成しました。 アプリケーションは、VPCのECS (Elastic Compute Service) インスタンスにデプロイされます。 ビジネス要件を満たすために、出張の従業員はクライアントからVPCのリソースにリモートアクセスする必要があります。 同社はADサーバーも展開しています。 セキュリティを確保するために、従業員がVPC内のリソースにアクセスする前にADサーバーの認証に合格する必要があります。
この場合、会社はVPNゲートウェイを作成し、SSL-VPNおよび2要素認証機能を有効にし、IDaaS Employee Identity and Access Management (EIAM) インスタンスを作成してAD認証を実装できます。 従業員のクライアントがSSL-VPN接続を確立する前に、クライアントはSSLクライアント証明書認証とIDaaS EIAMインスタンスのユーザー名とパスワード認証を渡す必要があります。 IDaaS EIAMインスタンスは、従業員のユーザー名とパスワードをADサーバーに送信し、ADサーバーから認証結果を取得することにより、ユーザー名とパスワードの認証を実装します。 2要素認証が通過した後にのみ、クライアントはVPC内のリソースにアクセスするためのSSL-VPN接続を確立できます。
前提条件
VPCが中国 (杭州) リージョンに作成され、関連するアプリケーションがVPCのECSインスタンスにデプロイされます。 詳細については、「IPv4 CIDRブロックを使用したVPCの作成」をご参照ください。
クライアントがECSインスタンスにデプロイされたクラウドリソースにアクセスできるように、VPC内のECSインスタンスにセキュリティグループルールが設定されていることを確認します。 詳細については、「セキュリティグループルールの表示」および「セキュリティグループルールの追加」をご参照ください。
クライアントはインターネットにアクセスできます。 クライアントのプライベートCIDRブロックは、VPCのプライベートCIDRブロックと重複しません。
Enterprise EditionのIDaaS EIAMインスタンスが作成されます。 詳細は、「インスタンスの管理」をご参照ください。
重要IDaaS EIAM 1.0インスタンスを購入できなくなりました。 IDaaS EIAM 2.0インスタンスの使用を推奨します。 この例では、IDaaS EIAM 2.0インスタンスが使用されています。 詳細については、「 [変更通知] 2要素認証用のIDaaS EIAM 2.0インスタンスのSSL-VPNサポート」をご参照ください。
IDaaS EIAM 1.0インスタンスの使用方法の詳細については、このトピックの「IDaaS EIAM 1.0インスタンスの構成」をご参照ください。
ADサーバのパブリックIPアドレスとサービスポートが取得されます。
この例では、Windows server 2022を実行するADサーバーを使用します。 サーバーのパブリック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サーバーのバインド
ADサーバーをIDaaS EIAMインスタンスにバインドして、ADサーバーからIDaaS EIAMインスタンスにアカウント情報を同期します。 詳細については、次をご参照ください: IDaaSをADにバインドします。
この例では、すべてのオプションパラメーターにデフォルト値が使用されます。 次の図は、ADサーバーからIDaaS EIAMインスタンスに同期されるアカウント情報を示しています。
ステップ2: SSL-VPNアプリケーションの追加
IDaaSコンソールにログインします。
左側のナビゲーションウィンドウで、[EIAM] をクリックします。[EIAM] ページの [IDaaS] タブで、[前提条件] で作成したIDaaS EIAMインスタンスを見つけ、[操作] 列の [管理] をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 [アプリケーション] ページで、[アプリケーションの追加] をクリックします。
[アプリケーションの追加] ページで、[Alibaba SSL VPN] テンプレートを見つけ、[アプリケーションの追加] をクリックします。
[アプリケーションの追加-Alibaba SSL VPN] ダイアログボックスで、アプリケーションの名前を入力し、[追加] をクリックします。
アプリケーションの詳細ページの [サインイン] タブで、次のパラメーターを設定し、ページ下部の [保存] をクリックします。
SSO: シングルサインオン (SSO) を有効にするかどうかを指定します。 デフォルトでは、このスイッチはオンになっています。
許可タイプ: 認証のためにアプリケーションによって使用される方法。 この例では、デフォルト値Password Grantが使用されています。 インスタンスにバインドされているADサーバーを [IdP] ドロップダウンリストから選択します。 このようにして、システムはADサーバーを使用して従業員IDを検証します。
権限付与: アプリケーションにアクセスできるユーザー。 この例では、デフォルト値が手動で使用されます。 この場合、指定したユーザーにアプリケーションにアクセスするための権限を手動で付与する必要があります。 詳細については、「SSOの設定」トピックの権限付与スコープセクションをご参照ください。
[サインイン] タブで、[権限付与] サブタブをクリックします。
SSL-VPN接続を介してアプリケーションにアクセスするために使用されるアカウントに権限を付与します。 詳細は、RAM権限付与を参照してください。
ステップ3: VPNゲートウェイの作成
VPN Gatewayページをクリックします。VPN Gateway の作成.
VPN Gatewayページで、次の表に記載されているパラメーターを設定し、[今すぐ購入] をクリックして、支払いを完了します。
次の表に、設定する必要がある主要なパラメーターのみを示します。 他のパラメーターについては、デフォルト値を使用するか、空のままにします。 詳細については、「VPN gatewayの作成と管理」をご参照ください。
パラメーター
説明
リージョン
VPNゲートウェイを作成するリージョン。 この例では、中国 (杭州) が選択されています。
説明VPCとVPNゲートウェイが同じリージョンにあることを確認します。
ゲートウェイタイプ
VPNゲートウェイのタイプ。 この例では、標準 が選択されています。
ネットワークタイプ
VPNゲートウェイのネットワークタイプ。 この例では、[公開] が選択されています。
トンネル
VPN gatewayのトンネルモード。 このリージョンでサポートされているトンネルモードが表示されます。
[VPC]
VPNゲートウェイに関連付けられるVPC。
vSwitch 1
選択したVPCのVPNゲートウェイに関連付けられる最初のvSwitch。
シングルトンネルを選択した場合、vSwitchを1つだけ指定する必要があります。
デュアルトンネルを選択した場合、2つのvSwitchを指定する必要があります。
IPsec-VPN機能を有効にすると、IPsec-VPN接続を介してVPCと通信するためのインターフェイスとして、2つのvSwitchのそれぞれにelastic network interface (ENI) が作成されます。 各ENIはvSwitchで1つのIPアドレスを占有します。
説明システムはデフォルトでvSwitchを選択します。 デフォルトのvSwitchを変更または使用できます。
VPNゲートウェイの作成後、VPNゲートウェイに関連付けられているvSwitchを変更することはできません。 VPN gatewayの詳細ページで、VPN gatewayに関連付けられているvSwitch、vSwitchが属するゾーン、およびENIをvSwitchで表示できます。
vSwitch 2
選択したVPCのVPNゲートウェイに関連付けられる2番目のvSwitch。
関連するVPCの異なるゾーンに2つのvSwitchを指定して、IPsec-VPN接続のゾーン間でディザスタリカバリを実装します。
1つのゾーンのみをサポートするリージョンの場合、ゾーン間のディザスタリカバリはサポートされません。 IPsec-VPN接続の高可用性を実装するには、ゾーンに2つのvSwitchを指定することを推奨します。 最初のものと同じvSwitchを選択することもできます。
説明VPCにデプロイされているvSwitchが1つだけの場合は、別のvSwitchを作成します。 詳細については、「vSwitchの作成と管理」をご参照ください。
IPsec-VPN
VPN gatewayのIPsec-VPN機能を有効にするかどうかを指定します。 この例では、[無効] が選択されています。
SSL-VPN
VPN gatewayのSSL-VPN機能を有効にするかどうかを指定します。 この例では、[有効化] が選択されています。
SSL接続
VPNゲートウェイに接続できるクライアントの最大数。
説明SSL接続パラメーターは、SSL-VPN機能を有効にした後にのみ使用できます。
VPN gatewayページに戻り、作成したVPN gatewayを表示します。
前の手順で作成したVPN gatewayは、準備中 状態です。 約1〜5分後、VPNゲートウェイは正常状態になります。 正常 状態は、VPNゲートウェイが初期化され、使用可能な状態であることを示します。
手順4: SSLサーバーの作成
左側のナビゲーションウィンドウで、 .
上部のナビゲーションバーで、SSLサーバーを作成するリージョンを選択します。
説明作成したSSLサーバーとVPN gatewayが同じリージョンにあることを確認してください。
SSL サーバーページをクリックします。SSLサーバーの作成.
SSLサーバーの作成 パネルで、次の表に示すパラメーターを設定し、[OK] をクリックします。
次の表に、設定する必要がある主要なパラメーターのみを示します。 他のパラメーターについては、デフォルト値を使用するか、空のままにします。 詳細については、「SSLサーバーの作成と管理」をご参照ください。
パラメーター
説明
VPNゲートウェイ
作成したVPNゲートウェイ。
ローカルネットワーク
接続するVPCのCIDRブロック。 この例では、192.168.0.0/16が使用されます。
クライアントCIDRブロック
クライアントがSSLサーバーに接続するために使用するCIDRブロック。 この例では、10.0.0.0/24が使用されます。
重要クライアントCIDRブロックのサブネットマスクの長さは16〜29ビットである必要があります。
ローカルCIDRブロックとクライアントCIDRブロックが重複しないようにしてください。
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、またはそれらのサブネットのいずれかをクライアントCIDRブロックとして使用することを推奨します。 パブリックCIDRブロックをクライアントCIDRブロックとして指定する場合は、パブリックCIDRブロックをVPCのユーザーCIDRブロックとして指定する必要があります。 これにより、VPCはパブリックCIDRブロックにアクセスできます。 詳細については、「」をご参照ください。ユーザーCIDRブロックとは何ですか? とユーザーCIDRブロックを設定するにはどうすればよいですか? 「FAQ」トピックのセクション。
SSLサーバーを作成すると、クライアントCIDRブロックを指すルートがVPCルートテーブルに自動的に追加されます。 クライアントCIDRブロックを指すルートをVPCルートテーブルに再度追加しないでください。 そうしないと、SSL-VPN接続は期待どおりに機能しません。
高度な設定
高度な設定。 VPNゲートウェイの2要素認証を有効にする必要があります。 この例では、IDaaSインスタンスバージョンパラメーターにEIAM 2.0 (推奨) が選択されています。 他のパラメーターにはデフォルト値を使用します。
IDaaSインスタンスリージョン: IDaaS EIAM 2.0インスタンスが存在するリージョン。 この例では、中国 (杭州) が選択されています。
IDaaSインスタンス: SSLサーバーに関連付けるインスタンス。 前提条件で作成したIDaaS EIAM 2.0インスタンスを選択します。
IDaaSアプリケーション: IDaaSインスタンスに追加されるSSL-VPNアプリケーション。
手順5: SSLクライアントの作成
左側のナビゲーションウィンドウで、 .
SSL クライアントページをクリックします。SSL クライアントの作成.
SSL クライアントの作成 パネルで、SSLクライアントの名前を入力し、接続するSSL サーバーを選択し、[OK] をクリックします。
SSL クライアント ページで、作成したSSLクライアントを見つけ、[操作] 列の 証明書のダウンロード をクリックします。
ダウンロードしたSSLクライアント証明書パッケージをローカルディレクトリに保存して、さらにクライアントを設定します。
手順6: クライアントの設定
Linuxクライアントの設定
CLIを開きます。
OpenVPNをインストールします。
# Run the following command to install OpenVPN on CentOS: yum install -y openvpn # Run the following command to check whether the system creates the /etc/openvpn/conf/ directory. If the directory is not created, you must manually create the /etc/openvpn/conf/ directory. cd /etc/openvpn # Go to the openvpn/ directory. ls # Check whether the conf/ directory is created in the openvpn/ directory. mkdir -p /etc/openvpn/conf # If the conf/ directory does not exist in the openvpn/ directory, you must manually create the conf/ directory. # Run the following command to install OpenVPN on Ubuntu: apt-get update apt-get install -y openvpn # Run the following command to check whether the system creates the /etc/openvpn/conf/ directory. If the directory is not created, you must manually create the /etc/openvpn/conf/ directory. cd /etc/openvpn # Go to the openvpn/ directory. ls # Check whether the conf/ directory is created in the openvpn/ directory. mkdir -p /etc/openvpn/conf # If the conf/ directory does not exist in the openvpn/ directory, you must manually create the conf/ directory.
ダウンロードしたSSLクライアント証明書パッケージを解凍し、SSLクライアント証明書を/etc/openvpn/confディレクトリに移動します。
/etc/openvpn/confディレクトリに移動し、次のコマンドを実行して、ユーザー名とパスワードを入力します。 クライアントがAD認証に合格した後、SSL-VPN接続が確立される。
openvpn --config /etc/openvpn/conf/config.ovpn --daemon
Windowsクライアントの構成
Windows用OpenVPNクライアント. をダウンロードしてインストールします。
ダウンロードしたSSLクライアント証明書パッケージを解凍し、SSLクライアント証明書をOpenVPN\configディレクトリに移動します。
この例では、証明書はC:\Program Files\OpenVPN\configディレクトリにコピーされます。 OpenVPNクライアントがインストールされているディレクトリに証明書をコピーする必要があります。
OpenVPNクライアントを起動し、[接続] をクリックして、ユーザー名とパスワードを入力します。 クライアントがAD認証に合格した後、SSL-VPN接続が確立される。
macOSクライアントの設定
CLIを開きます。
HomebrewがmacOSにインストールされていない場合は、次のコマンドを実行してHomebrewをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
次のコマンドを実行してOpenVPNをインストールします。
brew install openvpn
ダウンロードしたSSLクライアント証明書パッケージをOpenVPNクライアントの構成ディレクトリにコピーします。
/usr/local/etc/openvpnディレクトリのすべての設定ファイルをバックアップします。
重要OpenVPNのデフォルトのインストールパスは、macOSのバージョンによって異なる場合があります。 この操作以降の操作を実行するときは、関連するパスを実際のインストールパスに置き換えます。
次のコマンドを実行して、OpenVPNの設定ファイルを削除します。
rm /usr/local/etc/openvpn/*
次のコマンドを実行して、ダウンロードしたSSLクライアント証明書パッケージをOpenVPNの構成ディレクトリにコピーします。
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に接続され、VPC内のリソースにアクセスできます。 LinuxクライアントとVPC間の接続をテストするには、次の手順を実行します。
クライアントでCLIを開きます。
ping
コマンドを実行してVPCのECS 1インスタンスにアクセスし、接続をテストします。ping <IP address of ECS 1>
次のメッセージが返された場合、クライアントはVPC内のリソースにアクセスできます。
IDaaS EIAM 1.0インスタンスの構成
IDaaS EIAM 1.0インスタンスを使用する場合は、次の手順に示す操作を実行します。 SSLサーバーの作成時に、IDaaS EIAM 1.0インスタンスに対してLightweight Directory Access Protocol (LDAP) 認証を有効にし、インスタンスをSSLサーバーに関連付ける必要があります。 残りの手順は、IDaaS EIAM 2.0インスタンスを使用する場合と同じです。