AWS Client VPNをAD認証で使ってみる

AWS運用自動化サービス「Cloud Automator」

技術一課の杉村です。AWS Client VPN が東京リージョンにやってきましたので、前回のブログでは解説をしてみました。

AWS Client VPN がアジアパシフィック (ムンバイ) と アジアパシフィック (東京) の 各AWS リージョンで利用可能に

先日のブログでは、そもそもの AWS Clinet VPN の概念を解説し、サーバ証明書とクライアント証明書を利用した「相互認証」のパターンの利用方法をご紹介しました。

AWS Clinet VPNを分かりやすく解説してみる

今回は「相互認証 + Active Directory認証」の組み合わせのパターンで、実際に検証してみた結果をスクリーンショット付きでご紹介します。

1. 前提

1-1. 構成図

下記のようなアーキテクチャで構成しました。

Active Directoryとして、私の検証では Simple AD を利用しました。ただし実際にはここが Managed Microsoft AD でも AD Connector でも、手順は変わらないはずです。

またクライアントPCには Windows 10 のパソコンを利用し、クライアントソフトとして下記より OpenVPN GUI v11 を利用しました。
https://www.openvpn.jp/download/

1-2. 前提作業

A. サーバ証明書・クライアント証明書を作成済みかつACMへインポート済み

前回ブログの「3-1.」までは終わっている状態、つまり「証明書の用意」「ACMへのインポート」は終わっている前提で進めます。

B. Simple AD作成済み

Active Directoryとして今回の検証では Simple AD (あるいはその他のDirectory Service)を作成済とします。
その中に、VPN接続に利用するユーザアカウントも作成済とします。

2. 設定手順

2-1. Client VPN Endpointの作成

マネジメントコンソールにて VPC > クライアント VPN エンドポイント > クライアント VPN エンドポイントの作成 ボタンを押下します。

下記のように「認証オプション」にて「Active Directory 認証の使用」「相互認証の使用」の両方をチェックします。
Directory ServiceのIDを選択します。
また、ACMにインポートしたサーバ証明書・クライアント証明書のARNを入力します。

以下はオプションです。
必要に応じて CloudWatch Logs のロググループ・ログストリームを選択します。(事前に作成が必要)
クライアントからの名前解決に使うDNSサーバも必要に応じて設定します。

2-2. サブネットとの関連付け

この操作を行った時点で、課金が開始されます。
これの意味については、冒頭に記載した前回のブログを参照してください。


2-3. セキュリティグループ設定

AWS Client VPN の関連付けサブネットごとにアタッチするセキュリティグループを選択します。
これの意味については、冒頭に記載した前回のブログを参照してください。

2-4. 認証(承認)設定

クライアントから許可する接続先を追加します。
これの意味については、前回の(略

なお承認設定については、AD認証ではADのグループごとに許可設定をできます。
このとき、グループはSID(ADのオブジェクトごとに割り当てられる一意のID)で指定する必要があります。

2-5. 設定ファイルダウンロード・クライアントに設定

上部の青い クライアント設定のダウンロード ボタンを押下して設定ファイルダウンロードします。

ダウンロードされる.ovpnファイルはテキストファイルです。
今回は証明書による相互認証とAD認証の併用ですので、設定ファイルに証明書へのパスを追記してあげます。

cert <クライアント証明書へのパス>
key <秘密鍵へのパス>

上記のように記載しますが、クライアントが Windows マシンの場合、パスの区切りはバックスラッシュ()となりますが、バックスラッシュはエスケープする必要があるため、2つ繋げることが注意点です。

証明書・秘密鍵・ovpnファイルを OpenVPN 用の設定フォルダに配置します。
OpenVPN GUI v11 をインストールしている場合、クライアントPCのデスクトップ下部の “隠れているインジケーター” から OpenVPN GUI のアイコンを右クリックし「設定」を押すことで下記のような画面が出ます。
Advanced タブから設定ファイル置き場のフォルダパスが分かります。3ファイルをこちらに配置します。

2-6. VPN接続を開始

OpenVPN GUI のアイコンを右クリックし「接続」を押下します。
ダイアログが現れ、IDとパスワードを要求されますので、接続に使用するADアカウントのIDとパスワードを入力します。
これで、接続が完了です。

3. 最後に

ひととおりスクリーンショット付きでご紹介しました。
作成・設定した各コンポーネントの意味については、冒頭に記載した前回のブログをご参照ください。

AWS運用自動化サービス「Cloud Automator」