
2026-05-07 · tech, Tor, ダークウェブ
自作ダークウェブ!!!
HiddenServiceでwebホストするZE☆(note移植)
注意 ##
この記事はある程度Torとwebサイトのホスティングについて知っていることを前提としています。また、この技術は違法行為に悪用されやすいものですが、お縄に付きたいわけで無ければ悪用しないことをお勧めします。これで逮捕者が出たら(もうすでに少しでてるが)これをしてる界隈全体が信用を落とすことになりかねません(今あるかは別として)。てか何界隈なんだ? これはnoteからの移植記事です。
HiddenServiceとは ##
これはTorに実装されてるホスティングシステムで、特徴としてはTorからしかアクセスできないのでユーザーのIPアドレスなどの身元がほとんど分からないです。これは逆向きも同じでユーザーはサーバーのIPアドレスが分かりません。この特徴があるため、このHiddenServiceの掲示板とかで問題が起きてもICANNに聞いたところでサーバーのIPがわからず開示請求する先が分からない上に開示請求に応じたとしてもユーザーの身元につながるIPアドレスがでてこないです。そう、すごく身元が割れにくいから悪用もされやすいわけです。ただ、極限のプライバシを求める者や、独裁政権下の密告者、一部のジャーナリストにも都合が良いということです。こいつが俗に言うダークウェブってやつの1種なのです。他にもI2Pとかあるけど。これの仕組みもなかなかに興味深いですが、ここでそんなに説明してられないのでご自分で調べてみるようにお願いします。もうひとつ特徴にだと思うのがport開けなくていいってことです。NAT越えが備わっていて煩わしいport関連の作業が必要ありません。あとはそもそもアクセスするためにTorが必要でそれがあまり速くないのでDDoSのリスクがあんまり高くないです。もちろんゼロではないし、他の攻撃のリスクは高いくらいなんですが。あとudp使えません。今回はそんなHiddenServiceを自分でたててみよう!ってことです。
手順 ##
1.サイト本体の用意 細かくは言いませんが、普通のwebサイトと同じように作ればいいです。ただ一点注意なのはHiddenServiceはあんまSSL使えないので個人情報の扱いには向いてないこと、多くの場合ブラウザ側で無効化されるから普通のサイトと違ってフロントエンド側にjavascript(HTMX含む)とかを使わないほうがいいことです。そういうのがあると匿名化が崩れるかもしれないから。僕の掲示板の場合はフロントエンドでHTMLのpostで送ってリロードするやつでやってます。バックエンドはpythonのflaskで書いてます。需要がありましたらソースコードの公開もしてもいいかもしれません。あとそういうサイトならスパム対策でCAPCHA付けましょう。表層のサーバーに依存しないようにやっぱりpythonでレガシのchapcha動かしてます。
2.サーバーの用意 僕は自宅鯖にDebianを入れてやってますが、その他の方法でも構いません。ただ、今回の手法ではTor入れるときにapt使うんでDebian/ubuntu系がいいでしょう。いたって普通のサーバーです。クラウドホスティングを使っても構いませんが、その場合そのクラウドホスティングの業者からの匿名性瓦解には気を付けなくてはいけません。また、業者によってはHiddenServiceを禁止、ないしブロックしてるところも多いです。OCIあたりは安くて大手でHiddenServiceに寛容なので良い選択肢だと思います。
3.ソフト入れる まずはソフトウェアインストールです。webサーバーのソフトウェアはぶっちゃけなんでも良いです。まともなやつなら。注意なのはhttpでホストすることです。CAサーバーとか要らないから楽ですこれ。僕の場合はflaskなのでgunicornとなっております。あとは僕の場合はバックエンドに使うpythonとそのライブラリですね。pythonを使う場合、あとあと面倒くさくなるんで、そのサーバーでそれ以外のことをしないならvenvは無しでやりましょう。--break-system-packagesしちゃいましょう。どうせbreakしないです。 次、Torです。これもまじで簡単です。
$ sudo apt install tor
で良いです。 あと僕みたいにsshで鯖入る場合は(大抵そうだと思う)tmuxないと不便だから
$ sudo apt install tmux
しましょう。
4. torrcいじいじ systemctl startするか、再起動することでtorが動くので、これによってTorに関する設定ファイルが生成されます。torコマンド叩いても良いんですが、お勧めはしません。 そのうち一番重要なのがtorrcで、debianでaptから入れた場合(つまり僕の場合)は/etc/tor/torrcにありました。テキストファイルです。僕の場合はmicroで設定しましたが、普通だとnanoなんでしょうね。大規模に編集する場合は一回お手元のDeviceで書いてからscpコマンドで送り付けてもいいです。/etc/torにあれば機能するんで。デフォだと大量のコメントアウトされたパラメータが書いてありますが正直邪魔なので僕は消してます。デフォルトで有効なパラメータはありません。ちなこいつを弄ることで普通にtorを使う上での設定もできますが、それは今回は解説しません。 んでtorrcの中に書くべきはこれです
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:お好きなポート
これ連続した2行に書かれてないとバグります。 お好きなポートのところにはwebサーバーソフトウェア側で最も一般的なポートを書くのが無難でしょう。僕は5000にしてます。80のほうはこれに固定がいいです。hiddenServiceDirは弄ると面倒なのでこのままを推奨します。特に問題は起きてません。 他のパラメータに関しては他のサイトを参照のこと。 このあとtorrcのファイル所有権をdebian-torに移します。あるいは自分のユーザーをグループdebian-torに加えます。後者のほうが楽です。(debianの場合。他なら…ggrks)
$ sudo adduser yourusename debian-tor
って感じですかね。
5.HiddenServiceをホスト そこまできたら
$ systemctl restart tor@default
でtorを再起動します。 そうするとさっきHiddenServiceDirに設定したディレクトリ(今回は/var/lib/tor/hidden_service/)にいくつかファイルができます。そのうちの片方private_keyは漏洩しないよう大切に保管してくだい。これがそのonionドメインの所有権みたいなもんです。これを引き継げばサーバーを変えてもonionアドレスを維持できます。もう片方のファイル、Hostnameはテキストファイルでその秘密鍵に関連付けられたonionアドレスが記録されてます。これは完全にランダムですけども。 eschalotとかで総当りするとある程度コントロールできるようですが解説はしません。 実はこの時点でtorにHiddenServiceとして通っており、待ち受け開始すればいいだけです。
6. webをホスト 最終段階です。 まぁここは何も難しくないです。この状態で、さっき設定したポートで127.0.0.1にhttpをホストすれば機能するようになります。ご自由にApacheなりなんなり使ってください。僕の場合はapp.pyをgunicornでホスティングするんで
$ tmux new -s serve
$ gunicorn --bind 127.0.0.1:5000 app:app
って感じです。 これで無事アクセスできるようになりました。この方法でやった場合はControl+bのあとd押せばセッションを保ったままtmuxから離脱できます。 $ tmux a -t serveで戻れます。 適当にonionブラウザとかから確認しましょう。引いたリレーの当たり外れによって速度は変わりますからあんま速度は気にすることはありません
よくある問題と解決策 ##
Q. なんかファイルが生成されない、torが起動しない。 A. まずは
$ systemctl status tor@default
で状態を確認しましょう。active(runnig)で無かったら(active(exit)やstopped)なら何らかの要因で止まってる可能性が高いです。
$ journalctl -u tor@default
でログを出して自分で見るかllmと見るかしたら大抵解決します。active(running)の場合はたぶん設定ファイルのほうを見直すのがいいいでしょう。
Q. サーバーがスリープしちゃいます A. サーバーにデスクトップ環境を入れないでください。それだけです。
Q. なに言ってるかまじで分かりません A. これが分かる程度の知識がないど運用は厳しいです。自力で頑張ってください。
内容は以上であります。 ##
僕がこの方法で建てたBBSはこちらにございます。ぜひお越しください。がちで人居ないんでじゃんじゃん来ちゃって。 http://wu4hreuuwoiumsvb6vthw6wwa3rgpqlxtncwlxj3z2cit342ltppyzad.onion
余談 ###
ダークウェブに居る上でもっとも上手いことやってかなきゃいけない最大勢力は恒心教です。どういうものかはググればでますが、最大の日本語onionBBSであるBLACK2とその前身BLACKの経営主であることで、かなり影響を持っています。特定力も結構あるんで的に回さずでも距離を取ってうまいこと調整することが大切です。僕みたいに表層WEBでtorについて話したりしなければの話ですが、onionBBSは割と逃げやすいので関わりを断ちやすいのが幸いというところです。うちのBBSでの扱いをどうするかは悩んでます。
自作ダークウェブ!!! by soichi is marked CC0 1.0. To view a copy of this mark, visit https://creativecommons.org/publicdomain/zero/1.0/