プライバシーやセキュリティが守られるprotonVPNの無料プランを少し試す

セキュアなメールサービスの ProtonMail と同じ Proton Technologies AGの VPN サービスの ProtonVPN を少し試してみました．
存在は知っていましたが接続するには専用アプリのみが必要だと思いこんでいました．openVPN で接続できるようなので試してみました．

ProtonVPN: Secure and Free VPN service for protecting your privacy

ここでの VPN は拠点間などではなくスマートフォンやPCを公衆無線LANなどで接続したとき向けの個人向けVPNとしての話です．

無料VPNサービスはいろいろ見つかりますが，無料の代わりに個人情報を収集して販売していたりプライバシーポリシーでそういうことをしないとしつつも実際は行っていたりと怪しいものが多いです．

Android用“VPNアプリ”の18％で暗号化が行われず、16％は家庭向け回線でホスト -INTERNET Watch

Notes on Analytics and Tracking in Onavo Protect for iOS

FTC complaint about Hotspot Shield

知識のある人であれば自宅にSBCなどで低価格，低消費電力でVPNサーバを用意したり，VPNサービスより安い価格のVPSサービスにセットアップして利用するなどといったことが可能ですが，知識のない人にサーバを立ててもらうのは難しいです．(一旦設定した後も使い続ける間はOSやサービスのアップデートなども必要だし……)

ProtonVPN は有料プランの他に無料プランがあり，無料プランでもプライバシーやセキュリティが守られるとなっています．無料はお試し版という扱いですね．無料プランでは接続できるサーバが限られており，無料プランで接続できるサーバは事に比べて利用率が高くなっています．時間帯によっては100%になっているので速度は低下すると思います．

実際にプライバシーやセキュリティが守られるのかが不安ですが，もともとジャーナリストや活動家を守るために作られたものであったり，MozillaがFirefoxに向けてのVPNサービスにProtonVPNを選ぶなどそれなりに信頼できそうな気がします．(少なくとも今の時点では)

Testing new ways to keep you safe online – Future Releases

We’re partnering with Mozilla to bring online privacy to more people – ProtonVPN Blog

ProtonVPN アカウントの作成

ProtonVPN を利用するためにアカントを作成します．
手順は以下に書かれています．メールアカウントが別途必要です．また，ProtonMail のアカウントを使ってProtonVPN のアカウントを作成するとこも出来るようなので私は ProtonMail でアカウントを作成しました．

How to create a free VPN account – ProtonVPN Support

Network Manager を利用して ProtonVPN に接続

お手軽にNetwork Manager の openVPN プラグインを利用して接続します．
以下に手順があるので真似します．

How to use ProtonVPN on Linux? – ProtonVPN Support

(GUIのNetwork Manager 以外にも command-line や IKEv2 での接続方法もあるようです．)_

ProtonVPN command-line tool for Linux – ProtonVPN Support

Linux IKEv2 ProtonVPN tutorial – ProtonVPN Support

必要なパッケージを導入します．

$ sudo apt install openvpn network-manager-openvpn-gnome resolvconf

ProtonVPN の設定ファイルを入手します．

ProtonVPN のサイトでログイン

Download ページに移動

plathome で「Linux」を選択

protocol はそのまま「UDP」

無料プランでは「Secure Core configs」，「Country configs」は利用できないので「Server configs」を選択．

後は任意の接続でダウンロード

今回は「Japan」の「Japan Free#2」をダウンロードした

続いてNetwork Manager の設定をします．

Network Manager のアイコンをクリックして，「VPN 接続(V)」->「VPN を設定(C)」を選択

「接続の種類を選んでください」というウィンドウで，「保存した VPN 設定をインポートする…」を選んで「作成（R)…」を押す

ProtonVPN のページでダウンロードした設定ファイルを指定してインポートする

次の設定画面のVPN タブで「ユーザ名」，「パスワード」を入力する．ユーザ名，パスワードは protonVPN のページで確認できる．(protonVPNサービスのものとは別で自動生成されている)

