#author("2022-06-24T22:34:49+00:00","default:wikiadmin","wikiadmin") -認証局(オレオレCA)の作成と証明書の発行を楽にできるOpenVPNのサブツール #contents *使い方 [#fc3881a9] *用語 [#eddf38c1] PKIの一般用語も含む |CA|認証局| |証明書認証|認証局立ててサーバー証明書とクライアント証明書を発行して認証。証明書の管理(紛失時は失効&再発行)や更新が面倒| |ID&PW認証|LDAPなどの外部システムと連携して認証を行う| *初期化と認証局立てる [#e6ecc8f7] ./easyrsa init-pki ./easyrsa build-ca **証明書発行 [#b7e7fe75] 認証局にドメイン名をいれるけど、発行するのは別ドメインなのでここのドメイン名は適当で良い。 (本来のCAの役割であればその組織のドメインを入れるべきだが) ./easyrsa build-server-full server1 nopass ./easyrsa build-client-full user1 nopass **更新 [#e28a14ff] ./easyrsa renew server1 nopass *作成ファイル [#hc9de3a4] -pki以下 ca.crt private/ca.key *Apacheで自己証明書を使う。 [#y5c256ef] -Nginxだとそのまま使えたけど、Apacheだとエラーになる状況で調査中 -秘密鍵とCSRの作成 ./easyrsa --subject-alt-name='DNS:*.rutake.com,DNS:rutake.com' gen-req rutake.com nopass -証明書の発行 *nginx向け証明書作成 [#l4eab125] -crtに鍵以外の情報が入っているけど、そのまま使える。Apacheだと現在エラーとなる ./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にインストール [#j76c6000] https://www.server-world.info/query?os=CentOS_7&p=openvpn **ポート開放 [#nca4d367] <rule family="ipv4"> <source address="許可したいIP/32"/> <port protocol="udp" port="1194"/> <accept/> </rule> **トラブル [#u3514ab3] ***ネットにつながらない [#b88b5d5c] -デフォルトだとネット接続はVPN経由しないらしいのだが! -つながるサイトとつながらないサイトがある。自宅サイト/GoogleMap/Qiitaなどは平気だが行けないところが多い。ERR_ADDRESS_UNREACHABLE -VPN経由にして、IPマスカレード有効にしてもだめ *実験 [#cf551ca3] **クライアント証明書 [#l89f2da1] -CAが一緒なら別の証明書でも接続できた。 **証明書更新 [#u6ea2315] -サーバー側だけ更新したときにクライアント証明書は期限まで有効であること(keyも合わせて更新する必要がある!!) *接続後に通知(うまく行かない) [#vfd4a401] https://blog.ymyzk.com/2016/10/openvpn-slack-notification/ *AWS VPN Client [#gf942083] **構築 [#tad29850] -ターゲットネットワークの結びつけに15分ぐらいかかったような。 -証明書の切り替えは一瞬 **接続 [#o48e9135] Ubuntu標準のやつだとだめだった。ovpnファイルを読み込める専用クライアントなら難なく成功。サーバー証明書とクライアント証明書は同一を指定 |クライアント|サーバー|結果| |期限2年|期限2年|○| |期限2年|更新後期限10年|○| |更新後期限10年|更新後期限10年|○| |更新後期限10年|期限2年|○|