UNIX/openvpn のバックアップ(No.1)


UNIX/openvpn

7-4.クライアント証明書&秘密鍵の作成・設置

リモートアクセス用途の特性上、サーバに接続してくるクライアントに関しても「本当に信頼できるクライアントなのか?」をサーバ側で精査するために、接続するクライアント毎に証明書を作成する必要があります。また、クライアント端末が盗難にあった際に備えて、クライアント秘密鍵に関してはパスフレーズを設定して、誰でも使用できないようにする必要があります。

クライアント証明書及びクライアント秘密鍵の作成に関しても、同様にbuild-key-passスクリプトという作成のためのスクリプトが用意されているので簡単に作成できます。使い方は以下の通りです。

build-key-pass [作成するクライアント証明書と秘密鍵のファイル名]

今回は、client1.crt(クライアント証明書)とclient1.key(クライアント秘密鍵)を作成するので、以下のように実行します。

cd /etc/openvpn/easy-rsa/
. ./vars
./ build-key-pass client1    ←引数に「client1」と入力

build-key-passを実行すると、対話モードになりパスフレーズの入力を求められるので入力してください。以降は「Common Name」のみ任意のものを入力し、あとはデフォルトのまま「Enterキー」を押すだけで結構です。今回は、「client1」と入力します。

./build-key-server server

〜省略〜 Enter PEM pass phrase: ←パスフレーズを入力 Verifying - Enter PEM pass phrase: ←もう一度パスフレーズを入力 Common Name (eg, your name or your server's hostname) []:client1 ←ここのみ入力 〜省略〜

※なお、クライアント証明書は、接続するクライアント毎に作成する必要がありますが、その際、サーバは「Common Name」で接続元を識別し接続を管理します。二回目以降の証明書作成の際は異なった「Common Name」で作成するようにしてください。

上記が終了すると/etc/openvpn/easy-rsa/keysディレクトリ内に以下のファイルが作成されます。

・client1.crt …クライアント証明書

・client1.key …クライアント秘密鍵

上記「client1.crt」「client1.key」、に関しては、OpenVPNクライアント端末上に設置する必要があるので、フロッピー又はFTP等を利用して、client.ovpnで設定した場所に設置する必要があります。今回の場合であれば、OpenVPNクライアント端末の以下のディレクトリに内に設置しなければなりません。

C:\Program Files\OpenVPN\config