1. ソフトウェアの自動更新を有効にする

リレーを安全に保つために最も大事なことの1つは、セキュリティアップデートを適切なタイミングで、理想的には忘れないように自動的にインストールすることです。 指示に沿って、お使いのオペレーティングシステムでソフトウェアの自動更新を有効にしてください。

2. Tor Project のリポジトリの設定

Configuring the Tor Project's package repository for Debian/Ubuntu is recommended and documented on Support portal. Please follow those instructions before proceeding.

注意: Ubuntu ユーザーは Tor を Tor Project のリポジトリから取得する必要があります

3. Tor のインストール

パッケージをインストールする前にパッケージデータベースを更新してから、apt を呼び出してインストールします。

# apt update
# apt install tor

4. obfs4proxy のインストール

Debian では、obfs4proxy のパッケージは、不安定版、テスト版、安定版の3つで利用できます。 また Ubuntu では、bionic、cosmic、disco、eoan、focal にこのパッケージがあります。 それらのどれかを使用しているなら、sudo apt-get install obfs4proxy でうまく行くはずです。

もしそうでなければ、ソースコードからビルドできます。

5. Tor 構成ファイル (通常は /etc/tor/torrc ) を編集し、内容を以下のように置き換えます。

BridgeRelay 1

# 「TODO1」を任意の Tor ポートに置き換えてください。
# このポートは外部から接続可能でなければなりません。
# ポート9001は一般的に Tor と関連しており、検閲当局がこのポートを探してインターネットをスキャンしている可能性があるため、避けてください。
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

# 「TODO2」を任意の obfs4 ポートに置き換えてください。
# このポートは外部から接続可能であり、ORPort に指定したポートとは異なる必要があります。
# ポート9001は一般的に Tor と関連しており、検閲当局がこのポートを探してインターネットをスキャンしている可能性があるため、避けてください。
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Tor と obfs4 間のローカル通信ポート。 常に 「auto」 に設定してください。
# 「Ext」は 「外部」ではなく 「拡張」を意味します。特定のポート番号を設定したり、0.0.0.0 をリッスンしたりしないでください。
ExtORPort auto

# あなたのブリッジに何か問題が起こったときに連絡できるよう、"<address@email.com>" をあなたのメールアドレスに置き換えてください。
# これは任意ですが推奨されます。
ContactInfo <address@email.com>

# ブリッジにお好きな Nickname をつけてください。 これはオプションです。
Nickname PickANickname

ORPortServerTransportListenAddrContactInfo 、および Nickname の各オプションを忘れずに変更してください。

Tor の OR ポートと obfs4 ポートの両方が接続可能でなければならないことにご注意ください。あなたのブリッジがファイアウォールや NAT の背後にある場合、両方のポートを開けるようにしてください。obfs4 ポートがインターネットから接続可能かどうか、こちらのツールでご確認いただけます。

(オプション) 特権ポートでの obfs4 バインディングを許可するように systemd を設定する

1024より小さい番号の固定ポートを obfs4 に使用する場合 (例えば80や443) 、ポートを非ルートユーザーと結びつけるよう obfs4 に CAP_NET_BIND_SERVICE 機能を与えるよう systemd を設定する必要があります。

sudo setcap cap_net_bind_service=+ep /usr/bin/obfs4proxy

systemd のハードニングを回避するには、構成を編集および変更する必要があります。

以下のコマンドを実行します:

sudo systemctl edit tor@.service tor@default.service

エディターで以下のテキストを入力し、保存して終了します。

[Service]
NoNewPrivileges=no

表示される次のエディターでも、同じテキストを入力し、保存して終了します。

[Service]
NoNewPrivileges=no

すべてが適切に機能したら、入力したテキストを含む /etc/systemd/system/tor@.service.d/override.conf/etc/systemd/system/tor@default.service.d/override.conf が作成されます。

次に Tor サービスを再起動します。

sudo service tor restart

systemctl daemon-reloadsystemctl edit によって自動的に実行されるため、この操作をする必要はありません。 詳細につきましては、チケット 18356 をご覧ください。

6. Tor を再起動

tor を有効にして起動します:

# systemctl enable --now tor.service

または、すでに起動している場合は再起動し、設定を有効にします。

# systemctl restart tor.service

7. ログの確認

ブリッジが正常に稼働している場合、以下のような記述があるはずです (通常は /var/log/syslog にありますが、 # journalctl -e -u tor@default を実行しても確認できます) 。

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

8. 備考

ブリッジの設定に際して問題がある場合は、ヘルプセクションをご覧ください。 ブリッジが正常に動作したら、インストール後の確認事項をご覧ください。