インストール - Tor Browser

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動

概要

インターネットは、匿名性があると言われるが、それは事実から遠いものである。
ユーザが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で接続する手順を、以下に示す。

  1. まず、契約しているVPNサービスでVPN接続する。
  2. この状態で、Torブラウザを起動してTorネットワークと接続することにより、VPNネットワークを経由してTorネットワークと接続できる。
  3. 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は、以下のような流れで接続する。

  1. Torに接続する。
    TorブラウザもしくはTorコマンドでTorとの接続を確立する。
  2. VPN over Torに対応しているVPNの設定を行う。
  3. Torネットワーク経由でVPNネットワークへ接続する。
    この接続方法は特殊であるため、VPN over Torに対応したVPNサービスを契約する必要がある。


VPN over Torで接続する手順を、以下に示す。

  1. Torに接続する
    最初にTorネットワークに接続している必要があるため、Torブラウザを起動する。
    torコマンドを使用する場合、ポート番号が頻繁に変更されるため、Torブラウザの使用を推奨する。
    Torネットワークへの接続が完了した後、ローカルでTCP 9150ポートのSOCKSプロキシがリッスンし始める。
  2. VPNソフトウェアの設定を行う。
    ここでは、AirVPNを例に挙げる。
    AirVPNのNetwork Lockを有効にしている場合、VPN over Torは出来ない。これは、Network LockによりTorネットワークへの接続が遮断されるためである。
    VPN over Torで接続する場合は、まず、Network Lockが無効化した状態であることを確認する。
    次に、AirVPNソフトウェアのメイン画面左下にある設定ボタンを押下する。
    1. 画面の左ペインにある[Proxy / Tor] - 画面の右ペインにある[Type]プルダウンから[Tor]を選択 - 画面下にある[Save]ボタンを押下する。
    2. 設定を保存した後、画面中央にある[Test]ボタンを押下する。
    3. "Successfull test"というメッセージが出力すれば成功である。
      失敗する場合は、Torブラウザが起動していないか、ポート番号が異なっている可能性がある。
  3. VPN over Torで接続できているかどうかを確認する。
    上記の設定後、VPNネットワークへ接続するだけでTorネットワーク経由のVPN接続が可能である。
    SOCKSプロキシを通しているためTorネットワークを使用していると感じにくいが、通信速度は明らかに遅くなる。


対応しているVPNサービス

  • PrivateVPN
  • Mullvad
  • AirVPN


非対応のVPNサービス

  • その他全てのVPNサービス