【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷


第5回 DNS、管理者として見るか? 攻撃者として見るか?


辻 伸弘
NTTデータ・セキュリティ株式会社
2007/11/30


 今回は、前回取り上げたSendmailに代表されるMTA(メール配送エージェント、メールサーバ)とサーバ内に同居させることの多い、DNSのセキュリティ設定について紹介させていただく。紹介するDNSは最もシェアが高いと思われるBIND(Berkeley Internet Name Domain)である。

 DNSのバナー情報はいつ表示されるのか

 まずは、本連載ではお決まりの(?)バナー情報から紹介しよう。

 BINDの場合では、接続が確立したときやコマンドを実行したときにバナーが表示されるのではなく、発行したクエリーの応答の中にBINDのバージョンが表示される。以下は、「dig」コマンドを用いてバージョン取得を行った結果の例である。

【digの実行結果】

; <<>> DiG 9.2.4 <<>> @xxx.xxx.xxx.xxx version.bind chaos txt
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9660
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;;

QUESTION SECTION:
;version.bind.               CH         TXT
;;

ANSWER SECTION:
version.bind.       0       CH         TXT       "9.2.4"
;;

AUTHORITY SECTION:
version.bind.       0       CH          NS        version.bind.;;

Query time: 34 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Sun Nov 4 10:32:00 2007
;; MSG SIZE rcvd: 62

 ANSWER SECTIONの次の行に「"9.2.4"」とバージョンが表示されていることが分かる。digで問い合わせる方法は、以下の「xxx.xxx.xxx.xxx」の部分をBINDが稼働しているホストのアドレスに変更し、実行する。

dig @xxx.xxx.xxx.xxx version.bind chaos txt
(「version.bind」「chaos」「txt」の順番は上記通りでなくてもよい)

 Windowsにdigコマンドは付属していないが、以下のようにnslookupコマンドを実行することで同等の結果を取得することができる。

nslookup -type=txt -class=chaos version.bind xxx.xxx.xxx.xxx

 この実行結果は以下のようになる。

【nslookupの実行結果】

*** Can't find server name for address xxx.xxx.xxx.xxx: Non-existent domain
Server:   UnKnown
Address:  xxx.xxx.xxx.xxx

version.bind    text =           "9.2.4"
version.bind    nameserver = version.bind

 どうしてもWindows環境でdigを使いたい場合は、単体で配布しているサイトがあるので、そこからダウンロードすれば手っ取り早く利用することができるだろう。

 まずはDNSのバージョンを隠そう

 それでは、このバージョン情報の隠ぺい方法を紹介しよう。

 BINDの設定ファイル(/etc/named.confなど)内のoptions内に以下のように記述を追加する。

options {
            〜 略 〜
            version "tsuji";
                        〜 略 〜
} ;

 versionに続く「"」で囲まれた中に任意の文字(何も書かなくてもよい)を記述することで、digやnslookupでバージョン情報の取得を試みたときにバージョン情報ではなく記述した任意の文字列を表示させることが可能である。上記の設定を施したBINDに対してdigでバージョン情報を取得した場合は、以下のように表示される。

【digの実行結果】

; <<>> DiG 9.2.4 <<>> @xxx.xxx.xxx.xxx txt chaos version.bind
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13242
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;;

QUESTION SECTION:
;version.bind.               CH         TXT
;;

ANSWER SECTION:
version.bind.       0       CH         TXT      "tsuji"


AUTHORITY SECTION:
version.bind.       0       CH          NS        version.bind.;;

;; Query time: 38 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Tue Nov 6 15:56:02 2007
;; MSG SIZE rcvd: 62

 version.bindの行が「tsuji」と変化していることが分かる。空白や「unknown」などの任意の文字列を設定するとよいだろう。設定を行ったら、BINDの再起動を行うことで設定が反映される。

1/3

Index
DNS、管理者として見るか? 攻撃者として見るか?
Page1
DNSのバナー情報はいつ表示されるのか
まずはDNSのバージョンを隠そう
  Page2
ゾーン情報の転送とは
ゾーン転送の落とし穴
深読みでここまで分かるあなたのイントラネット
無差別コピーを防ぐための対策
  Page3
ペネトレテスターは見た! 実録・SSHパスワードが分かるまで
いつの世も事件の始まりは“ほんの小さな”きっかけから


セキュリティ対策の「ある視点」 連載インデックス

ホワイトペーパーTechTargetジャパン

Security&Trust フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?