Red Hat Training
A Red Hat training course is available for RHEL 8
第27章 RHEL での dnstap の使用
dnstap
ユーティリティーは、着信名クエリーの詳細を監視およびログに記録する高度な方法を提供します。named
サービスから送信されたメッセージを記録します。本セクションでは、dnstap
を使用して DNS クエリーを記録する方法を説明します。
27.1. RHEL での dnstap を使用した DNS クエリーの記録
ネットワーク管理者は、DNS クエリーを記録し、ドメインの正常性と共に Web サイトまたは IP アドレス情報を収集できます。
前提条件
-
BIND
パッケージをバージョンbind-9.11.26-2
以降にアップグレードします。
BIND
バージョンがすでにインストールされ、実行されている場合、新しいバージョンの BIND
を追加すると、既存のバージョンが上書きされます。
手順
DNS クエリーを記録する手順は次のとおりです。
options
ブロックの/etc/named.conf
ファイルを編集し、dnstap
と target ファイルを有効にします。options { # … dnstap { all; }; # Configure filter dnstap-output file “/var/named/data/dnstap.bin”; # … }; # end of options
( all | auth | client | forwarder | resolver | update ) [ ( query | response ) ];
dnstap
フィルターには、dnstap {}
ブロック内に、;
で区切られた複数の定義が含まれています。ルールごとの構文を以下に示します。
-
auth
: 権威ゾーンの応答または回答。 -
client
: 内部クライアントクエリーまたは回答。 -
forwarder
: 転送クエリーまたは応答。 -
resolver
: 反復的解決クエリーまたは応答。 -
update
: 動的ゾーン更新要求。 -
all
: 上記のオプションのいずれか。 query
|response
: クエリーまたは応答キーワードが指定されていない場合、両方を記録。以下の例では、
auth
応答のみ、client queries
および動的updates
のクエリーと応答の両方を要求します。
Example: dnstap {auth response; client query; update;};
-
アクティブなログの定期的なロールアウトを設定します。
以下の例では、ユーザー編集のスクリプトの内容は、
cron
で 1 日 1 回実行されます。数値 3 はその番号に制限されたバックアップログファイルを示します。ファイルが削除されるため、.2
接尾辞に到達しません。Example: sudoedit /etc/cron.daily/dnstap #!/bin/sh rndc dnstap -roll 3 mv /var/named/data/dnstap.bin.1 \ /var/log/named/dnstap/dnstap-$(date -I).bin # use dnstap-read to analyze saved logs sudo chmod a+x /etc/cron.daily/dnstap
dnstap-read
ユーティリティーを使用して、人間が判読できる形式でログを処理および分析します。以下の例では、詳細な dnstap 出力が
YAML
ファイル形式で出力されます。Example: dnstap-read -y [file-name]