【レビュー】

アクセス元を特定不能にするTor+Polipe匿名プロキシサーバの構築方法

    後藤大地  [2010/07/12]

    Make Tech Easier - Uncomplicating the complicated, making life easier

    WebアプリケーションやWebサービスでは位置情報の活用と個人の特定、これまでの行動からより対象に適切なサービスの提供を実現するようになってきている。これは便利である反面、個人を特定されたくないユーザにとってはWebは日々厄介な存在になってきていることも意味している。

    プライバシを尊重するケースでは、自分がどこからアクセスして何を検索したか、どういった経路を使ってWebサーフィンをしたのか、そうした情報を第三者に把握されることを懸念する。またビジネスにおいて通信内容を秘匿したいケースや、セキュリティの観点からこうした情報を第三者につかまれたくないというケースもある。

    そうした場合に活用できるソフトウェアにTorがある。ネットワークへのアクセスを一旦Torノードに何度かバウンスさせることで、どこからアクセスがあったのかを判別不能にするためのソフトウェアでありプロトコルでありネットワークプラットフォーム。Want Your Privacy Back? Install and Run Tor in Ubuntu - Make Tech Easierに実際にどうやってこのTorを使ってWebブラウザのアクセスで自分の居場所をわからなくするかの方法が紹介されており参考になる。

    Want Your Privacy Back? Install and Run Tor in Ubuntuのアイディアの根幹は、プロキシサーバPolipoで一旦接続を受け、PolipoからSocks5を使う形でTorに飛ばすというものだ。紹介されている内容は自分のPCにシステムを構築するものだが、サーバとして構築すれば1台のサーバで複数のクライアントから使えるようになる。以降にFreeBSDを使ってTor+Polipo匿名プロキシサーバを構築する例を紹介する。

    TorとPolipoインストール

    Ports CollectionからTorとPolipoをインストール。

    cd /usr/ports/security/tor/
    make install clean
    cd /usr/ports/www/polipo/
    make install clean
    

    /etc/rc.confに次の設定を追加し、TorとPolipoをサービスとして制御できるようにする。

    tor_enable="YES"
    polipo_enable="YES"
    

    Torの設定ファイルは/usr/local/etc/tor/torrc、Polipoの設定ファイルは/usr/local/etc/polipo/configになる。/usr/local/etc/tor/torrcは/usr/local/etc/tor/torrc.sampleファイルをコピーして作っておく。

    cp /usr/local/etc/tor/torrc.sample /usr/local/etc/tor/torrc
    

    PolipoをプロキシサーバとしてLAN内ホストからのアクセスを許可するほか、Socks5としてTorを利用する設定をする。たとえば次のように編集する。1つ目の変更で自分以外のホストからのアクセスを許可、2つ目の変更でアクセスを許可するクライアントを指定、3つ目でTorとの接続を指定している。

    --- /usr/local/etc/polipo/config.sample 2010-07-12 16:28:52.844007871 +0900
    +++ /usr/local/etc/polipo/config        2010-07-12 16:55:11.553351097 +0900
    @@ -15,13 +15,13 @@
     # connect:
    
     # proxyAddress = "::0"        # both IPv4 and IPv6
    -# proxyAddress = "0.0.0.0"    # IPv4 only
    +proxyAddress = "0.0.0.0"    # IPv4 only
    
     # If you do that, you'll want to restrict the set of hosts allowed to
     # connect:
    
     # allowedClients = "127.0.0.1, 134.157.168.57"
    -# allowedClients = "127.0.0.1, 134.157.168.0/24"
    +allowedClients = 127.0.0.1, 192.168.1.0/24
    
     # Uncomment this if you want your Polipo to identify itself by
     # something else than the host name:
    @@ -38,8 +38,8 @@
    
     # Uncomment this if you want to use a parent SOCKS proxy:
    
    -# socksParentProxy = "localhost:9050"
    -# socksProxyType = socks5
    +socksParentProxy = "localhost:9050"
    +socksProxyType = socks5
    
    
     ### Memory
    

    TorとPolipoのサービスを起動する。

    service tor start
    service polipo start
    

    ブラウザの設定と利用

    ブラウザは基本的にプロキシの対象を先程セットアップしたPolipoサーバに設定すればいい。IPやポート番号は設定に合わせて適宜指定。FirefoxにはTorをより高度に活用するためのエクステンションTorbuttonが用意されているため、これを使用する。

    Torbuttonの設定ダイアログからプロキシ設定。ローカルで動いている場合には自動検出が可能だが、ここで紹介しているようにプロキシサーバを別にたてた場合には手動で設定する

    「Test Settings」ボタンをクリックして正しく機能していることを確認

    www.google.comにアクセスするとTorの動作がよくわかる。日本から、日本語設定が有効になったブラウザでwww.google.comにアクセスするとwww.google.co.jpへリダイレクトする。これがTor経由でアクセスした場合にはwww.google.deへリダイレクトした。日本からアクセスしたという部分がTorネットワークを経由することで判断できなくなっていることがわかる。

    日本からwww.google.comにアクセスしたら、www.google.deへリダイレクトした。

    Torbuttonを無効にするとwww.google.co.jpへリダイレクトする動作に戻る

    なお、Torを利用するとブラウジングスピードは遅くなる印象を受ける。危険だと考えられるクッキーは削除され、Torbuttonを使っている場合にはFlashやJavaなどのプラグインもブロックの対象となる。Torを利用する場合には割り切った使い方がポイントといえる。

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン