サーチリストとは
サーチリストは、DNS検索サフィックス、 DNS suffix search listなどとも呼ばれる、 ユーザーがドメイン名を入力する手間を減らせるようにするためのリストです。 具体的にはDNSにおいて、 名前解決の際にドメイン名を最後まで入力しなくても、 サーバやクライアントで補完がされるように、 補完候補となる文字列を順番に並べたものです。 ユーザーがある名前の一部分を入力した際に、 サーチリストからドメイン名を一つずつ取り出し、 ユーザーが入力した名前の末尾に追加するといったように利用されます。 多くのアプリケーションやオペレーティングシステム(OS)などは、 ユーザーの利便性向上のために、このサーチリスト機能を持っています。
例えば、あるユーザーの環境でサーチリストが、「tokyo.example.jp」、 「paris.example.jp」、「example.jp」と設定されている時に、 ユーザーがWebブラウザに「www」と入力した場合、 OSは「www.tokyo.example.jp」、「www.paris.example.jp」、 「www.example.jp」の順序でドメイン名を検索するといったことがあります。
サーチリストは、 RFC 1123*1など一連のRFC *2*3でおおまかに標準化され、 さまざまなOSなどで実装されていますが、 処理方法について厳密な規定はなく、 OSやWebブラウザ、 メールクライアントなどのアプリケーションごとに違った動作が行われます。 そのため、 実装によってはセキュリティやプライバシー上の問題が発生することが指摘されています。 例えば、ユーザーが入力した文字列に対して、 サーチリストによる補完が期待通りの動作をせず、 本来ユーザーが意図したもの以外の文字列が、 DNSの名前解決としてルートサーバへ問い合わされてしまったり、 Web検索エンジンへ検索文字列として送られてしまったりする、 ということが起こり得ます。 また最近では、新たに登録されたgTLDと、 内部向けの名前解決を目的として設定されているサーチリストによって補完された名前が衝突してしまい*4、 新gTLDへのアクセスや内部向けサービスの利用に、 影響が出ることなどが懸念されています*5。
*1 RFC 1123 "Requirements for Internet Hosts - Application and Support"
https://tools.ietf.org/html/rfc1123
*2 RFC 1535 "A Security Problem and Proposed Correction With Widely Deployed DNS Software"
https://tools.ietf.org/html/rfc1535
*3 RFC 1536 "Common DNS Implementation Errors and Suggested Fixes"
https://tools.ietf.org/html/rfc1536
*4 名前衝突(Name Collision)問題
https://www.nic.ad.jp/ja/dom/new-gtld/name-collision/
*5 SAC064 "SSAC Advisory on Search List Processing"
https://www.icann.org/en/groups/ssac/documents/sac-064-en.pdf