Webセキュリティ入門:HTTP・Cookie・脆弱性
DNSの問い合わせに残るもの
この回でやること
DNSは名前から住所(IPアドレス)を引く仕組みです。その問い合わせに残ってしまう情報も見ます。
- 読む 約 5 分
- 最後にクイズ 1 問
このレッスンで学ぶこと
DNSは、ホスト名を機械の住所であるIPアドレスに変える仕組みです。この回では、その問い合わせに何が残るのかまで見ます。
読み終えるころには、名前を1つ増やすことが何を増やすのかを説明できるようになります。
名前を住所に変える
shop.example.com という名前のままでは通信できません。実際に接続するには、機械の住所であるIPアドレスが必要です。この変換を担うのがDNSです。
ブラウザは接続の前に「この名前の住所は」と尋ね、返ってきた住所へつなぎます。電話をかける前に電話帳を引く動きに近いものです。
引ける情報は公開されている
ここが今回の要です。名前の対応表は、誰でも引けます。
これは欠陥ではなく仕様です。誰でも到達できなければ、公開サービスとして成り立ちません。ただし副作用があります。
- どんな名前を使っているかが分かる
- 名前から、どのサーバーが動いているかの見当がつく
- 過去に使っていた名前の記録が、外部の収集サービスに残っている
検証用に staging.example.com のような名前を一時的に作ると、消したあとも第三者の記録に残ります。名前を付けた時点で公開したのと同じ、と考えておきます。
サブドメインの数だけ入り口が増える
前に学んだ Attack Surface の話がここでつながります。名前をひとつ増やすことは、外から到達できる入り口をひとつ増やすことです。
社内向けのつもりの管理画面、期限切れの検証環境、使わなくなった旧サイト。どれも名前が引ける限り、外から見えています。忘れられた入り口ほど、更新が止まっていて弱くなりがちです。
引いた答えを信じてよいか
名前を引く仕組みそのものにも、気をつける点があります。
引いた結果は途中で保存され、次からはその保存分が返ります。速くなる代わりに、変更がすぐには行き渡りません。 引っ越しの直後に古い住所へつながり続けることがあります。
さらに、引く経路が信用できない場所では、別の住所を返されることがあります。公衆の無線などがこれにあたります。証明書の確認まで含めて初めて「正しい相手」と言えるのは、この筋のためです。名前を引くところは、通信の前段にあって暗号化の外にあります。