AndroidとVPN

AndroidでVPN接続し、ローカル環境にアクセスしてみる。
当初PPTPというプロトコルを使用したVPN環境整備が楽そうだったので、PPTPを使用していこうと持ったが、これはどうもクラックされていて脆弱性があるようだった。
そこで、今回はIPSecを使用したVPN環境の構築をして行こうと思う。(IPSecは使いません。)

しかし、IPSecについて調べると、下のような記事を発見した。

SSL VPN と OpenVPN:多くの嘘とわずかな真実

この記事を読んで、やっぱりIPSecでなく、OpenVPNを使用していくことを決断した。

インストールはapt-getで特に問題なく終了

sudo apt-get update
sudo apt-get install openvpn

OpenVPNを使用するには、SSLの鍵が必要になるので作成していく。
最近では、Let’s Encryptを使用してSSLキーを取得するのが多いようだが、今回は自前で認証局を立ち上げ自前で用意してみる。

認証局(CA)の作成

/usr/share/doc/openvpn/examples/easy-rsa/2.0
ここに、鍵を作成するコマンドツールがある。
varsファイルを編集して設定を行う。

export KEY_SIZE=2048
export KEY_COUNTRY="JP"
export KEY_PROVINCE="県"
export KEY_CITY="市"
export KEY_ORG="ホスト名とか"
export KEY_EMAIL="メアド"
#export KEY_EMAIL=mail@host.domain
#export KEY_CN=changeme
#export KEY_NAME=changeme
#export KEY_OU=changeme
#export PKCS11_MODULE_PATH=changeme
#export PKCS11_PIN=1234

KEY_SIZEはパフォーマンスが少し落ちそうだが、よりセキュアにするためにデフォルトから変更して2048にした
他の項目は、地域情報をやその他の設定。後半は、ほとんどいらないのでコメントアウト。

su -
source vars
./clean-all
./build-ca

build-caを実行すると、色々入力を求められるがvarsでちゃんと設定しておけば、全てEnterのみ押しておけばOK。
今後もCommon Nameという設定をする必要が出てくるが、そのときは毎度違う名前を指定しなければならない。
これで、keysディレクトリに認証局の証明書と、鍵が作成できた。

ca.crt:認証局の証明書
ca.key:認証局の鍵

長くなってきたので、今回はこれで終了。
次回につづく

「AndroidとVPN」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

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