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
ca.crt private/ca.key
./easyrsa --subject-alt-name='DNS:*.rutake.com,DNS:rutake.com' gen-req rutake.com nopass
./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
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/
Ubuntu標準のやつだとだめだった。ovpnファイルを読み込める専用クライアントなら難なく成功。サーバー証明書とクライアント証明書は同一を指定
クライアント | サーバー | 結果 |
期限2年 | 期限2年 | ○ |
期限2年 | 更新後期限10年 | ○ |
更新後期限10年 | 更新後期限10年 | ○ |
更新後期限10年 | 期限2年 | ○ |