接続してみます．

Wi-Fi などのネットワークに接続した状態でNetwork Manager のアイコンをクリックして，「VPN 接続(V)」->設定したprotonVPN をクリック

リモートアドレスなどを確認するとVPN のものに変わっていました．

$ curl ifconfig.me/ip
185.242.4.204
$ dig | grep -i server:
;; SERVER: 10.8.8.1#53(10.8.8.1)
$ /sbin/ifconfig tun0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.3.2 netmask 255.255.255.0 destination 10.8.3.2
inet6 fe80::642a:6858:4f6:403 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (不明なネット)
RX packets 11489 bytes 8367918 (7.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11204 bytes 2610990 (2.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

$ whois 185.242.4.204
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See -ripe.net - www.ripe.net/db/support/db-terms-conditions.pdf

% Note: this output has been filtered.
% To receive output for a database update, use the "-B" flag.

% Information related to '185.242.4.0 - 185.242.4.255'

% Abuse contact for '185.242.4.0 - 185.242.4.255' is 'abuse@m247.ro'

inetnum: 185.242.4.0 - 185.242.4.255
netname: M247-LTD-TOKYO
descr: M247 LTD Tokyo Infrastructure
country: JP
geoloc: 35.622214 139.7455763
admin-c: GBXS24-RIPE
tech-c: GBXS24-RIPE
status: LIR-PARTITIONED PA
mnt-by: GLOBALAXS-MNT
remarks: ---- LEGAL CONCERNS ----
remarks: For any legal requests, please send an email to
remarks: ro-legal@m247.ro for a maximum 48hours response.
remarks: ---- LEGAL CONCERNS----
created: 2018-01-17T11:32:30Z
last-modified: 2018-11-29T11:54:41Z
source: RIPE

role: GLOBALAXS TOKYO NOC
address: 2 Chome-1-17 Higashishinagawa, Shinagawa
address: Tokyo 140-0002, Japan
abuse-mailbox: abuse@m247.ro
nic-hdl: GBXS24-RIPE
mnt-by: GLOBALAXS-MNT
created: 2017-10-17T16:49:19Z
last-modified: 2018-07-18T11:04:41Z
source: RIPE # Filtered

% Information related to '185.242.4.0/24AS9009'

route: 185.242.4.0/24
origin: AS9009
mnt-by: GLOBALAXS-MNT
created: 2018-01-17T11:33:29Z
last-modified: 2018-01-17T11:33:29Z
source: RIPE

% This query was served by the RIPE Database Query Service version 1.92.6 (WAGYU)

速度については確認した回線がADSL で元々細いせいかVPN利用時，非利用時であまり変わりませんでした(400kB/s程)．公衆無線LAN などでも試してみたいところです．

ちなみに，AndroidスマートフォンのProtonVPN を携帯回線で利用した状態で Wi-Fi 接続したら VPNのセッションは張り直されず Wi-Fi を利用しているつもりで携帯回線を使い続けていたということがありました．ちゃんと検証していないですが気をつけたほうが良さそうです．
OpenVPN Connect のほうがいいかも

OpenVPN Connect – Fast & Safe SSL VPN Client – Google Play のアプリ

Android環境

Android のバージョン:9
セキュリティパッチレベル: 2019年3月5日

Linux環境1

$ dpkg-query -W openvpn network-manager-openvpn-gnome resolvconf
network-manager-openvpn-gnome 1.8.10-1
openvpn 2.4.7-1
resolvconf 1.79
$ lsb_release -dr
Description: Debian GNU/Linux buster/sid
Release: unstable
$ uname -m
x86_64

Linux環境2
$ dpkg-query -W openvpn network-manager-openvpn-gnome resolvconf
network-manager-openvpn-gnome 1.8.10-1
openvpn 2.4.6-1ubuntu3
resolvconf 1.79ubuntu10
$ lsb_release -dr
Description: Ubuntu Disco Dingo (development branch)
Release: 19.04
$ uname -m
x86_64