手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 6 easy-rsa で自己署名証明書を作成する – OpenVPN 用 PKI の基本

CentOS 6 で easy-rsa を使い、OpenVPN 用の自己署名 CA と証明書を作成する時の基本を確認します。この記事は新規環境で CentOS 6 を使うための推奨手順ではなく、古い OpenVPN 環境で証明書がどのように作られていたかを読み解くための資料です。

easy-rsa で作るもの

  • CA 証明書と CA 秘密鍵
  • サーバー証明書と秘密鍵
  • クライアント証明書と秘密鍵
  • DH パラメータ
  • 失効リスト CRL

OpenVPN の証明書管理では、サーバーとクライアントの証明書だけでなく、CA 秘密鍵と失効管理が重要です。CA 秘密鍵を VPN サーバー上に置きっぱなしにする構成は、運用上のリスクになります。

パッケージと作業ディレクトリ

yum install easy-rsa openvpn
cp -a /usr/share/easy-rsa/2.0 /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp -a vars vars.bak.$(date +%Y%m%d%H%M%S)

CentOS 6 世代の easy-rsa は 2.x 系の構成がよく使われます。現在の easy-rsa 3 系とはコマンド体系が違うため、古い手順を読む時はバージョンを確認します。

vars の設定

grep -E "^export KEY_" vars
vi vars
source ./vars
./clean-all

vars には国名、組織名、共通名などの既定値を設定します。古い手順では vi で編集していることがありますが、実作業ではバックアップを取った上で、変更点が分かる形にしておく方が安全です。

CA とサーバー証明書を作成する

source ./vars
./build-ca
./build-key-server server
./build-dh
./build-crl

作成後は、keys ディレクトリに証明書や秘密鍵が出力されます。秘密鍵は公開してはいけないファイルです。バックアップ対象ではありますが、取り扱いは秘密情報として分けます。

クライアント証明書を作成する

source ./vars
./build-key client01
ls -l keys/client01.*
openssl x509 -in keys/client01.crt -noout -subject -issuer -dates

クライアント証明書は利用者や端末単位で分けると、失効時に扱いやすくなります。複数端末で同じ証明書を使い回すと、漏えい時の切り分けが難しくなります。

まとめ

CentOS 6 の easy-rsa 手順では、証明書を作ることだけでなく、CA 秘密鍵、クライアント証明書、失効リストをどう管理するかが重要です。古い OpenVPN 環境を移行する時は、証明書ファイルの配置だけでなく、誰にどの証明書を発行したかを棚卸しします。

関連する記事

参考書籍

参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門

CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。

Amazon で見る
このリンクは Amazon アソシエイトリンクです。
CentOS 6 easy-rsa で自己署名証明書を作成する – OpenVPN 用 PKI の基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る