SSL-VPN接続#
証明書のダウンロード#
※ 本ガイドの はじめに ー 事前準備 の (オプション)作成ユーザーの認証方式変更 で証明書を取得、保管してある場合は、「証明書のダウンロード」は必要ありません。次の 証明書の準備へ進んでください。
証明書の発行からインポートまでを説明します。
1 . ポータルにログインし、画面右上のユーザー名をクリックして、 [ 認証方式変更 ] を選択します。
ポータル
2 . [ 証明書発行 ] をクリックします。
3 . 任意のパスフレーズを設定し、 [ 発行 ] をクリックします。 設定したパスフレーズは、証明書のダウンロード・インストールおよびクライアント証明書の形式変換、秘密鍵の抽出の際に使用します。
4 . 本サービスから送付されるメールに従い、証明書をダウンロードします。
5 . メールに記載されている証明書のユーザーIDと、発行時に設定したパスフレーズを入力し、ダウンロードします。
6 . 証明書をインストールします。ダウンロードした証明書ファイルをダブルクリックしてください。
すべてデフォルトの設定でインストールします。パスワードは手順3. で設定したパスフレーズを入力します。
証明書の準備#
opensslコマンドの利用環境を準備#
証明書の型式の変換、秘密鍵抽出のため、本ガイドの例ではopensslを使用します。そのため、以下のいずれかでopenssl利用環境を準備します。
・Windows Subsystem for Linux(WSL)を利用する
・Windows版opensslをインストールする
本ガイドではWindows Subsystem for Linux(WSL)のUbuntuでの利用を例示します。
- Windowsのコマンドプロンプトから以下のコマンドで、Windows Subsystem for Linuxをインストールします。
クライアントPCの管理者権限で実行します。
c:\User\xxxxxxx > wsl.exe --install -d Ubuntu
実行例
クライアント証明書の形式変換、秘密鍵の抽出#
ダウンロードしたクライアント証明書をOpenVPNクライアントで利用するため、opensslコマンドを用いて秘密鍵を抽出します。
1 . 先ほどインストールしたWSLを起動します。
WSLのコマンド入力画面が起動されます。
※この例では一般ユーザー(プロンプトが"~$")で実行していますが、root(プロンプトが"#")で実行しても構いません
2 . 証明書の形式変換、および秘密鍵抽出の事前準備
クライアント証明書は、実行環境(この例ではUbuntu)のホームディレクトリ(本ガイドのWSLのUbuntuを使用した例では、"/home/ユーザー名")に事前に格納しておきます。
Ubuntuのホームディレクトリ "/home/ユーザー名" は、 下図のようにWindowsのエクスプローラーで"Linux > Ubuntu > home > ユーザー名" のフォルダからアクセスできます。
クライアント証明書をこのフォルダへ格納してください。
Note
- クライアントPCの設定、実行するユーザーによって異なるフォルダになる場合がありますので、エクスプローラーから確認願います。例えばUbuntuのrootユーザーで実行する場合は、Linux > Ubuntu > root フォルダになります。
- ダウンロードした証明書ファイルを上記のフォルダへ移動またはコピーする際にクライアントPCの管理者権限のアカウント・パスワードを要求される場合があります。その場合は管理者アカウント・パスワードを入力してください。
3 . WSLのウィンドウからopensslコマンドで証明書のPEM形式への変換、および秘密鍵の抽出を行います。
実行するコマンド(例)
- 証明書形式の変更
$ openssl pkcs12 -in <クライアント証明書> -clcerts -nokeys -out client.crt -legacy
実行するとパスワードを要求されます。
パスワードは証明書発行時に設定したパスフレーズを入力してください。
- 秘密鍵の抽出
$ openssl pkcs12 -in <クライアント証明書> -clcerts -out client.key -legacy
実行すると、パスワードの入力とPEMのパスフレーズの設定を要求されます。
パスワードは証明書発行時に設定したパスフレーズを入力してください。
PEMのパスフレーズには任意の値を設定してください。続けて再入力("Verify")を要求されますが、同じ値を再度入力してください。
ここで設定したPEMのパスフレーズはこの後のOpenVPNからのSSL-VPN接続で必要になります。
ホームディレクトリに、以下の2つのファイルが出力されます。WSLのホームディレクトリおよびWindowsエクスプローラーのフォルダにファイルが作成されていることを確認してください。
- client.crt : 形式を変換した証明書
- client.key : クライアント証明書から抽出した秘密鍵
実行後のWSL(Ubuntu)のホームディレクトリ
実行後のWindowsエクスプローラーのフォルダ
CA証明書のダウンロード#
1 . 以下のDigiCertのサイトから、CA証明書としてルート証明書[DigiCert Global Root G2] をダウンロードします。
「Download PEM]をクリックし、PEM形式のルート証明書をダウンロードしてください。
https://www.digicert.com/kb/digicert-root-certificates.htm
2 . ダウンロードしたファイルは以降の手順で利用するため、ファイル名を拡張子も含め「ca.crt」にリネームします。※拡張子は".pem"から".crt"に変更します。
OpenVPNクライアントの導入#
SSL-VPN接続クライアント(OpenVPNクライアント)を接続するクライアント端末にインストールします。
1 . OpenVPNクライアントを以下からダウンロードして、クライアント端末にインストールします。
https://openvpn.net/community-downloads/
バージョンはOpenVPN 2.6.XXをご利用ください。(本ガイドでは 2.6.10 で例示しています。)
2 . クライアントのインストール後、証明書の準備、CA証明書のダウンロードで準備した各証明書をOpenVPNクライアントのデフォルトの証明書格納フォルダに格納します。
格納する証明書
- CA証明書(ca.crt)
- クライアント証明書(client.crt)
- クライアント秘密鍵(client.key)
OpenVPNクライアントのデフォルトの証明書格納場所は以下です。
C:\Program Files\OpenVPN\config
OpenVPN接続設定ファイルの作成#
以下のサンプルテンプレートを参照して、接続設定ファイル(拡張子は”.ovpn”)を作成し、C:\Program Files\OpenVPN\config に格納します。
サンプルテンプレート
client dev tun proto tcp remote <SSL-VPN V3のExternal_Address> 443 ※1 resolv-retry infinite nobind auth-user-pass ※2 static-challenge pin otp ※2 persist-key persist-tun ca ca.crt ※3 cert client.crt ※3 key client.key ※3 remote-cert-tls server data-ciphers AES-256-GCM http-proxy <proxyサーバーのアドレス> <ポート> stdin basic ※4
※1 SSL-VPN V3のExternal_Addressを指定してください。本ガイドのSSL-VPNコネクション(SSL-VPN V3)の External addressを確認するの例の場合は 133.162.70.144 になります。
※2 ワンタイムパスワードを利用しない場合は、該当行を削除してください。
※3 サーバー証明書のCA証明書、クライアント証明書、秘密鍵のファイル名を記載してください。
※4 proxyサーバーのアドレス、ポートを指定してください。proxy経由で接続しない場合は、該当行を削除してください。
C:\Program Files\OpenVPN\configフォルダの例
SSL-VPN接続する#
1 . タスクトレイにあるOpenVPNアイコンを右クリックし、「接続」を選択します。
タスクトレイにOpenVPNアイコンが無い場合は、スタートメニューからOpenVPNを起動します。
以下の認証画面が表示されます。
2 . 以下のパラメーターを入力します。
ユーザー名 : ユーザーIDを入力します。
パスワード: 空欄
このままワンタイムパスワードの取得に進みます。
3 . ワンタイムパスワードの取得
ワンタイムパスワードを取得するため、WinAuthを起動します。
ポップアップが上がります。ポップアップ画面のリロードボタンをクリックするとワンタイムパスワードが表示されます。
ワンタイムパスワードの表示例
4 . ワンタイムパスワード入力
ワンタイムパスワードをレスポンス欄に入力し「OK」ボタンをクリックします。
※ワンタイムパスワードがタイムアウトになる前に入力します。タイムアウトになった場合は再度WinAuthのリロードボタンをクリックして再発行します。
5 . パスワードの入力
以下のポップアップが上がり、パスワード入力を要求されたら、秘密鍵抽出時に設定したPEMのパスフレーズを入力します。パスフレーズを入力すると「OK」ボタンがクリック可能になります。
6 . 「OK」ボタンをクリックしSSL-VPNへ接続します。
Note
プロキシ経由で接続する場合、プロキシのユーザー名とパスワード入力が要求されます。ご利用の環境のプロキシのユーザー名とパスワードを入力してください。
SSL-VPN接続確認#
タスクトレイのアイコンからSSL-VPNの接続を確認できます。以下のように表示されていれば接続済です。