Bind9を使用してCC TLDを設定しました。また、クエリログを正常に設定しました。ただし、クエリ応答を記録できません。
クエリロギング用に設定した内容を確認してください。
logging {
channel queries_file {
file "/var/named/chroot/var/log/named/queries.log" versions 10 size 10G;
severity dynamic;
print-category yes;
print-severity yes;
print-time yes;
};
category queries { queries_file; };
};
スクリプトは外部のクエリのみを記録します。
これらの要求に対するサーバーの応答をどのように記録できますか?
答え1
logging
BINDには、クエリへの応答を記録するためにこのディレクティブを使用する規則はありません。
さらに、プライバシーに関する考慮事項を取り除き、DNSサービスがファイルに書き込むよりもリモートで記録する方が効率的です。
人々が走り回ることが多いドメイン名解決プロトコルセキュリティ分析のためにDNSクエリをキャプチャ/スニッフィングします。
dnscapは、DNSトラフィック用に特別に設計されたネットワークキャプチャユーティリティです。 pcap(3) 形式でバイナリデータを生成します。このユーティリティはtcpdump(1)に似ていますが、DNSトランザクションおよびプロトコルオプションに合わせてカスタマイズされた多くの機能があります。
というキャプチャ/録画機能もあります。ドメインネームサーバーしかし、これはBINDの特定のバージョンにのみ存在し、BINDの最後のバージョン(現在9.11)以降は常に正式に含まれるようです。これはまだ複数のディストリビューションに採用されていない可能性があるため、BINDコンパイルが必要です。
BINDと統合されてdnscap
。
dnstapは、プロトコルバッファ(構造化データをシリアライズするメカニズム)とともに、DNSサーバーに柔軟なバイナリログ形式を導入するソリューションです。 Robert Edmondsはdnstapのアイデアを発表し、2つの特定のユースケースに基づいて最初の実装を作成しました。
- 同期I / Oボトルネックとメッセージ形式を削除して、クエリのロギングを高速化します。
- 手動 DNS パケットの代わりにメッセージ全体をキャプチャして、複雑な状態の再構成を防止します。
options {
dnstap { all; };
// dnstap { auth; resolver query; resolver response; };
/* where to capture to: file or unix (socket) */
// dnstap-output file "/tmp/named.tap";
dnstap-output unix "/var/run/dnstap.sock";
dnstap-identity "tiggr";
dnstap-version "bind-9.11.2";
};