
第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パスワードが分かるまで いつの世も事件の始まりは“ほんの小さな”きっかけから |
|
セキュリティ対策の「ある視点」 バックナンバー
- 第1回 たった2行でできるWebサーバ防御の「心理戦」
- 第2回 ディレクトリ非表示の意味をもう一度見つめ直す
- 第3回 「Forbidden」「サンプル」をセキュリティ的に翻訳せよ
- 第4回 メールサーバ防御でも忘れてはならない「アリの一穴」
- 第5回 DNS、管理者として見るか? 攻撃者として見るか?
- 第6回 己を知り、敵を知る――Nmapで見つめ直す自分の姿
- 第7回 魂まで支配されかねない「名前を知られる」という事件
- 第8回 魂、奪われた後――弱いパスワードの罪と罰
- 第9回 人の造りしもの――“パスワード”の破られ方と守り方
- 第10回 SNMPコミュニティ名、そのデフォルトの価値は
- 第11回 ハニーポットによるウイルス捕獲から見えてくるもの
- 第12回 プレイバックPart.I:ウイルスのかたち、脅威のかたち
- 第13回 プレイバックPart.II:シフトした脅威の中で
- 第14回 ASV検査、ペネトレテスターの思考を追う
- 第15回 報告、それは脆弱性検査の「序章」
- 第16回 たった1つの脆弱性がもたらすシステムの“破れ”
- 最終回 Q.E.D.――セキュリティ問題を解決するのは「人」
| セキュリティ対策の「ある視点」 連載インデックス |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
