複数クライアント用の証明書ベースの認証を使用してAWS Client VPN エンドポイントを作成しました。特定のクライアントのクライアント VPN エンドポイントへのアクセスを取り消したいと考えています。
簡単な説明
証明書失効リストを使用して、特定のクライアント証明書をブロックすることができます。クライアントをブロックすると、クライアント VPN エンドポイントへのアクセスが取り消されます。
クライアント証明書を取り消すには、以下の手順を実行します。
解決策
OpenVPN easy-rsa を使用してクライアント証明書失効リストを生成する
-
OpenVPN easy-rsa リポジトリのクローンを、ローカルコンピュータ上にローカルリポジトリとして作成します。
$ git clone https://github.com/OpenVPN/easy-rsa.git
-
ローカルリポジトリの easy-rsa/easyrsa3 フォルダを開きます。
$ cd easy-rsa/easyrsa3
-
当該のクライアント証明書を取り消し、クライアント失効リストを生成します。
$ ./easyrsa revoke client_certificate_name
プロンプトが表示されたら、yes と入力します。
$ ./easyrsa gen-crl
Using SSL: openssl OpenSSL 1.0.2g 1 Mar 2016
Using configuration from /home/easy-rsa/easyrsa3/pki/easy-rsa-31222.LsDpvT/tmp.t5FIi8
An updated CRL has been created.
CRL file: /home/easy-rsa/easyrsa3/pki/crl.pem
証明書失効リストファイルの作成場所は、/easy-rsa/easyrsa3/pki/crl.pem です。
証明書失効リストファイルをクライアント証明書失効リストにインポートする
重要: 証明書失効リストファイルを AWS マネジメント コンソールにインポートすると、クライアントによるクライアント VPN エンドポイントへのアクセスは、永久に取り消されます。
-
Amazon Virtual Private Cloud (Amazon VPC) コンソールを開きます。
-
ナビゲーションペインで、[クライアント VPN エンドポイント] を選択します。
-
クライアント証明書失効リストのインポート先となるクライアント VPN エンドポイントを選択します。
-
[アクション] を選択し、[クライアント証明書 CRL をインポート] を選択します。
-
クライアント証明書失効リストファイル crl.pem の内容をコピーします。
$ cat pki/crl.pem-----BEGIN X509 CRL-----
Base64–encoded certificate
-----END X509 CRL-----
-
[証明書失効リスト] に、クライアント証明書失効リストファイルの内容を入力します。そして、[CRL をインポート] を選択します。
または、AWS コマンドラインインターフェイス (AWS CLI) を使用してクライアント証明書失効リストをインポートすることもできます。
aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file:path_to_CRL_file --client-vpn-endpoint-id endpoint_id --region region
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーを受け取った場合は、最新の AWS CLI バージョンを使用していることを確認してください。
(オプション) クライアント証明書失効リストをエクスポートする
- Amazon VPC コンソールを開きます。
- ナビゲーションペインで、[クライアント VPN エンドポイント] を選択します。
- クライアント証明書失効リストのエクスポート元となるクライアント VPN エンドポイントを選択します。
- [アクション] を選択し、[クライアント証明書 CRL をエクスポート] を選択します。
- [Yes] を選択し、[エクスポート] を選択します。
または、AWS CLI を使用してクライアント証明書失効リストをエクスポートすることもできます。
aws ec2 export-client-vpn-client-certificate-revocation-list --client-vpn-endpoint-id endpoint_id
関連情報
クライアント証明書失効リスト