IPアドレスを乗っ取られないセキュアなtorリレーの立て方を紹介します。
1. OS インストール
DebianかUbuntu Server LTSが良いでしょう。理由は公式リポジトリからのインストールが簡単だからです。
Windowsのリレーはパフォーマンス的にオススメできません。
SSHの設定
公開鍵認証にして、 PasswordAuthentication を無効にして、sshデーモンを再起動してください。詳細はここでは書きません。
ファイアウォールの設定
apt-get install ufw
ufw limit ssh
ufw enable
安全のためufwを入れ、有効にしておきます。ついでに、sshもセキュアな設定にしておきます。
sshは22番であること前提です。
2. tor インストール
パターンA
Debianなら apt-get install tor
で入るようですが、安定性のある古いバージョンとなります。
インストールしたら パターンB は読み飛ばして、次のステップ3 に進んでください。
パターンB
最新のTorが欲しい場合、公式リポジトリから追加するのが良いです。まずは次のサイトにアクセスします。
https://www.torproject.org/docs/debian.html.en
1: Debian、Ubuntuのバージョンを選び、リポジトリのアドレスを表示させます。
2: つぎに、 /etc/apt/sources.list.d/tor.list
を作成し、 deb ...
deb-src ...
と表示される行を書いて保存します。
3: gpg keyringを追加します。
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
4:
root権限で以下を実行します。Debianはsudoが入っておらず、その上sudoerの設定が必要ですので su -
でやると簡単です。
apt-get update
apt-get install tor deb.torproject.org-keyring
3. tor 設定
/etc/tor/torrc
を開き、以下の項目をアンコメントします。または、追記します。
RunAsDaemon 1
ORPort 443
DirPort 80
ExitPolicy reject *:* # no exits allowed
- ORPort はTorのルーティングに使われるポートです。検閲がある国のファイアウォールを突破するため、443にしておくのが良いでしょう。
- DirPort はTorのディレクトリを通知するためのポートです。同様の理由で80にします。
-
ExitPolicy は最も重要な項目です。
ExitPolicy reject *:*
と書くことで他人にIPを使わせるような Exitノード にならないようにします。
4. ファイアウォール再設定
先ほど設定したTorのポートを開けます。
ufw allow 443/tcp
ufw allow 80/tcp
5. arm のインストール (オプション)
arm
コマンドを使うと、現在のステータス、トラフィックなどがグラフィカルなCUIで表示できます。
-
ControlPort 9051
を torrc に書き加えます。-
DisableDebuggerAttachment 0
も書き加えるとなお良いでしょう
-
-
apt-get install tor-arm
でインストールできます。 -
sudo arm
コマンドでグラフィカルに様子が見れたり、接続者が確認できます
数日待ちます
- 数時間待てば、 https://torstatus.blutmagie.de/ にリストされるようになります。
- まず、速度が十分であれば fast フラグが立ちます
- それから数日経つと、トラフィックが流れてきます。
- guard フラグが立つと、Torユーザが一番最初に接続するサーバとして選ばれます。
おまけ
torrcのExcludeNodesを変更してTorの接続、ブラウジングを超高速にする方法 もご覧ください
日本のTorユーザ数
- 1 = 片山祐輔 遠隔操作ウイルス事件
- 連日の報道によってTorが有名になりました
- 2 = エドワード・スノーデン PRISM告発
- 日本でもプライバシー意識が高まっていたようです
全世界のTorユーザ数
Top 10
Country | Mean daily users |
---|---|
United States | 369657 (19.42 %) |
Russia | 219968 (11.56 %) |
Germany | 188702 (9.91 %) |
France | 114006 (5.99 %) |
United Kingdom | 84713 (4.45 %) |
Italy | 54930 (2.89 %) |
Spain | 53755 (2.82 %) |
Brazil | 49029 (2.58 %) |
Japan | 48620 (2.55 %) |
Canada | 42061 (2.21 %) |
トラフィックのながれ
Torのトラフィック
- リレー https://metrics.torproject.org/bandwidth.html
- 75Gbps くらいのようです
- Exit/Guard https://metrics.torproject.org/bandwidth-flags.html
- Exitは 20Gbps 流れているようです
その他
-
TorリレーのOS
- Linuxが最多
- フラグ毎の推移
- すべて見るには https://metrics.torproject.org/ へ
さらなるチューニング
-
HardwareAccel 1
にしてAES-NIを有効に- 意味ない説ある (普通はTor内蔵ではなく、ダイナミックリンクのOpenSSLが使われる(?)ので、OpenSSL側でHWaccel有効になっていればこの設定は無意味)
- 要検証。
- ulimit -n のファイルディスクリプタ上限を上げる (C10k問題でググッてください)
- torの複数プロセス化など
- C10k問題的な対処。ソケット関連をチューニングします。
sysctl -w net.core.somaxconn=65535