<> = 警告表示の技法 = 警告の表示の方法を先に説明して、あとで警告を表示する根拠を説明することにします。 == 警告表示手段 == === Aレコードを変更 === ウェブサーバのアドレスの代わりに警告サーバのAレコードを返します。 tinydns-data location 機能を利用して、 特定Aレコードの問い合わせに対し、警告サーバのアドレスを返すなどします。(DNSの機能) ホスト全体を判定サーバに委ねると信頼関係が前提となる。 警告表示サーバでは任意のURLを受け付けるように準備してある。 徳丸氏の提案で、iframe を利用したバナー表示なども用意した。 === 警告表示サーバでの動作 === ==== URL を変更(redirect) ==== (警告ページへの)リンク情報を返すなど。 ==== ページコンテンツの表示 ==== 警告ページを表示。http://warn2.qmail.jp など。 == 危険なDNSキャッシュサーバの判定方法 == いくつかの方法を考えた。始まりはblacklist方式である。(鈴木案、リストは前野が提供) 複数のqueryからポート固定かどうか判断する方法(鈴木)、固定ポート設定でよく使われるportに警告する案(前野)などがある。 === blacklist 利用 === 事前調査によるブラックリスト(前野)を利用して、location コードを切り替える。(鈴木) == port 検査 == port 固定のDNSキャッシュサーバでよく使われているportを使っているか調べる。(前野案) 使っている場合、DNS query には警告サーバのAレコードを答える。 [[/port検査]] 特定のAレコードのquery にだけ摘要することができるので、ホスト全体を委ねる必要はない。 == CGI 判定 == その場で判断する方式もある。 訪問ページに仕掛けて、ブラウザに複数のDNS検索を発生させる。 問い合わせポートが固定かどうかを判定する。(鈴木) 誤判定の可能性(16bit^2~3) = 警告の実装 = 上記の警告の表示を参照。 当初は警告が必要な場合、サイト全体を警告サーバにredirectしていた。 これだと絶対の信頼を前提とすることになるので、一部のひとにしか使ってもらえない。 == 警告バナー == 徳丸サイトではiframeを使って、警告サーバの内容を表示している。 iframe 内だけの表示をまかせられる程度の信頼関係が必要。 http://snoopy.e-ontap.com/announce.html tssさんによる趣旨説明 redirectを返すことで、表示内容はサイト側で決められる。 == 画像バナー == 画像表示領域を提供してもらい、警告すべきときにだけ警告を表示する。 通常の広告で用いられている方法と同様。(サイト運用者の賛同が条件となる。) 一部のスペースを提供するだけであり、画像ファイル処理に脆弱性がなければ、特別の信頼性は必要ない。 == 警告見本 == === お使いのDNSサーバは大丈夫? === 警告見本: {{attachment:alert3.png}} ---- OK見本: -> ({{http://alert.qmail.jp/ok.png}}) <-- この直前にあるイメージ、見えない。 ----- -- ToshinoriMaeno <> = 趣旨説明 == snoopy: http://snoopy.e-ontap.com/banner.cgi http://www.e-ontap.com/blog/20111114.html == 対象者 == 警告の目的は危険なキャッシュサーバをなくすことだから、管理者に警告したいのだが、 直接警告する方法が見当たらない。そこで利用者に行動してもらおうというのが今回の方法だ。 利用者にDNSの知識をどこまで期待するか。それにより警告メッセージの内容を対応させるべきだ。 * DNSのことをまったく知らないひと: 行動は期待できない。 * 警告されて、管理者に連絡するか、キャッシュ指定を変更するひと: なんらかの警告だけで十分。 * これらにあてはまらないひとたち: tssさんのページに誘導しても理解できないひとたち