Make Tech Easier - Uncomplicating the complicated, making life easier

How to Secure Your Internet Connection via SSH - Make Tech Easierにおいて、ブラウザからのインターネット利用をSSH経由にする方法が紹介されている。紹介されている内容はパブリックスペースからの接続や海外からの接続、接続セクション数に制限が設けられているホテルや空港ロビーなどで活用できるテクニック。ポート制限が設けられている場合に特定のポートを利用するアプリケーションを実行するためのテクニックとしても活用できる。

利用するには接続できるSSHサーバとそのアカウントが必要。次のようにOpenSSH SSHクライアントssh(1)を実行する。-Dで指定するポート番号がローカルにあるアプリケーションが接続するポート番号になる。この場合にはローカルのアプリは127.0.0.1 (localhost)の9999ポートにプロキシ接続することになる。ユーザアカウントは適宜変更する。SSHサーバの受付ポート番号が22番以外の場合は「-p ポート番号」のように-pでSSHサーバのポート番号を指定すればいい。

ssh -D 9999 username@example.co.jp

次にOSで提供されているプロキシやブラウザごとのプロキシ設定を変更する。対象となるのはSocksだ。Socksのプロキシサーバを先ほど実行したlocalhostの9999に指定する。別のポート番号を使っている場合には適宜置き換える。SSH経由で接続されているかどうかは、プロキシ設定を変更したあとでSSHコネクションを切断して、ネットワークにアクセスできなくなっていることを確かめればいい。この方法はブラウザに限らず、メーラなどSocksに対応しているアプリケーションで利用可能。

Windows XP SP3 - Socksの設定例

Mac OS X Snow Leopard - Socksの設定例

Firefox 3.6 on FreeBSD - Socksの設定例

Thunderbird 3.0 on FreeBSD - Socksの設定例

この接続テクニックは次のようなケースで利用できる。

  • 海外からインターネットにアクセスする。日本国内にいたときと同じようなアクセスを実現するため、SSHで国内のサーバに接続してからアクセスする。素性がよくわからない海外でのアクセスにおけるセキュリティを高める用途に使える。
  • 海外の空港やホテルのロビーといったスペースからネットワークに接続する場合、接続のセッション数に制限が設けられていることがある。多数のユーザが接続すると新しくコネクションを張ることができなくなるため、SSH -Dで一本だけコネクションを張り、ブラウザやメールはこのトンネルを通じて利用する。
  • ポート制限が厳しい場合がある。こうしたケースでも80ポートは開いていることが多いため、SSHサーバを80ポートで受けるようにセットアップしておき、SSH経由でほかのアプリケーションを利用する。IMAP4 over SSLなどポートが閉じているケースでメールを閲覧できるようにする場合などに活用できる。

この方法はSSHアカウントを持っている必要があるという点で一般ユーザには敷居が高いが、便利に利用できるテクニックだ。ホスティングサービスを利用している場合などすでにSSHアカウントが割り当てられていることもあり、こうした用途に活用できる。