bind9 奇怪的日誌,其中很多
這是我的綁定日誌,這些請求不會停止發送並且命名使用大量 cpu
27-Sep-2018 21:34:19.693 queries: info: client 217.107.34.85#25183 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:19.738 queries: info: client 109.148.129.56#15451 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:19.796 queries: info: client 217.107.34.85#22807 (isc.org): query: isc.org IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:19.805 queries: info: client 74.99.171.161#80 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.242 queries: info: client 142.112.165.146#80 (eftps.gov): query: eftps.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.243 queries: info: client 122.114.207.223#80 (aids.gov): query: aids.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.302 queries: info: client 217.107.34.85#36681 (isc.org): query: isc.org IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.368 queries: info: client 92.11.206.190#80 (aids.gov): query: aids.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.426 queries: info: client 74.99.171.161#80 (eftps.gov): query: eftps.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.438 queries: info: client 217.107.34.85#51622 (aids.gov): query: aids.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.570 queries: info: client 70.29.66.36#47689 (eftps.gov): query: eftps.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.794 queries: info: client 109.148.129.56#37777 (eftps.gov): query: eftps.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.918 queries: info: client 74.99.171.161#80 (isc.org): query: isc.org IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.941 queries: info: client 217.107.34.85#16138 (aids.gov): query: aids.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:20.961 queries: info: client 74.99.171.161#80 (isc.org): query: isc.org IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.145 queries: info: client 74.99.171.161#80 (aids.gov): query: aids.gov IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.156 queries: info: client 92.11.206.190#80 (isc.org): query: isc.org IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.381 queries: info: client 68.84.209.198#80 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.382 queries: info: client 68.84.209.198#80 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.417 queries: info: client 74.99.171.161#80 (isc.org): query: isc.org IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.421 queries: info: client 68.84.209.198#80 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200) 27-Sep-2018 21:34:21.513 queries: info: client 68.84.209.198#80 (jk1l.ru): query: jk1l.ru IN ANY +E (192.168.0.200)
我應該擔心嗎?
正如@HBruijn 所說,它實際上用於 dns 反射和放大攻擊。解決方案是通過設置 acls 來限制對內部客戶端的遞歸。
首先,關於日誌條目,只需指出查詢日誌中的值的含義可能會很有趣:
查詢日誌條目首先以@0x 格式報告客戶端對象標識符。接下來,它會報告客戶端的 IP 地址和埠號,以及查詢名稱、類和類型。接下來,它報告是否設置了 Recursion Desired 標誌(+ 如果設置,- 如果未設置),如果查詢已簽名 (S),EDNS 與 EDNS 版本號 (E(#)) 一起使用,如果 TCP已使用 (T),如果設置了 DO (DNSSEC Ok) (D),如果設置了 CD(禁用檢查)(C),如果收到了有效的 DNS 伺服器 COOKIE (V),或者如果 DNS COOKIE 選項沒有存在有效的伺服器 COOKIE (K)。在此之後,報告發送查詢的目標地址。
查看您的一個條目(基本上都一樣):
27-Sep-2018 21:34:19.796 queries: info: client 217.107.34.85#22807 (isc.org): query: isc.org IN ANY +E (192.168.0.200)
我們看到
+
(recursion desired) 和E
(EDNS) 並且 qtype 是ANY
.同樣相關的是
T
(TCP)的缺失。這是一個組合,當選擇一個他們知道有大量記錄的域名時,基本上優化了通過 UDP 發送回盡可能大的響應。(遞歸能夠使用任何選擇的域名,EDNS 允許通過 UDP 提供 >512 字節的答案(容易被欺騙)。)
這或多或少是反射放大 DDoS 攻擊的理想選擇,其中攻擊者使用受害者的 IP 地址作為源地址發送大量微小查詢,讓您的伺服器將生成的大量響應發送到受害者的地址。
要解決這個問題,顯而易見的事情是:
- 如果有的話,您可能沒有充分的理由允許向公眾遞歸。你會想要禁用它!請參閱
allow-recursion
以將遞歸訪問限制為僅對您的預期客戶端或recursion
完全禁用遞歸。- BIND 還內置了響應速率限制,它允許您對來自允許的客戶端的相同查詢進行速率限制(參見前面的要點)。強制超過您配置的門檻值的客戶端切換到 TCP(並非易受欺騙)以便實際獲得實際答案或開始完全丟棄響應。
從更大的角度來看,ISP 應該過濾其客戶的源 IP(參見BCP38),以限制任何人聲稱自己是任何 IP 地址的可能性(就像在這種類型的欺騙中所做的那樣)。