初めに
ついに1次情報を見つけました。嬉しい!やってみよう!
やってみた
Linux/macOS編です。7ページから8ページにかけてやってみます。
yum
パッケージをアップデートする
sudo yum update -y
git
コマンドをインストールする
sudo yum install git -y
OpenVPN Inc の easy-rsa リポジトリをクローンする
git clone https://github.com/OpenVPN/easy-rsa.git
easy-rsa ディレクトリに移動する
cd easy-rsa/easyrsa3
PKI環境を構築する
PKI は、Public Key Infrastructure の略であり、「公開鍵基盤」と訳されます。これは、「公開鍵」による「基盤(インフラ)」を表しています。「公開鍵」とは「公開鍵暗号方式」という特殊な暗号技術を指します。この技術を用いることで、暗号化、デジタル署名、認証といった様々なセキュリティ対策が実現できます
以下リンクより抜粋。
./easyrsa init-pki
認証局を立てる
信頼できる第三者機関 (TTP: Trusted Third Party)に公開鍵の所有者を保証してもらう方法です。TTP は、公開鍵の所有者の本人性をなんらかの方法で確認し、公開鍵とその所有者を保証する証明書(Certificate)を発行します。証明書には、公開鍵とその所有者を証明する情報が記載され、改ざんを防ぐために TTP の署名が付与されます。証明書を発行する TTP のことを、認証局 (CA: Certification Authority)といいます。
以下リンクより抜粋。
./easyrsa build-ca nopass
Common Name は適当に入力します。
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:testname
サーバ証明書と秘密鍵を生成する
./easyrsa build-server-full server nopass
クライアント証明書と秘密鍵を生成する
これらは Clinet VPN エンドポイントの設定ファイルに必要です。
./easyrsa build-client-full client1.domain.tld nopass
ACMにキー・証明書をアップロードするためのディレクトリを作成する
mkdir ~/custom_folder
作成したキー・証明書を作成したディレクトリに移動する
cp pki/issued/server.crt ~/custom_folder
cp pki/private/server.key ~/custom_folder
cp pki/issued/client1.domain.tld.crt ~/custom_folder
cp pki/private/client1.domain.tld.key ~/custom_folder
cp pki/ca.crt ~/custom_folder
作成したディレクトリに移動する
cd ~/custom_folder/
ACMにサーバ証明書・サーバの秘密鍵・中間証明書をアップロードする
aws acm import-certificate --region ap-northeast-1 --certificate \
fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt
アップロードできました!
参考記事
- 1.3 PKI で実現できること
- 3 認証局と電子証明書