私は、bind 9.11 (CentOS 8 のデフォルト) で、応答できなかったクエリや、サーバーに継続的にクエリを実行しているが許可されていないクライアントをリストするクエリをログに記録しようとしています。
最後に、このログを使用して fail2ban に送信し、それらの「馬鹿」をブロックしたいと思います。
サーバーは、保持しているドメインに関するクエリに応答する責任を持つ主要な NS ですが、それ以上の責任はありません。
まず、私はすべてを記録しようとしました。https://kb.isc.org/docs/aa-01526完全なデバッグ レベルでも、「拒否」などの単語を含むログ ラインは見つかりませんでした。ただし、次のように完全なゾーン転送 (セカンダリ NS からのみ許可されるはずです) を要求した場合は例外です。
2020 年 8 月 27 日 11:40:47.317 クライアント @0x7fd284052510 94.102.208.167#51041 (somedomain.com): ゾーン転送 'somedomain.com/AXFR/IN' が拒否されました
責任を負っていない名前をクエリでサーバーに要求すると、クライアントは次のような結果を受け取ります。
dig @ns.mydomain.com www.disney.com 権威のない回答: *** www.disney.com が見つかりません: 回答なし
正しいのですが、bind は次のようなログのみをログに記録します。
2020年8月27日 11:43:27.741 クエリ: 情報: クライアント @0x7fd2840bf440 1.2.3.4#34369 (ディズニー): クエリ:ディズニーA + (xxxx) で
これでは、クライアントにどのような回答が送られたのか全くわかりません。
現在の設定は次のとおりです:
logging {
channel "my_queries" {
file "/var/log/named.queries" versions 600 size 20m;
print-time yes;
print-category yes;
print-severity yes;
severity dynamic;
};
channel "security_file" {
file "/var/log/named.security";
severity dynamic;
print-time yes;
};
category "queries" { "my_queries"; };
category client { "security_file"; };
category security { "security_file"; };
category lame-servers { null; };
};
では、そもそもサーバーに問い合わせることが許可されていないクライアントのログエントリを作成するにはどうすればよいでしょうか?
答え1
私の場合は次のようになります:
27-Aug-2020 13:33:17.170 security: info: client @0x7f88b57bdf90 192.168.10.165#18237 (www.google.com): view 192.168.10.0/24: query (cache) 'www.google.com/AAAA/IN' denied
27-Aug-2020 13:33:17.170 query-errors: info: client @0x7f88b57bdf90 192.168.10.165#18237 (www.google.com): view 192.168.10.0/24: query failed (REFUSED) for www.google.com/IN/AAAA at ../../../bin/named/query.c:7144
私の設定は ( ) です/etc/bind/named.conf.options
:
logging {
channel replace_syslog {
file "/var/log/bind/named.log" versions 5 size 2m;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
category default { replace_syslog; default_debug; default_syslog ; };
category lame-servers { null; };
channel query.log {
file "/var/log/bind/query.log" versions 2 size 2M;
severity debug 3;
print-time yes;
};
category queries { query.log; };
};