x64.moe

Tor Hidden Service でウェブサイトを公開してみる

October 12, 2019

まえがき

ダークウェブについて という記事を読んだ。 内容はダークウェブ、主にTor Hidden Service(以下 “HS”)に的を絞って解説しているものだ。 HSについては先の記事でも書かれているようにTor Bundle Browserを用いれば簡単にアクセスが可能。 有名なHSはFacebookThe New York Timesが挙げられる。 さて、そんなHSだがアクセスするだけでなくサイトの開設も簡単だったりする。 自分でサーバをたててサイトを開いたことがあれば誰でもできるような内容だ。 早速やってみるとしよう。

環境

$ uname -a
Linux instance-2 4.10.0-40-generic #44~16.04.1-Ubuntu SMP Thu Nov 9 15:37:44 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial

Tor のセッティング

何はともあれ Tor をインストールしなければ始まらない。 Ubuntu 16.04 では apt で簡単にインストールできる。

$ sudo apt install tor
$ sudo systemctl start tor

Tor 公式ドキュメントである https://www.torproject.org/docs/tor-onion-service を読めばわかるがtorrcの設定を変更しHSのアドレスとソレに対応した秘密鍵を生成する。 torrcは”/etc/tor/torrc”にあると思う。 生成されたファイルは”HiddenServiceDir”に書かれているディレクトリに吐かれる。 “HiddenServicePort”には接続したいポートを書けば良い。 リバースプロキシとかポートフォワーディングとか想像すればわかりやすいと思う。 “HiddenServiceDir”, “HiddenServicePort”ともにコメントアウトされていると思うので、それらを参考に書くと良いだろう。 これで生成されたHSのアドレスを確認できる。 (ディレクトリは”HiddenServiceDir”で設定したものを指定する)

$ sudo cat /var/lib/tor/hidden_service/hostname
bdenpuomrxulax2d.onion

nginx のセッティング

アドレスや鍵を生成してもwebサーバが稼働していないので当然ながらアクセスできない。 ここではnginxを利用してアクセス可能な状態までもっていく。 まずはnginxのインストール。

$ sudo apt install nginx

サイトのファイルを作成し、nginxから読み取れるようにパーミッションを変更。

$ sudo mkdir /var/www/onion/
$ echo "Hello Onion :)" | sudo tee /var/www/onion/index.html
Hello Onion :)
$ sudo chown -R www-data:www-data /var/www/onion/

次にnginxを設定する。 今回は”/etc/nginx/conf.d/onion.conf”にHSの設定を書く。 (server_nameは各自置き換えること)

server {
    server_name bdenpuomrxulax2d.onion;
    root /var/www/onion/;
}

そしてnginxを再起動

$ sudo systemctl restart nginx

実際に開いてみる

できた。 ちなみにこのやり方だとホストを指定しなければHS用のwebサイトが表示されない。 つまりShodanやCensysのようなIPアドレスを指定するタイプのスキャナーではHSの情報がリークしない。

おわりに

という訳でHSを開設した。

連絡

何かあったらTwitterまで連絡ください https://twitter.com/FAMASoon


FAMASoon

Written by FAMASoon. Twitter/GitHub