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