Tor板から拾ってきたものです。
誰でも出来る秘匿サービス
まえがき
この文書は匿名で文書を安全に公開する助けになるよう、中学生以上を対象に書かれたものです。わかりにくい点があればそれは筆者の責任です。指摘とフィードバックをお願いします。
基本方針
VirtualBox、Whonix、Nginxを使って仮想マシン上から静的文書を公開するまでを説明します。
VirtualBoxの導入
VirtualBoxはWindows・Mac・Linuxで安定して使える、OSを仮想化するソフトウェアです。以下のリンクを参考にして導入します。リンク先ではVirtualBoxをインストールした後の手順まで書いてありますが、PCにVirtualBoxを導入できさえすればよいので、インストールが完了したら残りはスキップしてください。なお、リンク先のVirtualBoxのバージョンは古い場合があるので、必ず最新のものをインストールしてください。
Whonixの導入
Whonixは今回VirtualBox上で動かす仮想OSです。Whonixに出入りするすべての通信はTorを経由するので、万が一クラッキングを受け侵入されてしまった場合でも、あなたのIPアドレスを直接知ることは難しくなります。
まず、Whonixの公式サイトからWhonixのイメージをダウンロードします。以下の「ダウンロード」ページから「Download Whonix-Gateway」「Download Whonix-Workstation」のリンクを辿ってWhonixゲートウェイとWhonixワークステーションをダウンロードするだけです。
それぞれ2GBと結構重たいので、Torからダウンロードすることは推奨しませんが心配ならTor経由でもよいでしょう。
ダウンロードができたらWhonixをVirtualBoxに導入していきます。基本的にはここにやり方は載っていますが、手順を和訳すると以下のようになります。
VirtualBoxを実行する。
Ctrl-Iでアプライアンスイメージのインポート画面を開く。
ファイルを選択する画面が出てくるので、ダウンロードしたWhonixゲートウェイのイメージファイルを選択してNext/次へを選択。
設定を変えずに、そのままImport/インポートボタンを押す。
ソフトウェアのライセンス契約確認画面が出たらAgree/同意を押す。
インポートされるのを待つ。
インポートが終わったらWhonixワークステーションのイメージに対しても上の操作を繰り返してインポートする。
両方インポートできたら、ゲートウェイ、ワークステーションそれぞれを選択しStartを押す。または右クリックからスタートさせる。これで2つの新しいOSの画面が現れるはずである。
Whonixの改良
Whonixのデフォルトパスワードを変える必要があります。デフォルトユーザ名はuser、パスワードはchangemeです。画面左下の黒い端末ボタン[>_ ]から端末を起動して、以下のコマンドを一行ずつ入力します。
sudo su
# デフォルトパスワードchangemeを入力する。
passwd user
# 新しいパスワードを入力する。
# Ctrl-Dを押してuserに戻る。
Whonixはデフォルトでキーボードが日本語に対応しておらず使いにくいので、キー設定を変える場合は以下のコマンドが必要になります。なお、以下の設定はすべてWhonixワークステーションの方で行います。画面左下の黒い端末ボタンから端末を起動して、以下のコマンドを一行ずつ入力します。なお、以下コマンドを入力すると表現されている箇所はすべてこのようにして起動した端末から行うものとします。
sudo apt-get install -y im-config ibus-mozc fonts-ipafont fonts-vlgothic && sudo apt-get install -y kde-l10n-ja mozc-utils-gui mozc-server ibus-mozc uim-mozc
# パスワードを入力
日本語環境に必要なソフトの導入が完了したら設定を変更していきます。左下の[K]と書かれたスタートボタンを押してkeyboardと入力し、keyboardの設定を開きます。layoutsタブを選択して+Addボタンを押し、japaneseのレイアウトを追加します。言語だけjapaneseを選択すれば残りの項目はデフォルトのままで構いません。OKを押して画面を閉じます。
同様にスタートボタンの検索窓からibus preferencesと入力し、iBus Preferencesを開きます。Input Methodタブを選択してAddボタンを押し、Japaneseの中からMozcを選択します。Addボタンを押したら画面を閉じます。
日本語入力設定を有効化するためにWhonixワークステーションを再起動します。再起動はスタートメニューの中からLeave→Restartで可能です。
Nginxの導入
Nginxはウェブサーバです。以下のコマンドで簡単に導入することができます。
sudo apt-get install -y nginx
# パスワードを入力
ウェブブラウザで早速動作を確認したいところですが、TorブラウザはローカルのIPアドレスにアクセスすることができないので、テスト用にiceweaselというブラウザをインストールします。iceweaselはfirefoxと名前以外全く同じなので、firefoxと同じように使えます。以下のコマンドで導入します。
sudo apt-get install -y iceweasel
# パスワードを入力
端末上でiceweaselと打ってEnterを押すとブラウザが起動します。iceweaselブラウザのロケーションバーにhttp://127.0.0.1/と入力してEnterを押し、何かメッセージが表示されたらnginxの導入は成功しています。
Nginxの設定
ここからはnginxの設定ファイルを書き換えて、より安全に使えるようにしていきます。
以下のコマンドでnginxの設定ファイルを書き換えます。
sudo nano /etc/nginx/nginx.conf
# server_tokens off;
とある行を
server_tokens off;
に書き換える。
server_tokens off;
の行の下に
server_name_in_redirect off;
port_in_redirect off;
を書き加える。
なおnanoはコマンドラインテキストエディタで、Ctrl+O→Enterで変更した部分をファイルに書き込み、Ctrl+Xでプログラムを終了することができます。
書き換えが終わったらコマンドラインから
sudo service nginx restart
でサーバを再起動します。エラーが出なければ成功です。
コンテンツの編集と確認
まず以下のコマンドで公開用ディレクトリの権限を自分が編集できるように変えます。また、不要なファイルは消しておきます。
sudo chown user:user -R /var/www/html/
rm /var/www/html/*
その後、次のコマンドで/var/www/html/index.htmlを作成し、編集します。
nano /var/www/html/index.html # 何か好きなことを書く
iceweaselブラウザのロケーションバーにhttp://127.0.0.1/index.htmlと入力してEnterを押し、書いたものが表示されたら成功しています。今ファイルを置いたフォルダー/var/www/html/配下に置かれたファイルに、以下のURLでアクセスできるようになります。
例: /var/www/html/my/folder/hoge.txt にテキストファイルを置いた場合 http://127.0.0.1/my/folder/hoge.txt からアクセスできるはずです。
Tor秘匿サービスの起動とTorネットワークへの公開
このセクションでははじめに、WhonixワークステーションではなくWhonixゲートウェイの方で作業します。Whonixゲートウェイの方でもキーボードが使いにくいと感じる場合、Whonixワークステーションと同じように日本語環境を入れておきます。
次のようなコマンドをWhonixゲートウェイの端末に入力します。
sudo su
# 初期パスワードはchangeme
nano /etc/tor/torrc
以下のように設定ファイルtorrcを編集します。
/etc/tor/torrc
の最後の行の下に以下の2行を追加します。
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 10.152.152.11:80
その後次のようなコマンドをWhonixゲートウェイの端末に入力します。
sudo service tor restart
sudo cat /var/lib/tor/hidden_service/hostname
エラーメッセージが表示されず、onionドメインが表示されれば再起動に成功しています。これでonionサイトはTorネットワークからトラフィックを受信する準備が出来ました。実際にアクセスできるか試してみましょう。
Whonixワークステーションの中で左下の地球儀ボタンをクリックしてTorブラウザを起動します。ロケーションバーにWhonixゲートウェイの端末に表示されたonionドメインを入力します。もしあなたのWebページが表示されれば成功です。表示されない場合はTorネットワークの不調かもしれません。30分ほど時間をおいてアクセスしてみてください。30分経って更新してもアクセスできない場合、設定ミスの可能性が高いです。
公開の中止・プログラムの削除
次のようなコマンドをWhonixゲートウェイの端末に入力します。
sudo su
nano /etc/tor/torrc
以下のように設定ファイルtorrcを編集します。
/etc/tor/torrc
の最後の2行の行頭に#を挿入します。
# HiddenServiceDir /var/lib/tor/hidden_service/
# HiddenServicePort 80 10.152.152.11:80
その後次のようなコマンドをWhonixゲートウェイの端末に入力します。
sudo service tor restart
エラーメッセージが表示されなければ再起動に成功しています。これでonionサイトはTorネットワークからトラフィックを受信しなくなります。実際にアクセスできないか試してみましょう。
また、Whonix自体を完全に削除するにはゲートウェイとワークステーション両方をシャットダウンしたうえで、VirtualBoxの設定画面で2つの仮想マシンをそれぞれ右クリックして削除を選択します。VirtualBox自体の削除は各OSの標準的な削除方法に準じます。
追記・注意
Whonixゲートウェイ、ワークステーションともにアップデートが必要です、というメッセージが表示される場合があります。その場合必ず指示に従いましょう。
このドキュメントで扱ったのは静的ファイルのサービスのみです。PHPなどのスクリプトを実行することはできませんし、またメンテナンスする自信がない場合推奨もできません。
このドキュメントの方法に従えば、普段使っているPCであってもサーバとして比較的安全に使うことができます。しかし生活リズムなどからの特定を防ぐためにも、別のPCを1台用意してサーバ用に運用すべきです。
Whonixゲートウェイは256MBのメモリでも十分動くので、もったいないと感じたらVirtualBoxの設定画面からメモリ割り当ての量を減らすとよいでしょう。
Whonixワークステーションの中で編集したものを外側のホストOS(VirtualBoxを動かしているOS)と共有したい場合、VirtualBoxの設定画面から共有の設定をすることができます。またクリップボード(コピペの内容)をWhonixワークステーションとホストOSで共有することもできます。
秘匿サービスはTorネットワークに公開しただけで他の人に見られてしまうわけではありません。アドレスを知っている相手だけがアクセスすることができます。設定内容に不安がある場合などは信頼できる相手にだけアドレスを教えるとよいでしょう。全世界に公開しても大丈夫だと思ったら、https://ahmia.fi/add/などに登録することで、サービスの存在を広く知らしめることができます。
参考
http://monobook.org/wiki/Tor%E7%A7%98%E5%8C%BF%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9
https://blog.torproject.org/blog/nine-questions-about-hidden-services
コンタクト
ご意見・ご感想・ご質問その他はこちらのスレッドにてお願いいたします。