ClientVPN設定(相互認証)を導入してみる~1~【AWS】

ClientVPNアイキャッチ画像

・ClientVPNを導入してみたい

ClientVPNを使用して、ClientVPNエンドポイントを経由してwindowsサーバーに接続してみようと思います。

今回は練習もあるので、パブリックサブネット上のEC2にVPN接続経路を作成していますが、最終的には内部IPでRDP接続をできるようにしたいと思います。

今回の作業概要

今回の作業範囲は赤枠内が作業範囲となります。
ClientVPNを使用して接続するEC2については、既に接続済みです。

作業概要図

ステップ1:サーバーおよびクライアント証明書とキーの生成(どこの環境でも大丈夫です!)

証明書さえ作ればどこのサーバーでも問題ありませんが、今回はwindowsサーバーにパブリックIPでRDP接続し作業を行いました。

作業図

下記リンクより、zipファイルをインストール。資材の転送はS3等を用いて転送します。(今回はデスクトップに移動)

https://github.com/OpenVPN/easy-rsa/releases

右上の「code→Doenload.ZIP」をクリック

ダウンロード画面

EasyRSA-3.xのファイルを開き、該当のフォルダをcmdで開きます。(エクスプローラーの上部にPowerShellと入力すれば該当ディレクトリまで移動できます。)

開く画面
powershell開く画面

下記コマンドを実行

.\EasyRSA-Start.bat

入力を求められた際は、easyrsaを入力

入力を求められた画面

新しいPKI環境を初期化します。

./easyrsa init-pki

新しい認証局(CA)を構築

./easyrsa build-ca nopass

入力値は適当に(test, windows-test)としました。

easyRSA入力値

サーバー証明書とキーを作成します。(入力を求められた場合は yes と入力)

./easyrsa --san=DNS:server build-server-full server nopass
easy rsa実行結果
start.bat実行結果

クライアント証明書とキーを作成します。(入力を求められた場合は yes と入力)
本作業はクライアントごとに作成してください。

./easyrsa build-client-full client1.domain.tld nopass
クライアント証明書とキー作成

終了したら、下記コマンドを実行

exit

証明書を格納するフォルダを作成し、サーバー証明書とキー、およびクライアント証明書とキーをカスタムフォルダにコピーしてから、カスタムフォルダに移動します。

mkdir C:\custom_folder
copy pki\ca.crt C:\custom_folder
copy pki\issued\server.crt C:\custom_folder
copy pki\private\server.key C:\custom_folder
copy pki\issued\client1.domain.tld.crt C:\custom_folder
copy pki\private\client1.domain.tld.key C:\custom_folder
cmd実行

サーバー証明書とキー、およびクライアント証明書とキーをACMにアップロード

サーバー証明書とキーのインポート

今回の作業はマネジメントコンソール画面上からアップロードを行います。
マネジメントコンソールにログインしCertificate Managerへ移動

証明書をインポートをクリック

証明書インポート画面

下記にそれぞれの証明書の内容(全文)を貼り付けます。
内容の貼り付けが終了したら「証明書のインポート」をクリック

証明書インポート画面

CAの証明書が発行されるたのを確認してください。

証明書インポート確認画面

クライアント証明書とキーのインポート

先ほどと同様に証明書インポート画面を開き、下記にそれぞれの証明書の内容(全文)を貼り付けます。
内容の貼り付けが終了したら「証明書のインポート」をクリック

クライアント
証明書インポート

証明書がインストールされているのを確認します。

クライアント証明書インポート確認画面

ステップ2:クライアントVPNエンドポイントを作成する

クライアントVPNエンドポイントを作成する

AWSマネジメントコンソールを開き、上部検索ペインより「Client vpnエンドポイント」と入力しClient VPNをクリック

マネジメントコンソールCLientVPN

「クライアントVPNエンドポイントを作成」をクリック

クライアントVPN作成画面

設定に沿って、情報を入力しClientVPNエンドポイントを作成します。(この時クライアントIPv4 CIDRは/22以上としてください。)
※下記以外の設定に関してはデフォルトのままとしています。

クライアントVPN作成画面

ClientVPNの認可ルールを設定する

作成したClientVPNエンドポイントへ移動し「承認ルール」タブをクリック
「承認ルールを追加」をクリックします。

クライアントVPN承認ルール

今回はVPC全体のアクセスを許可するため、VPCのCIDRを入力します。

承認ルール追加画面

ターゲットネットワークの選択

次にクライアントVPNエンドポイントのルートテーブルに転送先を設定します。

ルートテーブルに転送先を設定する

クライアントVPNエンドポイントより「ターゲットネットワーク」タブを選択し「ターゲットネットワークを関連付ける」をクリック

ClientVPNエンドポイントマネこん画面

ClientVPN通信を行いたいEC2があるサブネットを指定します。

ターゲットネットワークを関連づける

作成完了

クライアントVPNエンドポイント

Availableになるまで待機。

エンドポイント作成画面

以上でクライアントVPN作成までの流れは終了です。
クライアントVPNアプリ導入、設定ファイルの修正、接続確認は次の記事で紹介します。