%20%E5%B0%8E%E8%87%B4%E7%B6%81%E5%AE%9A%E5%B4%A9%E6%BD%B0%EF%BC%9F.png)
大約每隔兩天,我的伺服器就會完全停止回應其服務。我可以 ping 通它,但無法使用 SSH,因此我必須進入主機的控制面板並重置它。
當它恢復時, /var/log/messages 中崩潰前的最後一個日誌條目是以下內容的變體:
命名[3493]:意外的RCODE(SERVFAIL)解析「3.39.148.159.in-addr.arpa/PTR/IN」:193.0.0.193#53
這可能是 DoS 攻擊的一部分嗎?我還沒有在此伺服器上配置綁定,並且認為我不需要(儘管這可能很天真)。
答案1
首先問一個問題:它真的需要外界可以存取的綁定嗎?如果沒有,只需阻止 DNS 連接埠上的傳入流量即可。
但是,是的,這間接地是「攻擊」的一部分,因為您的郵件伺服器可能試圖將「使用者未找到」郵件退回到偽造的伺服器。
您的機器上有 spamassassin 運行嗎?如果您受到垃圾郵件浪潮的攻擊,並且 perl spamassassin 正在嘗試處理所有郵件,那麼它可能會因配置不當而導致您的系統癱瘓。
答案2
這個系統日誌條目很可能是您的機器試圖尋找剛剛連接到它的主機的 IP。 193.0.0.193
是 RIPE 的 DNS 伺服器之一,它對in-addr.arpa
用於從 IP 對應到主機名稱的樹的一部分具有權威性。
這是極不可能這些 DNS 查詢導致您的電腦崩潰。更有可能的是,任何入站流量間接導致 DNS 查找所造成的資源消耗。
對於您來說,查看您的伺服器向外界提供哪些入站服務,並決定是否需要對每個入站連線即時執行 DNS 查找,這將是最有用的。
例如,如果這是一個 Web 伺服器,則不要在日誌檔案中儲存主機名,而只儲存遠端 IP 位址。然後稍後(如果需要)離線新增主機名稱。
答案3
綁定什麼版本?另外,是否可以執行伺服器的 tcpdump 來捕獲傳入的查詢?如果bind 殺死了整個機器,我會感到驚訝,那麼日誌中上述指定條目之前有什麼有趣的東西嗎?