bind queryログの意味

bindで,キャッシュポイズニングの問題があり,それに関連して,DDoS攻撃もあって,まんまと私のサーバも踏み台にされていたようだ。

query: . IN NS +

クエリーのログを見るとこんなのが,沢山あった。DNSの問い合わせに対しての対策は何もしていなかったせいで,「DDoS攻撃」の記述を読みながら対策を行った。allow-queryオプションの設定などを行ったが,一部まずい点があり,コンテンツサーバとして動作しなかったりと,いろいろと試行錯誤したが,たぶん今は動作している。(たぶん)

そこで気になったのは,bindのログの見方がよく分からないということ。何となく読めば分かるログもあるが,queryのログに関してはフラグの説明や解説が無くて,ソースまで見ながら調べた。


参考にしたページ:

<http://prefetch.net/blog/index.php/2006/12/10/logfile-format-for-bind-queries/>
<http://www.atmarkit.co.jp/flinux/rensai/bind913/bind913a.html>

ソースの該当箇所:

bind-9.3.4-P1/bin/named/query.c: log_query()関数
ns_client_log(client, NS_LOGCATEGORY_QUERIES, NS_LOGMODULE_QUERY,
                      level, “query: %s %s %s %s%s%s”, namebuf, classname,
                      typename, WANTRECURSION(client) ? “+” : “-”,
                      (client->signer != NULL) ? “S”: “”,
                      (client->opt != NULL) ? “E” : “”);

query: <問い合わせドメイン名> <クラス> <タイプ>  {+|-}[SE]

NS_LOGCATEGORYとかは,named.confのloggingオプションのフラグで,カテゴリ表示などを制御するインタフェース。

<問い合わせドメイン名>   クエリされているホスト名やドメイン名
<クラス>                        普通は,”IN”。nslookup(1)に,クラスの説明がある。
<タイプ>                        問い合わせのタイプ。
{+|-}                            再帰問い合わせするか?
[S]                            <署名付き
[E]                           EDNS問い合わせ

再帰問い合わせ(recursion)を行う場合,「+」が付いて,そうで無い場合は,「-」。
署名付き(Signer)なら,「S」が付いて,EDNS(拡張)問い合わせなら,「E」が付く。

問い合わせのデータのログで,それに対しての回答の情報はない。

また,blackholeオプションに該当したサーバからの問い合わせでは,queryログは出力されないようだ。これじゃ,間違ったblackhole指定は気づかないなあ。

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]