【超簡単】匿名ネットワーク「Tor」上にWebサーバーを建ててみた(Ubuntu+Apache)
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 アドレスにアクセスしましょう。
xeyqmvxdt6shxzqgwazwz7fo6fem2kpzaj6vxls3xfj4h36qfmoen2ad.onion
※通常のブラウザ経由だとDNS_PROBE_FINISHED_NXDOMAINというエラーになります。
正常にリレー接続されている事もタブ上部を見るとわかります。
…ということで以上ほぼ誰の約にも立たないTorネットワーク内でのサーバーの建て方でした。是非お試しあれ。