スゴ技

平成27年度 春 基本情報技術者試験 【問4】(その2)

Blog:IT・情報処理BLOG |

こんにちは、ブログの3男、佐藤です。
昨日は体験入学お疲れ様でした(参加された方)、普通は休日なので、ゆっくりしていた方も多いことでしょう。
今日は私もお休み、ちび助が野球の試合という話なので、夜にちょっといいご飯でも作っておこうかとメニューを考えているところです。

さて、今日のエントリ、実は先日出していたブログエントリ(H27春FE 午後問4)で、リゾルバの問題が出ていましたが、
問題にて出てるサーチリストの件、ほんのり書き忘れている気がしていたので、補足しておこうかと思ったのでした。

とりあえずざっくりです。

  • DNSによるホスト名の解決は、いくつかあるホスト名解決のいち手段にすぎない
  • すごく小さな範囲なら、ホスト定義のファイルでざっくりやればよい
  • Boujourが使っているマルチキャストDNS
  • UNIXシステムが使っていた(今でも適用箇所はあるでしょうが)NIS
  • その他いろいろ(かな)

アプリケーションレベルでこれらを都度実装するのが効率悪いので、リゾルバというバッファーを設けているというイメージです。

でLinux、リゾルバのための定義情報というのは内部的にはいくつかありますが、
基本は /etc/resolv.conf です。例えば自宅のネットワークではこんなかんじです。

densuke@miso:/etc$ cat /etc/resolv.conf
domain example.jp

nameserver 192.168.1.250

 

nameserver行は問い合わせ先となるDNSサーバーのアドレスでいいとして、domainという行もあります。問い合わせのホスト名はフルネームである必要ありません。通常リゾルバ経由でのDNSホスト解決では、

  1. とりあえず渡された名前でいきなり解決を
  2. その後、domain/searchを付けて解決を
  3. それでもダメならあきらめる

という流れになります。サーチリストというのが、上記resolv.confにおいてはdomain行を付与して解決を図る(2.)ことになります。
今回使ってませんが、search行を使うと、複数のドメイン名を書き込むことができます。domain/searchは排他的に扱われるということなので、どちらかということになります。

search example.jp example.com

nameserver 192.168.1.250

 

この場合、example.jpを付けて解決をはかり、それでもダメならexample.comで…とくりかえすことになります。問題文ではこの部分の処理をサーチリストという魔法の言葉でざっくりやってしまってるのですね。

問4の図2を見ると、リゾルバ内でとりあえず www.bunkyo というホスト名が渡されたので、まずwww.bunkyoで確認し、対応がないので、
サーチリストに含まれているexample.co.jp付けて対応を続けてくれてます。

この時問題にあるようにTLDとして.bunkyoが追加されたというケースにおいては、最初のやりとりの復路「DNSリゾルバ <– エラーを返す — A社のDNSサーバー」のところが覆ってしまい、結果が返されることになります。
空欄aはやっぱりウとなりますね。
空欄bにおいては、TLDとして.corpが採用されてしまっても、社内のものを返してしまう状況のため、外部の(グローバルで正式な)アドレスを取得することができません、よってエとなります。
状況によって得られる値が社内か社外かがわかりにくくなってしまうことになります。意図せず情報の漏洩が起きてしまうかもしれませんね(空欄cはイ)。

また、設問2の選択肢ウは、サーチリストをやめる(search行を取り消す)ことで、問い合わせをうけたホスト名でのみ結果を返すようになるため、

  • www.bunkyo はエラーになります、(社内的に)正式な名前(=www.bunkyo.example.co.jp)でないとアクセスできなくなりますが、その代わり意図したホストへのアクセスになるので安全性アップ
  • www.corpはもともとA社のDNSで内部のコンテンツを返してるため問題なし

となるでしょう。「適切でない」という設問の意図からは外れてしまう(すなわち、適切な範囲)ため、選択肢になりえません。ちなみに設問2は答えとしてはイですね。

ということで、サーチリストの件を含めての考え方を再度いれてみました。
いかがでしたか?

2015年(平成27年度)春期の解説

Date:

神戸電子の
IT・情報処理学科
についてもっと知りたい!

Webアプリケーション等のシステム管理、設計、開発が行える総合的なITエンジニアを育成する学科です。

学科紹介を見る (神戸電子サイト)

学科紹介イメージ
Info神戸電子からのお知らせ

Tagタグ

Teamライターチーム紹介

神戸電子オフィシャルSNS

オープンキャンパスなどの
誰でも参加OKの楽しいイベント
やブログの最新記事などお届けします!

ページの上へ移動