Category:
Web
このブログでしばしば利用しているリダイレクタ(jump.cgi)について、Shizuoka さんに不正使用のご報告をいただきました(ありがとうございます!)。
このリダイレクタは、携帯電話からアクセスした際に、Google Mobile Transcoder による自動変換機能を提供するために設置されています(PC で利用している場合は、ただ単にリダイレクトしているだけで、統計を取るようなこともしていません)。まぁ、携帯と PC を同じソースで済ませたい、という負荷対策(という名の怠慢)なのですが...
リダイレクタの問題は認識していましたが、そんなに著名なドメインという訳でも無いので、本当に悪用されるとは思っていませんでした。認識が甘かったことを反省しています。
*
と、反省しただけでは進歩が無いので、ちょっとリダイレクタについて調べてみました。
・高木浩光@自宅の日記 - リダイレクタの存在は脆弱性か?
(何か良くリンクしているのでお馴染みですが)高木氏のサイト。ユーザの確認を徹底するか、リダイレクタを設けるときは信用性の低いドメイン / 数値形式の IP アドレスでホストするという解決案が提示されています。ただ、後者の場合、悪質であることが周知されているドメインが存在する場合でも、そのドメインが隠蔽されてしまうという問題は残りそう。
・Kazuho@Cybozu Labs: 安全なリダイレクタ
秘密鍵でハッシュ取って、一致しないものを拒否する。一番簡潔な解決策ですが、このブログでの用途(記事中のリンク全てに対してリダイレクタを設置したい)では「手動でハッシュを求めなければならない」もしくは「記事内容を解析して、リンクを自動生成する」という手段が必要になるので、前者は少し面倒・後者はかなり面倒。
・I'm Feeling Luckyというリダイレクタ(管理人日記) - むぅもぉ.jp
Google の I'm Feeling Lucky 機能にも同等の問題が。例えば、
http://www.google.co.jp/search?q=blog.kenichimaehashi.com&btnI=
というリンクは Google の検索結果に見せかけて、I'm Feeling Lucky によって別のサイト(現時点では私のブログですが、今後は変わるかも)にジャンプしてしまう。
・任意のリンク先へ飛べる公開リダイレクタを作ってはいけない
Yahoo! のリダイレクタ。現在はジャンプできないように修正されています。リンクごとに有効期限を設けているので負荷が高そう。
・Google のリダイレクタ - METAREAL
Google のリダイレクタ。警告が表示される。teacup. とかでも同じですね。
*
という訳で、じゃあ結局どうしたのよ、というと:
1. Referer が空の場合
リダイレクトしない。入力フォームに URL を表示して(これは携帯電話の人でも利用できるようにするため)、コピー&ペーストで直接アクセスしてもらうようお願いする。
2. Referer が http://blog.kenichimaehashi.com/ で始まらない場合
リダイレクトしない。「メンテナンス中です」という表示。
3. 上記以外の場合
リダイレクトする。
他にも色々と処理が入れ込んであるので かなりスパゲッティ状態ですが、自分しか読まないし、まぁ致し方ない。何れどうにかしましょう。
*
尚、Referer を送信しない設定でご利用の方には不便をお掛けすることになりますが、何卒ご了承ください。
追記 (2007.12.23)
サーバのログを確認したところ、数十件以上の teacup. 掲示板でこのリダイレクタを不正使用した投稿が行われたようです。ご迷惑をお掛けした掲示板管理者様・利用者の皆様にお詫び申し上げます。
また、当初「メンテナンス中です」というメッセージを出力するようにしておりましたが、誤解を防ぐため以下のメッセージに変更いたしました。
このリダイレクタは、携帯電話からアクセスした際に、Google Mobile Transcoder による自動変換機能を提供するために設置されています(PC で利用している場合は、ただ単にリダイレクトしているだけで、統計を取るようなこともしていません)。まぁ、携帯と PC を同じソースで済ませたい、という負荷対策(という名の怠慢)なのですが...
リダイレクタの問題は認識していましたが、そんなに著名なドメインという訳でも無いので、本当に悪用されるとは思っていませんでした。認識が甘かったことを反省しています。
*
と、反省しただけでは進歩が無いので、ちょっとリダイレクタについて調べてみました。
・高木浩光@自宅の日記 - リダイレクタの存在は脆弱性か?
(何か良くリンクしているのでお馴染みですが)高木氏のサイト。ユーザの確認を徹底するか、リダイレクタを設けるときは信用性の低いドメイン / 数値形式の IP アドレスでホストするという解決案が提示されています。ただ、後者の場合、悪質であることが周知されているドメインが存在する場合でも、そのドメインが隠蔽されてしまうという問題は残りそう。
・Kazuho@Cybozu Labs: 安全なリダイレクタ
秘密鍵でハッシュ取って、一致しないものを拒否する。一番簡潔な解決策ですが、このブログでの用途(記事中のリンク全てに対してリダイレクタを設置したい)では「手動でハッシュを求めなければならない」もしくは「記事内容を解析して、リンクを自動生成する」という手段が必要になるので、前者は少し面倒・後者はかなり面倒。
・I'm Feeling Luckyというリダイレクタ(管理人日記) - むぅもぉ.jp
Google の I'm Feeling Lucky 機能にも同等の問題が。例えば、
http://www.google.co.jp/search?q=blog.kenichimaehashi.com&btnI=
というリンクは Google の検索結果に見せかけて、I'm Feeling Lucky によって別のサイト(現時点では私のブログですが、今後は変わるかも)にジャンプしてしまう。
・任意のリンク先へ飛べる公開リダイレクタを作ってはいけない
Yahoo! のリダイレクタ。現在はジャンプできないように修正されています。リンクごとに有効期限を設けているので負荷が高そう。
・Google のリダイレクタ - METAREAL
Google のリダイレクタ。警告が表示される。teacup. とかでも同じですね。
*
という訳で、じゃあ結局どうしたのよ、というと:
1. Referer が空の場合
リダイレクトしない。入力フォームに URL を表示して(これは携帯電話の人でも利用できるようにするため)、コピー&ペーストで直接アクセスしてもらうようお願いする。
2. Referer が http://blog.kenichimaehashi.com/ で始まらない場合
リダイレクトしない。「メンテナンス中です」という表示。
3. 上記以外の場合
リダイレクトする。
他にも色々と処理が入れ込んであるので かなりスパゲッティ状態ですが、自分しか読まないし、まぁ致し方ない。何れどうにかしましょう。
*
尚、Referer を送信しない設定でご利用の方には不便をお掛けすることになりますが、何卒ご了承ください。
追記 (2007.12.23)
サーバのログを確認したところ、数十件以上の teacup. 掲示板でこのリダイレクタを不正使用した投稿が行われたようです。ご迷惑をお掛けした掲示板管理者様・利用者の皆様にお詫び申し上げます。
また、当初「メンテナンス中です」というメッセージを出力するようにしておりましたが、誤解を防ぐため以下のメッセージに変更いたしました。
リンク元が不正のため、リダイレクトできません。このリダイレクタは Kenichi Maehashi's Blog 専用です。
Comments