« 公衆無線LANのセキュリティはかなりお寒い | トップページ | Firesheepと無線LANカードの相性 »

2010年11月22日

HTTPSを強制するFirefoxアドオン(HTTPS EverywhereとForce-TLS)

Firesheepなどの第三者傍受から身を守るには、サーバとの通信を暗号化するのが根本的な解決である。TechCrunchの「FiresheepからWiFiでログイン情報を守る方法」は、FirefoxアドオンのForce-TLSとHTTPS Everywhereを紹介している。

もともとForce-TLSは、WebサイトがStrict-Transport-Security HTTPヘッダを送ってきたときにSSLを強制するものだが、バージョン2.0から自分でサイトを追加できるようになった。たとえば、*.instapaper.comを追加してhttp://www.instapaper.comに接続すると、通信はHTTPで行われて、アドレスバーもhttps://www.instapaper.comに変わる。しかしhttp://instapaper.comは変換してくれない。満了日が1年先に設定されるのも少々不安だ。1年後にもう一度定義し直さなければいけないのだろうか。それはちょっと面倒だ。きっと忘れてしまう。

HTTPS Everywhereは、正規表現を使って自分でルールを書けば、任意のサイトでHTTPSを強制できる。以下のルールを定義すると、http://instapaper.comもhttp://www.instapaper.comもHTTPS接続に変換できる。こちらのほうが自由度が高いのでお勧めだ。

<ruleset name="Instapaper">
  <rule from="^http://instapaper\.com/" to="https://www.instapaper.com/"/>
  <rule from="^http://(www\.)?instapaper\.com/" to="https://www.instapaper.com/"/>
</ruleset>

(参考記事)

FiresheepからWiFiでログイン情報を守る方法(TechCrunch)
http://jp.techcrunch.com/archives/20101025firesheep/

(2010/11/24追記)
HTTPS Everywhereのバージョン0.3.0以降は<target>を指定しなければならない。これに対応したルールは以下のようになる。Twitterのルールを参考にして、<securecookie>も書いておいた。

ルールをHTTPSEverywhereUserRulesディレクトリに保存したあと、アドオンの設定画面でInstapaperにチェックが入っていることを確認しておく。もし設定画面にInstapaperが表示されないときは、ルールにエラーがある。Firefoxのエラーコンソールに何か表示されているはずだ。

<ruleset name="Instapaper">
  <target host="*.instapaler.com" />
  <target host="instapaper.com" />

  <securecookie host="^(.*\.)instapaper\.com$" name=".*" />

  <rule from="^http://instapaper\.com/" to="https://www.instapaper.com/"/>
  <rule from="^http://(www\.)?instapaper\.com/" to="https://www.instapaper.com/"/>
</ruleset>

(2011/01/27追記)
FacebookがフルHTTPSに移行する。アカウント設定でチェックを付ければ、パスワードなどの認証部分だけでなく、全ての通信がHTTPSになる。
A Continued Commitment to Security
http://blog.facebook.com/blog.php?post=486790652130

|

« 公衆無線LANのセキュリティはかなりお寒い | トップページ | Firesheepと無線LANカードの相性 »

コメント

この記事へのコメントは終了しました。