「Hidden Serviceの設定方法」の版間の差分

提供: Hideki Saito Wiki Japanese
移動先: 案内検索
(その他)
6行目: 6行目:
  
 
==設定手順==
 
==設定手順==
* /etc/torrc <ref>Windowsではユーザーディレクトリ「Application Data\Tor」内に存在</ref>に以下のような記述を追加。
+
* <code>/etc/tor/torrc</code> <ref>ディストリビューションなどにより場所に差があり。Windowsではユーザーディレクトリ「Application Data\Tor」内に存在</ref>に以下のような記述を追加。
 
<pre>
 
<pre>
 
HiddenServiceDir /var/lib/tor/hidden_service/
 
HiddenServiceDir /var/lib/tor/hidden_service/
12行目: 12行目:
 
</pre>
 
</pre>
  
設定後、Torを再起動すると/var/lib/tor/hidden_service内に二つのファイルが生成される。<ref>Windowsの場合は任意のディレクトリを設定すること。</ref>
+
上記の例では、設定後、Torを再起動すると<code>/var/lib/tor/hidden_service</code>内に二つのファイルが生成される。<ref>Windowsの場合は任意のディレクトリを設定すること。</ref>
 
* hostname
 
* hostname
 
* private_key
 
* private_key
  
「hostname」にはonionアドレスが、「private_key」にはhostnameに対応するonionホスト名が含まれる。「private_key」の内容が漏れてしまうとhidden serviceが乗っ取られてしまう可能性があるため、厳重に管理。
+
<code>hostname</code>にはonionアドレスが、<code>private_key</code>には<code>hostname</code>に対応するonionホスト名が含まれる。<code>private_key</code>の内容が漏れてしまうとhidden serviceが乗っ取られてしまう可能性があるため、厳重に管理。
  
尚、[https://github.com/ReclaimYourPrivacy/eschalot eschalot]などのツールを使用してアドレスを作成した場合はonionアドレスをhostname、private key blockをprivate_keyに入れる。
+
尚、[https://github.com/ReclaimYourPrivacy/eschalot eschalot]などのツールを使用してアドレスを作成した場合はonionアドレスを<code>hostname</code>、private key blockを<code>private_key</code>に入れる。
  
 
==注意点==
 
==注意点==
Linuxなどの場合、当該ディレクトリがTor実行ユーザー(Debianのパッケージマネージャーが使用されている場合、恐らくdebian-tor)がオーナーであり、読み取りユーザーが制限されていないと警告が出てTorの起動に失敗する。(/var/lib/tor以下再帰的にgo-rwxかけてやるとOK)
+
Linuxなどの場合、当該ディレクトリがTor実行ユーザー(Debianのパッケージマネージャーが使用されている場合、恐らくdebian-tor)がオーナーであり、読み取りユーザーが制限されていないと警告が出てTorの起動に失敗する。(<code>/var/lib/tor</code>以下再帰的に<code>go-rwx</code>かけてやるとOK)
  
 
==その他==
 
==その他==
 
* Hidden Serviceの設定はネットにアクセスでき、Torに接続できている限り、グローバルIPのないNAT内からでも可能。厳しいフィルタリングなどがかかりそもそもTorの接続が成功しない場合は[[Bridgeを使用したTorアクセス|Bridge経由による接続]]が必要になるかも。<ref>通常のプロバイダであれば問題ないはず。</ref>
 
* Hidden Serviceの設定はネットにアクセスでき、Torに接続できている限り、グローバルIPのないNAT内からでも可能。厳しいフィルタリングなどがかかりそもそもTorの接続が成功しない場合は[[Bridgeを使用したTorアクセス|Bridge経由による接続]]が必要になるかも。<ref>通常のプロバイダであれば問題ないはず。</ref>
 
* アクセスは任意のTCP/IPポートが設定できるため、IRCサーバや、SSHサーバなども可能。
 
* アクセスは任意のTCP/IPポートが設定できるため、IRCサーバや、SSHサーバなども可能。
* torrcには複数のHiddenServiceDir、HiddenServicePortを設定することも可能なので、一つのサーバから複数のサービスを提供することも可能。
+
* <code>torrc</code>には複数の<code>HiddenServiceDir</code>、<code>HiddenServicePort</code>を設定することも可能なので、一つのサーバから複数のサービスを提供することも可能。
* HiddenServicePortの入り口と出口は違っても構わないので例えば、80、8080など異なったポートで提供されるサービスを各onionアドレスのポート80で提供することも可能。
+
* <code>HiddenServicePort</code>の入り口と出口は違っても構わないので例えば、80、8080など異なったポートで提供されるサービスを各onionアドレスのポート80で提供することも可能。
 
* 間違ってグローバルIPアドレスなどを漏らさないようにウェブサーバなどの設定は注意。(127.0.0.1以外へのバインドはしないようにするべき。)
 
* 間違ってグローバルIPアドレスなどを漏らさないようにウェブサーバなどの設定は注意。(127.0.0.1以外へのバインドはしないようにするべき。)
  

2015年7月5日 (日) 18:57時点における版

Hidden Serviceとは

Hidden Service(秘匿サービス)とはTor内で匿名でサービスを提供できる機能。アクセス側、サーバ側がそれぞれ3ホップのホストを経由し、Rendezvous Point(ランデブーポイント)と呼ばれるホスト経由でアクセスすることにより実現される。

前提

  • Torの導入が完了していること。

設定手順

  • /etc/tor/torrc [1]に以下のような記述を追加。
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

上記の例では、設定後、Torを再起動すると/var/lib/tor/hidden_service内に二つのファイルが生成される。[2]

  • hostname
  • private_key

hostnameにはonionアドレスが、private_keyにはhostnameに対応するonionホスト名が含まれる。private_keyの内容が漏れてしまうとhidden serviceが乗っ取られてしまう可能性があるため、厳重に管理。

尚、eschalotなどのツールを使用してアドレスを作成した場合はonionアドレスをhostname、private key blockをprivate_keyに入れる。

注意点

Linuxなどの場合、当該ディレクトリがTor実行ユーザー(Debianのパッケージマネージャーが使用されている場合、恐らくdebian-tor)がオーナーであり、読み取りユーザーが制限されていないと警告が出てTorの起動に失敗する。(/var/lib/tor以下再帰的にgo-rwxかけてやるとOK)

その他

  • Hidden Serviceの設定はネットにアクセスでき、Torに接続できている限り、グローバルIPのないNAT内からでも可能。厳しいフィルタリングなどがかかりそもそもTorの接続が成功しない場合はBridge経由による接続が必要になるかも。[3]
  • アクセスは任意のTCP/IPポートが設定できるため、IRCサーバや、SSHサーバなども可能。
  • torrcには複数のHiddenServiceDirHiddenServicePortを設定することも可能なので、一つのサーバから複数のサービスを提供することも可能。
  • HiddenServicePortの入り口と出口は違っても構わないので例えば、80、8080など異なったポートで提供されるサービスを各onionアドレスのポート80で提供することも可能。
  • 間違ってグローバルIPアドレスなどを漏らさないようにウェブサーバなどの設定は注意。(127.0.0.1以外へのバインドはしないようにするべき。)

参考資料

脚注

  1. ディストリビューションなどにより場所に差があり。Windowsではユーザーディレクトリ「Application Data\Tor」内に存在
  2. Windowsの場合は任意のディレクトリを設定すること。
  3. 通常のプロバイダであれば問題ないはず。