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

記事タイトルとURLをコピーする

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

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

先日のブログでは、そもそもの AWS Clinet VPN の概念を解説し、サーバ証明書とクライアント証明書を利用した「相互認証」のパターンの利用方法をご紹介しました。 http://blog.serverworks.co.jp/tech/2019/06/10/awsclientvpn/

今回は「相互認証 + 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. 最後に

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

杉村 勇馬 (記事一覧)

サーバーワークス → 株式会社G-gen 執行役員CTO

2021 Japan APN Ambassadors / 2021 APN All AWS Certifications Engineers

マルチAWSアカウント管理運用やネットワーク関係のAWSサービスに関するブログ記事を過去に執筆。

2021年09月から株式会社G-genに出向、Google Cloud(GCP)が専門に。G-genでもGoogle Cloud (GCP) の技術ブログを執筆中。