使い方

用語

PKIの一般用語も含む

CA認証局
証明書認証認証局立ててサーバー証明書とクライアント証明書を発行して認証。証明書の管理(紛失時は失効&再発行)や更新が面倒
ID&PW認証LDAPなどの外部システムと連携して認証を行う

初期化と認証局立てる

git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
if [ -z "$EASYRSA_CALLER" ]; then
	echo "You appear to be sourcing an Easy-RSA *vars* file. This is" >&2 
	echo "no longer necessary and is disallowed. See the section called" >&2
	echo "*How to use this file* near the top comments for more details." >&2
	return 1
fi
set_var EASYRSA_CA_EXPIRE 36500
set_var EASYRSA_CERT_EXPIRE 36500
set_var EASYRSA_CRL_DAYS 36500
./easyrsa init-pki
./easyrsa build-ca

build-caしたときにCA名称をつける。CAパスフレーズを設定しておくと以下のコマンド実行時に要求される。

./easyrsa show-ca

証明書発行

認証局にドメイン名をいれるけど、発行するのは別ドメインなのでここのドメイン名は適当で良い。 (本来のCAの役割であればその組織のドメインを入れるべきだが)

./easyrsa build-server-full CA-NAME nopass
# show
./easyrsa show-cert CA-NAME
./easyrsa build-client-full user1 nopass

更新

./easyrsa renew server1 nopass

作成ファイル

Apacheで自己証明書を使う。

./easyrsa --subject-alt-name='DNS:*.rutake.com,DNS:rutake.com' gen-req rutake.com nopass

nginx向け証明書作成

./easyrsa --subject-alt-name='DNS:*.example.com,DNS:example.com' gen-req example.com nopass
./easyrsa --subject-alt-name='DNS:*.example.com,DNS:example.com' sign-req server example.com

CentOS7にインストール

https://www.server-world.info/query?os=CentOS_7&p=openvpn

ポート開放

 <rule family="ipv4">
   <source address="許可したいIP/32"/>
   <port protocol="udp" port="1194"/>
   <accept/>
 </rule>

トラブル

ネットにつながらない

実験

クライアント証明書

証明書更新

接続後に通知(うまく行かない)

https://blog.ymyzk.com/2016/10/openvpn-slack-notification/

AWS VPN Client

構築

接続

Ubuntu標準のやつだとだめだった。ovpnファイルを読み込める専用クライアントなら難なく成功。サーバー証明書とクライアント証明書は同一を指定

クライアントサーバー結果
期限2年期限2年
期限2年更新後期限10年
更新後期限10年更新後期限10年
更新後期限10年期限2年

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-06-22 (土) 09:30:34