インストール - Tor Browser
概要
インターネットは、匿名性があると言われるが、それは事実から遠いものである。
ユーザがWebサイトを閲覧したり、書き込んだりする場合は、ユーザの契約するグローバルIPアドレスをWebサイトのサーバに残すことになる。
Tor browser bundleは、それらの脅威からユーザを保護し、強力な匿名性を生み出す。
TorとTorSocksのインストール (Tor Browserを使用する場合は不要)
パッケージ管理システムからインストール
sudo zypper install tor torsocks
ソースコードからインストール
Torのビルドに必要なライブラリをインストールする。
sudo zypper install zlib-devel xz-devel libzstd-devel libevent-devel libtcmalloc4 libopenssl-devel libopenssl-1_1-devel \ libfuzzy-devel systemd-devel mozilla-nss-devel asciidoc # 必要ならばインストールする
TorのGithubにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf tor-<バージョン>.tar.gz cd tor-<バージョン>.tar.gz
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone https://github.com/torproject/tor.git cd tor
Torをビルドおよびインストールする。
./autogen.sh mkdir build && cd build ../configure --prefix=<Torのインストールディレクトリ> --with-libevent-dir=--prefix=<Torのインストールディレクトリ> \ --enable-lzma --enable-zstd --enable-systemd --enable-nss --disable-asciidoc make -j $(nproc) make install
cp /<Torのインストールディレクトリ>/etc/tor/torrc.sample /<Torのインストールディレクトリ>/etc/tor/torrc vi /<Torのインストールディレクトリ>/etc/tor/torrc
Torの設定ファイルであるtorrcファイルを編集する。
# /<Torのインストールディレクトリ>/etc/tor/torrcファイル ...略 # User Add DataDirectory /<Torのインストールディレクトリ>/var/lib/tor PidFile /<Torのインストールディレクトリ>/var/run/tor/tor.pid Log notice syslog ControlSocket /<Torのインストールディレクトリ>/var/run/tor/control GroupWritable RelaxDirModeCheck ControlSocketsGroupWritable 1 SocksPort unix:/<Torのインストールディレクトリ>/var/run/tor/socks WorldWritable SocksPort 9050 CookieAuthentication 0 CookieAuthFileGroupReadable 1 CookieAuthFile /<Torのインストールディレクトリ>/var/run/tor/control.authcookie
Torの設定ファイルであるdefaults-torrcファイルを、以下に示す内容で作成する。
vi /<Torのインストールディレクトリ>/etc/tor/defaults-torrc
# /<Torのインストールディレクトリ>/etc/tor/defaults-torrcファイル DataDirectory /<Torのインストールディレクトリ>/var/lib/tor PidFile /<Torのインストールディレクトリ>/var/run/tor/tor.pid Log notice syslog ControlSocket /<Torのインストールディレクトリ>/var/run/tor/control GroupWritable RelaxDirModeCheck ControlSocketsGroupWritable 1 SocksPort unix:/<Torのインストールディレクトリ>/var/run/tor/socks WorldWritable SocksPort 9050 CookieAuthentication 0 CookieAuthFileGroupReadable 1 CookieAuthFile /<Torのインストールディレクトリ>/var/run/tor/control.authcookie
Tor用のSystemdサービスファイルを作成する。
sudo vi /etc/systemd/system/tor.service
# /etc/systemd/system/tor.serviceファイル [Unit] Description=Anonymizing overlay network for TCP After=syslog.target network.target nss-lookup.target PartOf=tor-master.service ReloadPropagatedFrom=tor-master.service [Service] Type=notify NotifyAccess=all #User=tor ExecStartPre=/<Torのインストールディレクトリ>/bin/tor --runasdaemon 0 --defaults-torrc /<Torのインストールディレクトリ>/etc/tor/defaults-torrc -f /<Torのインストールディレクトリ>/etc/tor/torrc --verify-config --user <ユーザ名> --hush ExecStart=/<Torのインストールディレクトリ>/bin/tor --runasdaemon 0 --defaults-torrc /<Torのインストールディレクトリ>/etc/tor/defaults-torrc -f /<Torのインストールディレクトリ>/etc/tor/torrc --user <ユーザ名> --hush ExecReload=/bin/kill -HUP ${MAINPID} KillSignal=SIGINT TimeoutSec=30 Restart=on-failure RestartSec=1 WatchdogSec=1m LimitNOFILE=32768 # Hardening CapabilityBoundingSet=CAP_SETUID CAP_SETGID CAP_NET_BIND_SERVICE CAP_DAC_READ_SEARCH LockPersonality=yes MemoryDenyWriteExecute=yes NoNewPrivileges=yes PermissionsStartOnly=yes PrivateDevices=yes PrivateNetwork=no PrivateUsers=no PrivateTmp=yes ProtectClock=yes ProtectControlGroups=yes ProtectHome=yes ProtectKernelLogs=yes ProtectKernelModules=yes ProtectKernelTunables=yes ProtectSystem=strict ProtectHostname=yes ReadOnlyDirectories=/ #ReadWriteDirectories=/run/tor ReadWriteDirectories=/<Torのインストールディレクトリ>/var/lib/tor ReadWriteDirectories=/<Torのインストールディレクトリ>/var/log/tor RemoveIPC=yes RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 RestrictNamespaces=yes RestrictRealtime=yes RestrictSUIDSGID=yes SystemCallArchitectures=native SystemCallFilter=~@cpu-emulation @obsolete @raw-io @mount @module @debug @clock @reboot @swap UMask=77 [Install] WantedBy=multi-user.target
sudo vi /etc/systemd/system/tor-master.service
# /etc/systemd/system/tor-master.service [Unit] Description=Anonymizing overlay network for TCP (multi-instance master) [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/true ExecReload=/bin/true [Install] WantedBy=multi-user.target
次に、TorSocksのGitにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf torsocks-<バージョン>.tar.gz cd torsocks-<バージョン>.tar.gz
または、git clone
コマンドを実行して、ソースコードをダウンロードする。
git clone https://gitweb.torproject.org/torsocks.git cd torsocks
TorSocksをビルドおよびインストールする。
./autogen.sh mkdir build && cd build ../configure --prefix=<Torのインストールディレクトリ> make -j $(nproc) make install
TorおよびTorSocksの実行に必要な依存関係のライブラリをインストールする。
sudo zypper install libcap-progs
~/.profileファイル等に、環境変数を追記する。
vi ~/.profile
# ~/.profileファイル export PATH="/<Torのインストールディレクトリ>/bin:$PATH" export LD_LIBRARY_PATH="/<Torのインストールディレクトリ>/lib64:$LD_LIBRARY_PATH"
Torブラウザのインストール
Torブラウザの公式Webサイトまたは以下のコマンドを実行してダウンロードする。
wget https://dist.torproject.org/torbrowser/x.x.x/tor-browser-linux64-x.x.x_en-US.tar.xz
ダウンロードしたファイルを解凍する。
tar xf tor-browser-linux64-*_en-US.tar.xz
解凍したファイルを任意のディレクトリに配置する。
mv tor-browser_en-US Tor_Browser mv Tor_Browser <任意のディレクトリ>
Torブラウザのデスクトップエントリファイルを作成する。
vi ~/.local/share/applications/Tor_Browser.desktop
# ~/.local/share/applications/Tor_Browser.desktopファイル
[Desktop Entry]
Type=Application
Name=Tor Browser
GenericName=Tor Browser
Comment=Tor Browser is +1 for privacy and −1 for mass surveillance
Exec=sh -c '"/<Torブラウザのインストールディレクトリ>/Browser/start-tor-browser" --detach || ([c! -x "/<Torブラウザのインストールディレクトリ>/Browser/start-tor-browser" ] && "$(dirname "$*")"/Browser/start-tor-browser --detach)' dummy %k
X-TorBrowser-ExecShell=./Browser/start-tor-browser --detach
Icon=/<Torブラウザのインストールディレクトリ>/Browser/browser/chrome/icons/default/default128.png
Categories=Network;WebBrowser;Security;
StartupWMClass=Tor Browser
Tor over VPNとは
VPN経由でTorを使用することをTor over VPN、あるいは、Tor through VPNと呼ぶ。
Tor over VPNを使用する場合、Torネットワークへの接続がVPNネットワークで隠蔽されるため、ISPにはユーザがTorネットワークを使用していることが不明になる。
また、Torネットワークのガードノード(エントリーノード)への接続はVPN経由となるため、TorネットワークのガードノードがユーザのIPアドレスを知ることはできない。
この接続方法は、Torネットワークの匿名性を更に高めたい場合やTorネットワークを使用していることを隠蔽したい場合に使用する。
Tor over VPNの特徴を、以下に示す。
- ISPは、ユーザがTorネットワークを使用していることが分からなくなる。
- Torのガードノード(エントリーノード)は、ユーザのIPアドレスが分からなくなる。
- ダークウェブ(.onionドメイン)へ接続できる。
Tor over VPNで接続する手順を、以下に示す。
- まず、契約しているVPNサービスでVPN接続する。
- この状態で、Torブラウザを起動してTorネットワークと接続することにより、VPNネットワークを経由してTorネットワークと接続できる。
- Tor over VPNを確認する場合、
ss
コマンド、または、netstat
コマンドを実行後、TorネットワークのガードノードのIPアドレスが出力されないことにより確認できる。ss -ant | grep <TorネットワークのガードノードのIPアドレス>
- または
sudo zypper install net-tools-deprecated
netstat -ant | grep <TorネットワークのガードノードのIPアドレス>
- ガードノードのIPアドレスが出力されない理由は、TorはVPNネットワークを経由しているため、ガードノードと接続しているのはVPNサーバだからである。
対応しているVPNサービス
- CyberGhost
- IP VANISH
- Windscribe
- PrivateVPN
- PIA VPN
- Mullvad
- Ivacy VPN
- AirVPN
- Nord VPN
非対応のVPNサービス
- Strong VPN
VPN over Torとは
Torネットワーク経由でVPNネットワークに接続することを、VPN over Tor、あるいは、VPN through Torと呼ぶ。
VPN over Torを使用することにより、VPNサービス事業者にはユーザのIPアドレスが分からなくなる。
この接続方法は、VPNサービス事業者から通信ログが漏洩した場合に匿名性を守る事ができる。
ただし、対応しているVPNサービスが少ないことに注意する。
VPN over Torの特徴を、以下に示す。
- VPNサービス事業者にはユーザのIPアドレスが分からない。
- VPNサービスへの支払いに暗号通貨を使用する等、アカウントを匿名化している場合、サービス事業者がログを開示したとしてもユーザに辿り着くことは不可能となる。
- 通常ではTorに対応していないプロトコルでもTorを経由して通信できる。
VPN over Torは、以下のような流れで接続する。
- Torに接続する。
TorブラウザもしくはTorコマンドでTorとの接続を確立する。 - VPN over Torに対応しているVPNの設定を行う。
- Torネットワーク経由でVPNネットワークへ接続する。
この接続方法は特殊であるため、VPN over Torに対応したVPNサービスを契約する必要がある。
VPN over Torで接続する手順を、以下に示す。
- Torに接続する
- 最初にTorネットワークに接続している必要があるため、Torブラウザを起動する。
tor
コマンドを使用する場合、ポート番号が頻繁に変更されるため、Torブラウザの使用を推奨する。- Torネットワークへの接続が完了した後、ローカルでTCP 9150ポートのSOCKSプロキシがリッスンし始める。
- VPNソフトウェアの設定を行う。
- ここでは、AirVPNを例に挙げる。
- AirVPNのNetwork Lockを有効にしている場合、VPN over Torは出来ない。これは、Network LockによりTorネットワークへの接続が遮断されるためである。
- VPN over Torで接続する場合は、まず、Network Lockが無効化した状態であることを確認する。
- 次に、AirVPNソフトウェアのメイン画面左下にある設定ボタンを押下する。
- 画面の左ペインにある[Proxy / Tor] - 画面の右ペインにある[Type]プルダウンから[Tor]を選択 - 画面下にある[Save]ボタンを押下する。
- 設定を保存した後、画面中央にある[Test]ボタンを押下する。
- "Successfull test"というメッセージが出力すれば成功である。
失敗する場合は、Torブラウザが起動していないか、ポート番号が異なっている可能性がある。
- VPN over Torで接続できているかどうかを確認する。
- 上記の設定後、VPNネットワークへ接続するだけでTorネットワーク経由のVPN接続が可能である。
- SOCKSプロキシを通しているためTorネットワークを使用していると感じにくいが、通信速度は明らかに遅くなる。
対応しているVPNサービス
- PrivateVPN
- Mullvad
- AirVPN
非対応のVPNサービス
- その他全てのVPNサービス