意外的 RCODE REFUSED - 耗盡日誌文件

意外的 RCODE REFUSED - 耗盡日誌文件

我有一個自己託管的網站,我使用 bind9 作為我的 DNS 伺服器(託管我自己的名稱伺服器等)。

我遇到了流量頻寬問題,我的系統日誌充滿了以下類型的問題:

error (unexpected RCODE REFUSED) resolving 'target-express.com/AAAA/IN': 193.95.142.60#53
error (unexpected RCODE REFUSED) resolving 'target-express.com/A/IN': 2001:7c8:3:2::5#53

在今天的系統日誌中,有144258此類實例均與 target-express.com 有關。

我的問題是:

  1. 有什麼我可以做的防火牆明智或綁定配置來阻止這個嗎?
  2. 為什麼我的綁定設定會嘗試解析 target-express.com (這不是我的網域,與我無關)。

我檢查了named.conf中的轉發器,沒有一個與日誌中顯示的IP相符(它們基本上都是不同的IP,而不僅僅是193.95.142.60)。

我的 iptables 內容如下:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             loopback/8           reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere 

更新

我現在在named.conf.options中嘗試了以下方法來阻止遞歸。

allow-transfer {"none";};
allow-recursion {"none";};
recursion no;

完成此操作後,我現在在系統日誌中看到以下內容:

Mar  4 00:02:21 mail named[29037]: client 127.0.0.1#42139: query (cache) '24.124.41.103.in-addr.arpa/PTR/IN' denied
Mar  4 00:02:22 mail named[29037]: client 127.0.0.1#58405: query (cache) '45.124.41.103.in-addr.arpa/PTR/IN' denied
Mar  4 00:02:24 mail named[29037]: client 127.0.0.1#48692: query (cache) '106.49.174.61.in-addr.arpa/PTR/IN' denied

為了擺脫上述問題,我添加了:

    additional-from-cache no;

答案1

您的 DNS 轉發器能否將請求轉送回原始伺服器?

如果是這樣,這可能類似於我去年遇到的問題(請參閱Windows DNS 伺服器在收到 SERVFAIL 回應時重複請求區域中的記錄)。修復方法是不存在轉發循環。這僅在返回 SERVFAIL 的區域中顯示為嚴重問題,因為這些回應不會被快取。

至於發起原始查詢的內容(可能只有一個)可能是任何內容 - 用於 Web 存取控制的 DNS 查找或類似的內容。

為了避免放大(也許是比循環更好的描述),您需要確保您看到這些訊息的 DNS 伺服器不會將查詢轉發到可能將請求轉發回來的伺服器。您在本機 DNS 伺服器上設定的伺服器是在您的控制之下還是外部?

答案2

最肯定的是,您的伺服器正在嘗試解析“target-express.com”,但失敗了。失敗的原因是「target-express.com」的 NS 伺服器未正確設定。 (Google“蹩腳的伺服器”)。執行「dig +trace」會顯示該網域的兩個 NS 記錄,但如果您查詢這些網域,則沒有回應。

現在的問題是誰在查詢您的伺服器 -

1.合法的內部用戶/應用程式-我不會擔心這個。

2.未授權的外部使用者 - 您的 dns 伺服器應僅允許解析其具有權威的網域。如果您不想擁有開放的 dns 伺服器,請在 dns 配置中進行限制,以便只有允許的主機才能使用該伺服器進行遞歸查詢。

root@svm1010:/var/tmp# dig @8.8.8.8 target-express.com NS +short
root@svm1010:/var/tmp# dig +trace target-express.com NS

; > DiG 9.7.0-P1 > +trace target-express.com NS
;;全域選項:+cmd
。 16978 在 NS d.root-servers.net。
。 16978 在 NS i.root-servers.net。
。 16978 在 NS f.root-servers.net。
。 16978 在 NS b.root-servers.net。
。 16978 在 NS a.root-servers.net。
。 16978 在 NS k.root-servers.net。
。 16978 IN NS l.root-servers.net。
。 16978 在 NS h.root-servers.net。
。 16978 在 NS e.root-servers.net。
。 16978 在 NS j.root-servers.net。
。 16978 在 NS m.root-servers.net。
。 16978 在 NS g.root-servers.net。
。 16978 在 NS c.root-servers.net。
;;在 9 毫秒內從 8.8.8.8#53(8.8.8.8) 接收到 228 個位元組

com. 172800 IN NS j.gtld-servers.net。
com. 172800 IN NS a.gtld-servers.net。
com. 172800 IN NS m.gtld-servers.net。
com. 172800 IN NS b.gtld-servers.net。
com. 172800 IN NS c.gtld-servers.net。
com. 172800 IN NS i.gtld-servers.net。
com. 172800 IN NS l.gtld-servers.net。
com. 172800 在 NS h.gtld-servers.net。
com. 172800 IN NS f.gtld-servers.net。
com. 172800 IN NS k.gtld-servers.net。
com. 172800 IN NS d.gtld-servers.net。
com. 172800 IN NS e.gtld-servers.net。
com. 172800 IN NS g.gtld-servers.net。
;;在 15 毫秒內從 199.7.91.13#53(d.root-servers.net) 接收到 496 位元組

target-express.com。 172800 在 NS sec02.ns.esat.net。
target-express.com。 172800 在 NS auth02.ns.esat.net。
;;在 221 毫秒內從 192.48.79.30#53(j.gtld-servers.net) 接收到 120 位元組

;;在 111 毫秒內從 192.111.39.112#53(sec02.ns.esat.net) 接收到 36 個位元組

root@svm1010:/var/tmp# dig @sec02.ns.esat.net。 target-express.com。 soa+短
root@svm1010:/var/tmp# dig @auth02.ns.esat.net。 target-express.com。 soa+短
root@svm1010:/var/tmp#

相關內容