torにサイトを登録する方法!(概要)

torにサイトはアップロードできるのでしょうか.

公開した動機

政府検閲されている人にみてほしい…てのは冗談でなんとなくtorに出せるのかなって思ったからです。

Torとは

Torは、インターネット通信を世界中の複数ノードに多段中継させて、送信元を特定しにくくする匿名化ネットワークです。

各ノードは前後のノードしか知らず、経路全体を把握できない仕組みになっています。専用のTorブラウザを利用することで、自分のIPアドレスやおおよその位置情報を隠したままWebサイト閲覧やメッセージ送受信が行えます。torを必要とするDarkWebは.htmlで終わるサイトではなくURLではアクセスできない、.onionで終わるサイトにアクセスします。

そのことで、紛争地域のジャーナリストなどが安全にサイトに投稿できます。Tor=悪というわけではなく良い面もあります。
その反面、児童ポルノや偽造通貨などの犯罪の温床になっているのもまた事実です。

引用:https://blog.acer.com/en/discussion/626/what-is-the-deep-web

普通のインターネットに対してtorの領域、dakwebは氷山の奥深くに例えられます。普段利用するgoogleなどの検索エンジンではヒットしません。専用のブラウザからのみアクセスできます。

Torブラウザのインストール

お使いの端末にあったOSのブラウザを入れてください。FirefoxBaseのブラウザです

Torに登録

サーバーにTorをインストール
apt update && apt install tor
ローカルサーバーを作成する

Torは「入口〜出口の匿名化」を担当し、実際のコンテンツ配信はローカルのWebサーバが行います。nginx apache etc..

localhost:80とかlocalhost:8080でのみアクセスできるwebサーバーを作成する

下がnginxの設定例です。

server {
    # 外から直接アクセスさせないために、ローカルホストだけで待ち受ける
    listen 127.0.0.1:8080;
    server_name _;

    # このディレクトリにサイトのファイルを置く想定
    root /var/www/onion_site;
    index index.html;

    # ログファイル(お好みでファイル名変更OK)
    access_log /var/log/nginx/onion_site.access.log;
    error_log  /var/log/nginx/onion_site.error.log;

    # 余計な情報を出さない・少しだけセキュリティヘッダを足す例
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    # シンプルに静的ファイルを返すだけの例
    location / {
        try_files $uri $uri/ =404;
    }
}
torrc(設定ファイルの設定)
sudo nano /etc/tor/torrc

でファイルを開き、内容を設定します。下が設定例です。

SocksPort auto

HiddenServiceDir /var/lib/tor/my_hidden_service/
HiddenServiceVersion 3
HiddenServicePort 80 127.0.0.1:8080
torの再起動

systemctl restart tor

実際に出来上がったサイト

後半に書いた、ドメイン名の指定でnanosizeが先頭に入るものでサイト立ててみました。Torからアクセスしてください。

http://nanosizevrugqcdyczhq7d3o72yhk4sg3gjfpexipdq3xx2oipdzsuid.onion/

ドメインを変える方法

torは既存の .onion を「名前変更」することはできません。(ドメインと違う..)ただし欲しい文字の入っている鍵ペアを探すことはできます。つまり..総当たり戦です。スクリプトを利用してほしい文字列の入っている鍵を探します。

自分の場合は4~5hくらいで発見できました。
下のような鍵計算機を利用すると速く簡単に探せます。

参考

https://2019.www.torproject.org/docs/tor-onion-service.html.en