我正在嘗試使用綁定 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」被拒絕
當向伺服器詢問一個他不負責的名稱時,客戶端會得到:
挖 @ns.mydomain.com www.disney.com 非權威答案: *** 找不到 www.disney.com:沒有答案
什麼是正確的,但綁定只記錄如下內容:
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; };
};