たれながし.info

とあるITエンジニアの備忘録

Torで.onionドメインのWebサーバーを立ててみた

Torを使って.onionドメインのWebサーバーを立ててみました。

はじめに

最近はダークウェブの監視ツールや監視サービスを販売しているセキュリティ企業が増えてきているらしい。
ということで、ダークウェブに興味が出始めたので.onionドメインのWebサーバーを立ててみました。

環境

  • OS:CentOS7.9
    • Webサーバー:Apache 2.4.6
    • Tor:0.3.5.12

※Torが使えれば、OSとWebサーバーは何でも良い
※サーバーはグローバルIPを持つ必要はなく、ファイアウォールの受信ポートも開ける必要はない

公式ドキュメント

設定方法はTorプロジェクトのサイトに記載があります。

2019.www.torproject.org

サーバー構築

OS設定

SELinuxは無効にしておきます。

# getenforce
Disabled

Apacheのインストールと設定

8080/tcpで待ち受けるように設定します。

Apacheをインストール

# yum -y install httpd

ポート設定

# sed -i -e 's/Listen 80/Listen 8080/' /etc/httpd/conf/httpd.conf

コンテンツの作成

# echo "Hello .onion" > /var/www/html/index.html

起動設定

# systemctl start httpd

動作確認

# curl http://localhost:8080
Hello .onion

Torのインストールと設定

epelからTorをインストールする

# yum -y install epel-release
# yum -y install tor

設定ファイルの中盤に「##############This section is just for location-hidden services ###」というセクションがあるので2行追記する

#vi /etc/tor/torrc
...
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080
...

「HiddenServiceDir」には.onionドメイン名や秘密鍵を保存するフォルダ名を指定する。
「HiddenServicePort」はTorの待ち受けポートと転送先を指定する。

起動する

# systemctl start tor

動作確認

.onionドメインを確認する

# ls -l /var/lib/tor/hidden_service
total 12
drwx------ 2 toranon toranon  6 Dec 19 02:56 authorized_clients
-rw------- 1 toranon toranon 63 Dec 19 04:19 hostname
-rw------- 1 toranon toranon 64 Dec 19 02:56 hs_ed25519_public_key
-rw------- 1 toranon toranon 96 Dec 19 02:56 hs_ed25519_secret_key

# cat /var/lib/tor/hidden_service/hostname
trpqbrwso7iradhxvg7fg7csincffnjnroluut4qfivm6ri6iohwueqd.onion

「hostname」に.onionドメインが書いてあります。その.onionドメインは「secret_key」から作成されるようです。ということで、長期運用する場合は「secret_key」のバックアップを取って置いた方が良いらしい。(「secret_key」があれば、同じ.onionドメインのサーバーを立てられる。)

Torブラウザで接続できることを確認する
f:id:tarenagashi_info:20201219132704p:plain