Android端末にOpenVPNクライアントの設定をする

OS: Android 7.0
OpenVPN Connect 3.0.5

Windows10にOpenVPNクライアントの設定を施したら続いてAndroid端末でもOpenVPNで接続したいものである。Androidクライアント用に証明書と秘密鍵を誂える。

$ cd easy-rsa-3.0.5/easyrsa3/
$ ./easyrsa build-client-full android
(snip)
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
(snip)
Enter pass phrase for /home/guro/src/openvpn/easy-rsa-3.0.5/easyrsa3/pki/private/ca.key:

設定ファイルも準備しておく。

$ vi android.ovpn
client
dev             tun
proto           udp
remote          www7390uo.sakura.ne.jp 1194
ca              ca.crt
cert            android.crt
key             android.key
tls-auth        ta.key 1
cipher          AES-256-GCM
remote-cert-tls server
compress        lz4-v2
auth-nocache
nobind

これらのファイルをAndroid端末へ首尾よくコピーする。

$ sudo scp /etc/openvpn/ca.crt /etc/openvpn/ta.key pki/issued/android.crt pki/private/android.key android.ovpn guro@192.168.0.150:/mnt/file

次はAndroid端末を手にしてOpenVPNが作り上げた「OpenVPN Connect – Fast & Safe SSL VPN Client」をインストールする。

OpenVPN Connectを起動。

「OVPN Profile Connect with .ovpn file」をタップ。

端末にコピーした設定ファイルを選択し、「IMPORT」をタップ。

設定内容に誤りが無ければ「Profile successfully imported」であるからあとはプロファイル名を好きに付けてから「ADD」をタップする。設定の都合が悪ければここで具体的なエラー内容が示されるようになっていた。「Save Private Key Password」にチェックをつけると秘密鍵のパスフレーズを入力する箇所が現れる。OpenVPNサーバへ接続する都度、パスフレーズを入力するのが差し支えあるならここで入力しておくと宜しい。

追加したプロファイルをタップすると接続が開始される。右上にある困り顔の一反木綿みたようなピクトグラムはログを表示するためのものであった。

秘密鍵のパスフレーズを保存するよう設定していなければ毎回ここで入力画面が顔を出す。

初回接続時だけ接続要求のメッセージが表示される。ソースを信頼できる場合にのみOKをタップする。

滞りなく接続が完了するとこういう具合に画面が切り替わる。

ところがUbuntu Server 12.04に構築したOpenVPNサーバであると、接続の際に「The certificate is signed with an unacceptable key (eg bad curve, RSA too short)」というようなエラーメッセージが出て処理が終いになってしまった。接続のログをひとしべひとしべ確認してゆくと認証局の鍵が512bitで作成されているようであるが、此れが為にエラーが出ているような雰囲気を感ずる。easyrsaのスクリプトを編集して2048bitで作成されるよう試みたがうまい具合に処理されなかったのでOpenVPNサーバのOpenSSLを1.0.1から1.0.2に刷新したところ問題が解決した。OpenSSLのサイトには1.0.1はもはやサポートされないので使ってはならぬとある。この問題が解決するまでの場当たり的な犯行としてクライアント側の設定ファイルに

tls-cipher "DEFAULT:@SECLEVEL=0"

を追加してしのいでいたが安全を考えると心持ちの良い解決方法ではないのでやはりOpenSSLをアップデートするのがよさそうである。

参考:
{Resolved} openssl new versions consider md certificates too weak
Bug 1425859 – Can’t connect to VPN after upgrade
OpenSSL

Similar Posts:

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください