★阿修羅♪ 現在地 HOME > 掲示板 > テスト8 > 461.html
 ★阿修羅♪
次へ 前へ
Re: 後藤新平シンポジュウム
http://www.asyura2.com/0411/test8/msg/461.html
投稿者 バルタン星人 日時 2005 年 1 月 28 日 17:40:14:akCNZ5gcyRMTo
 

(回答先: Re: 後藤新平シンポジュウム 投稿者 バルタン星人 日時 2004 年 12 月 01 日 00:10:26)

参照スレ http://www.asyura2.com/0406/kanri7/msg/840.html
投稿のためには REFERRERを有効に 投稿者 管理人さん 日時 2005 年 1 月 27 日 23:02:13:Master



まず REFERRER====>REFERERです。


今回の件ですがWindowsでNorton使ってなくても私の様に Localに proxy
(キャシュサーバー )を立ててバナーを叩き落したり Redirectするついでに
header_access Referer deny all
している場合は OS、ブラウザ (Windows2k=IE NetBSD=W3m Linux=Firefox)に
関係なく全部 Forbiddenで蹴られてしまいました。 (苦笑)
それ以外でもRefererを送らないのがdefaultになっている環境もあると思います。
(別に悪いことをしようというのではありません。悪いことをされないようにです。)
で、ごにょごにょして Linuxの Firefoxだけ Refererを「適時」 Allowするように
しましたが、この投稿が UPできれば成功ということです。この件は別稿 で書く
かもしれません ?)


ブラウザからどんな情報が流出?しているかは
確認くん http://www.ugtop.com/spill.shtml

Envchecker http://www.cybersyndrome.net/evc.html/


等で見ることができます。(Apacheにおまけでついてくるenv.cgiみたなものですが
事故自己責任でお願いします。)


「板荒し対策」としてRefererでアクセス制限をかけるのはRefererの偽装が容易な
ことから有効かは疑問がありますが.......どう偽装するのかって.......まあ、その
とにかく、よくわからないまま「全開バリバリ」にするのは危ないでしょう。


RFC(Request for Comment)って何?という方は
http://www5d.biglobe.ne.jp/~stssk/rfcjlist.htmlを見て下さい。

RFC2616の 和訳もあります。


引用元
http://www.st.ryukoku.ac.jp/~kjm/security/memo/referer.html


-------------------------------ここから引用 -------------------------------------


Refererリクエストヘッダって何 ?


  from
RFC2616:
Hypertext Transfer Protocol -- HTTP/1.1
:


14.36
Referer

The Referer[sic] request-header field allows the
client to specify, for the server's benefit, the address (URI) of the
resource from which the Request-URI was obtained (the "referrer",
although the header field is misspelled.) The Referer request-header
allows a server to generate lists of back-links to resources for
interest, logging, optimized caching, etc. It also allows obsolete or
mistyped links to be traced for maintenance. The Referer field MUST
NOT be sent if the Request-URI was obtained from a source that does
not have its own URI, such as input from the user keyboard.


 リンクをたどるときに、 「あなたのページをリクエストする前はこの
URL
を見ていました」 ということをクライアント
(web
ブラウザ )
からサーバに伝えるためのヘッダです。
Referer
はリンクをたどるときにのみ出力されるため、 Referer
の値を観察することにより「自分のページがどこからリンクされているのか」を知ることができます。




何が問題になるの ?


  from
RFC2616:
Hypertext Transfer Protocol -- HTTP/1.1
:


15.1.3
Encoding Sensitive Information in URI's

Because the source of
a link might be private information or might reveal an otherwise
private information source, it is strongly recommended that the user
be able to select whether or not the Referer field is sent. For
example, a browser client could have a toggle switch for browsing
openly/anonymously, which would respectively enable/disable the
sending of Referer and From information.

Clients SHOULD NOT
include a Referer header field in a (non-secure) HTTP request if the
referring page was transferred with a secure protocol.


 プライバシーや社内 (ファイアウォール内部 )
情報の漏曳が発生します。 また、 web
メールなど web
上で提供されているサービスの中には、 Referer
リクエストヘッダに含まれる情報を悪用されるとサービスを乗っ取られるなどの脆弱性を有するものがあります。
適切に設計・実装されたサービスばかりが存在するなら問題ないのですが、実際には脆弱性を有するサービスは少なくないようです。
事例 :



 さらに、ブラウザのバグのために、 link
されていないにもかかわらず Referer
が流出してしまうことがあります。
これも、悪用されるとプライバシー漏曳や社内情報の流出につながる恐れがあります。

事例 :Re:ブラウザの Referer<に関する異常動作




どうすればいいの ?


  Referer
リクエストヘッダを送信しないようにすればいいです。


 ただし、相手側 web
サーバが Referer
リクエストヘッダに基づくサービスを提供している場合は、 Referer
リクエストヘッダを送信しないようにすると動作不良が発生する可能性があります。


  Referer
リクエストヘッダの本来の目的は、 RFC2616
The
Referer request-header allows a server to generate lists of
back-links to resources for interest, logging, optimized caching,
etc. It also allows obsolete or mistyped links to be traced for
maintenance
とあるように、利用者のナビゲート支援にあります。
Refererに基づく高度なナビゲートを提供しているサイトでは、
Referer送信を停止するとナビゲートに支障が生じる可能性があります。


 また、おうおうにして Refererをアクセス制御に用いてしまうサイトがあります。
たとえば Refererリクエストヘッダにある特定の値が設定されている場合にのみアクセスを許可する、というような形での利用です。具体的には、アクセスカウンターや web掲示板など CGIで提供されるサービスのかなりは Refererリクエストヘッダが特定の値 (カウンターや web掲示板を設置してある URL)となっていないと動作しないようです。このような方法は「カウンター荒らし」「掲示板荒らし」の対策として広く利用されているようなのですが、上記のように Referer/はいくらでも偽造可能なため、まじめな (?!)「荒らし」の対策にはならないということを理解する必要があります。


 ただし、「荒らし」フォーム /リンクを設置した悪意ある webページに誘導するなどして、攻撃する意思のない一般ユーザに「荒らし」をさせる、などといったものに対しては、 Refererによるチェックは一定の効果を持っていると考えられます。

セッション管理の脆弱性
においても、 Referer:を用いた脆弱性回避方法が記述されています。


 あと、 webサーバ管理者は Refererをたよりにリンク元ページを検知している場合があります。 Referer
がなくなるとこれが不可能になり困ると感じる人は少なくないようです。



Refererを削除する具体的な方法 ?



Mosaic
L10N+


コンパイル時に SECURE
を定義します。

lynx


-noreferer
オプションをつけて起動します。

w3m


Option
Setting Panel で「 Referer:
を送らないようにする」を ON
にし、 [OK]
を選択します。 w3m
の再起動は必要ないです (from
関谷さん )。

Netscape
Communicator 4.x


prefs.js
(UNIX なら $HOME/.netscape/preferences.js)
をテキストエディタで編集し、
user_pref("network.sendRefererHeader",
false);
という行を追加し、 Communicator
を再起動します。

参照 :
上級者向け
Communicator
設定法

なお、志村さんから「 $HOME/.netscape/preferences.js
を書きかえても、 netscape
が終了する時点で元に戻ってしまう」という現象が報告されています。
ja-netscape-communicator-4.61
(FreeBSD 3.3-RELEASE), netscape-communicator-4.7 (LASER5 Linux 6.0)
で発生するそうです。 小島の手元では発生しないのでよくわかりません。

岩本さんは、 Communicator
を起動したまま preference.js
を編集すると、 Communicator
終了時に上記現象が発生することを確認されたそうです。

2002.04.22
追記

西川さんから、上記を行っても「 JavaScript
を有効にしていると JavaScript
の変数 document.referer
に Referer
情報がきっちり記録されている」との情報をいただきました。
Netscape
6 (Mozilla) の場合は document.referer
も無効になるそうです。

Netscape
6.1 / Mozilla 0.9x


Windows
98 の場合、 C:\Program
Files\Netscape\Netscape 6\defaults\pref\all.js の
pref("network.sendRefererHeader",
2);
という行を
pref("network.http.sendRefererHeader",
0);
と変更します。 (from
[memo:551])


あるいは、ユーザプロファイルにある pref.js
user_pref("network.http.sendRefererHeader",
0);
と書きます。 (from
[memo:826])


squid


squid.conf
で設定します。

1.x
では http_anonymizer
を設定します。 http_anonymizer
standard
あるいは http_anonymizer
paranoid
で Referer
が削除されます。

2.x では anonymize_headers
を設定します。 たとえば、 anonymize_headers
deny Referer
とします。 squid.confのコメントを参照してください。


