Linux

如何禁用從 Internet 訪問 DNS 伺服器,保持 Intranet 完好無損?使用 iptables

  • March 7, 2013

我必須管理一台啟用了 Open DNS 服務的伺服器。最近,它被未知的網際網路攻擊者嚴重濫用於 ddos​​ dns 放大攻擊。某些 localhost 程序和 Intranet 客戶端以某種方式使用此 DNS 服務,我不完全理解,這就是為什麼我害怕對 DNS 服務本身進行任何重新配置​​。但是我認為如果我拒絕來自外部網際網路的所有 DNS 請求,它可能會解決我的問題。

我的問題是:

1)如何使用 iptables 拒絕來自外部 Internet 的所有 DNS 請求,保持 localhost 和 Intranet(IP:10.0.0.X 和 10.0.1.X)完好無損?

  1. 不會損害內網 DNS 服務的可用性嗎?

  2. 它不會損害伺服器上其他網際網路服務(web+mail+db)的可用性嗎?

我們網站目前使用的所有域名均由另一家公司在其伺服器上管理,據我所知,外部網際網路的任何人都不需要訪問我們的 DNS 服務。

謝謝你。

從外部刪除訪問的最簡單方法是阻止對 UDP(可能還有 TCP)埠 53 的所有外部訪問,這將阻止它向外提供請求,但保留到埠 53 的傳出流量打開,這樣它就可以發出遞歸請求為您的內部伺服器。

如果您要向 Internet 提供遞歸名稱伺服器,建議您對伺服器的安全性和配置有很多了解。否則,將其留給專業人士或託管服務。

你不需要 Netfilter/iptables。所有遞歸名稱伺服器軟體都允許您只回答本地網路。假設您的網路是 10.1.0.0/16,未綁定:

access-control: 0.0.0.0/0 refuse
access-control: 10.1.0.0/16 allow

使用綁定:

acl mynet {
   10.1.0.0/16;
};
allow-recursion   { mynet; };
allow-query-cache { mynet; };

引用自:https://serverfault.com/questions/484427