【超簡単】匿名ネットワーク「Tor」上にWebサーバーを建ててみた(Ubuntu+Apache)

アイキャッチ画像
秘匿性の高いTorネットワーク上にWebサーバーを開設する方法が非常に簡単だったのでご紹介します。
Torにアクセスする事自体に違法性は全くありませんが、非常に危険なサイトも多くありますので自己責任でお願いします。
事前にApacheサーバーをUbuntuにインストールした状態で説明します。
■本稿で作成した私のWebサイト
xeyqmvxdt6shxzqgwazwz7fo6fem2kpzaj6vxls3xfj4h36qfmoen2ad.onion

サーバーを建てる

早速サーバーを建ててみましょう。以下の環境にて作成しました。
– 事前のファイアーウォールの開放等は不要です
– 他のアドレスと共存できます

OS: Ubuntu Server 20.04 LTS
Web Server: Apache2.4

Tor Onion Serviceの設定

WebサーバーをTorと連動させるためのTor Onion Serviceを導入します。apt経由でパッケージをインストールするだけです!インストール&起動しましょう。(適宜enableで自動起動を設定しても可)

sudo apt -y install tor
sudo systemctl start tor

インストールしたら既に乱数のOnionドメインが割り当てられた状態になるのでOnionドメインをcatなりvimなりで確認します。

cat /var/lib/tor/hidden_service/hostname
>>> xeyqmvxdt6shxzqgwazwz7fo6fem2kpzaj6vxls3xfj4h36qfmoen2ad.onion

Tor Onion Serviceのアクセス転送設定をtorrcファイルにて行います。以下の行をコメントアウトするだけ。

vi /etc/tor/torrc

以上でTor Onion Serviceの設定は完了です。

Apache関連設定

Apacheではバーチャルホストの設定をします。基本的に一般的なサーバーと手順は変わりません。

cd /var/www/apache2/sites-available
vi <任意の名前>.conf
<VirtualHost *:80>
    ServerName <先程確認したアドレス.onion>
    DocumentRoot <ドキュメントルート>
    ErrorLog ${APACHE_LOG_DIR}/my-website.log
</VirtualHost>

そしてサイト設定の有効化と再起動をしてエラーがでなければOKです。これでサーバーにアクセスできます。非常に簡単!

a2ensite <先程のconfファイル名>
apachectl restart

※以上の設定はTorのプロジェクト公式を参考にしました

サイトを作る上での注意

Torネットワークは通信速度を犠牲にしてほぼ完璧な匿名性を担保しています。
6つのノードをリレーしてサイトにアクセスするため、サイト表示まで最低でも6秒ほどかかる上に通信速度が激遅ですのでサイトに画像を極力使わない事をお勧めします。

また、秘匿性を保つために基本的にTorネットワークにアクセスする際はJavaScriptを無効にする事が推奨されています。

ですので20年前の個人テキストサイトレベルの事しか出来ないと思ってください!

稼働を確かめてみる

さて、サーバーが建った…ところで確認は普通のブラウザでは出来ません。オニオンルーティングでリレー接続をした状態じゃないとアクセスできないようになっています。

xeyqmvxdt6shxzqgwazwz7fo6fem2kpzaj6vxls3xfj4h36qfmoen2ad.onion

ですのでTor Browserを導入しましょう。

インストールして起動したらTorネットワークに接続します。

準備ができるとTor Browserのスタートページに移動するので先程確認したOnion アドレスにアクセスしましょう。

■本稿で作成した私のWebサイト
xeyqmvxdt6shxzqgwazwz7fo6fem2kpzaj6vxls3xfj4h36qfmoen2ad.onion
するとあら不思議。ちゃんと表示されます。

※通常のブラウザ経由だとDNS_PROBE_FINISHED_NXDOMAINというエラーになります。

正常にリレー接続されている事もタブ上部を見るとわかります。

…ということで以上ほぼ誰の約にも立たないTorネットワーク内でのサーバーの建て方でした。是非お試しあれ。