(※バルタン注:このディレクティブはSquid-2.4.Xのものです。2.5STABLEでは書式が変わっています。)



上記では Referer
が常に削除されてしまうため、 前記したように CGI
関連で不具合が発生します。
これを防ぐため、別ホストに移動する場合のみ Referer
を削除するようにする patch
をたかださんが作成されています。 Tea
Room for Conference
の No.238
の議論も参照してください。

squid
2.5 以降では、 acl
を利用して特定の referer
を送出しないようにできます。 たとえばこのように使います。

acl internal referer_regex ^http://[^/]+\.example\.co\.jp ^http://192\.168\. ^[a-zA-Z]:\\header_access Referer deny internal




DeleGate

次のような cfiスクリプトを DGROOT/lib/killreferer.cfi
に用意します。

#!cfi
Remove/Referer:



その上で、 delegate
の起動オプションに FTOSV=killreferer.cfi
を指定することで Referer
を削除できます。
なお、この場合 FTOSV="data:,#!cfi%0ARemove/Referer:%0A"
としてもよいです。 参照 :
[DeleGate]
Re: Referer
リクエストヘッダの除去

WWWOFFLE


wwwoffle.conf
で以下のように記述すると Referer
が特定の値になります :


CensorHeader
Referer = http://some.url.com



Referer= とすれば Referer
を空にできます。

他に referer-self
referer-self-dir
も利用できます。 詳細は wwwoffle.conf
のサンプルや man
wwwoffle.conf を参照してください。

Junkbuster


Junkbuster
はプライバシ強化が目的の proxy
server です。 Windows
と UNIX
で動作するようです。 Refere
を削除あるいは特定の値とするには、次のようにします :


# referer specifies treatment of the "Referer:" header
# default : Kill the referrer-header from the client
# . : Pass the referrer unchanged
# 'text' : Always send as the referrer
# @ : Pass the referrer if the server is in the cookie file,
# kill the referrer otherwise
referer 'http://www.google.com/'



Doorman@JUMPERZ.NET


Doorman@JUMPERZ.NET
は Windows
対応の「多目的 TCP/IP
ネットワークテストツール」です。 シェアウェア
5000
円です。

Referrer
の変更・削除については HTTP
リクエストをカスタマイズする
を参照してください。

Proxomitron-J


Windows
対応の「非常に柔軟なカスタマイズが可能」な
proxyserver。 デフォルトの Referer書き換えは少年ナイフのオフィシャルサイトになっているそうです。
関連記事 :
Webブラウジングを快適にする「 The Proxomitron

Proxy
伝説

どこを変えればいいのかは一目瞭然ですね。

インターネット快速便

from
土居 @シャープさん :
ネットワーク切り替え機能に Referer
カットの有無を連動できるので、 あるネットワーク設定では
Referer
カット有り、
他のネットワークではフリーパスという風にプライバシーのレベルを切り替えることができます。


 この他のブラウザ、 proxy
サーバに関する情報をお持ちの方はぜひおしえてください




SpecialThanks


  FWD
fw-wizard ML のみなさん、 Tea
Room for Conference
のみなさん、 セキュリティホール
memo
ML
のみなさん、
四方さん、関谷さん、金床さん、北條さん、なゆたさん、佐藤さん、土居さん、志村さん、岩本さん、高木さん、西川さん、山賀さん。


-------------------------------引用おわり -------------------------------------

 次へ  前へ

テスト8掲示板へ



フォローアップ:


 

 

 

  拍手はせず、拍手一覧を見る


★登録無しでコメント可能。今すぐ反映 通常 |動画・ツイッター等 |htmltag可(熟練者向)
タグCheck |タグに'だけを使っている場合のcheck |checkしない)(各説明

←ペンネーム新規登録ならチェック)
↓ペンネーム(2023/11/26から必須)

↓パスワード(ペンネームに必須)

(ペンネームとパスワードは初回使用で記録、次回以降にチェック。パスワードはメモすべし。)
↓画像認証
( 上画像文字を入力)
ルール確認&失敗対策
画像の URL (任意):
投稿コメント全ログ  コメント即時配信  スレ建て依頼  削除コメント確認方法
★阿修羅♪ http://www.asyura2.com/  since 1995
 題名には必ず「阿修羅さんへ」と記述してください。
掲示板,MLを含むこのサイトすべての
一切の引用、転載、リンクを許可いたします。確認メールは不要です。
引用元リンクを表示してください。