技術上可行, 設定上去, 開啟防火牆 DNS Port 就好了.
但是, 不要輕忽 AD DNS 的負荷程度...
AD 平常就很忙了, 你再把他放給外面去查詢, 如果外面來查的流量太大, AD 忙不過來, 你的內網就會開始哇哇叫:
會有人開機無法登入, 有服務無法啟動, 讀寫檔案無故中斷, SQL Server 會卡頓或瞬斷, Exchange 信箱時好時壞...
如果有人用 DDoS 打你的 DNS port, 防火牆是擋不住的:
DNS安全驚爆危機
他可以將你的頻寬塞爆, 或者把你的 DNS 打掛掉; 最後逼使你不得不關閉 DNS Port, 你對外的 Public DNS 就消失了...
有防火牆業者建議透過這些手段來預防 DNS 攻擊:
10 Simple Ways to Mitigate DNS Based DDoS Attacks
看完你會發現: 有很多手段在防火牆上做不到, 所以
你搞不好還要另外買一台專門用來對抗 DDoS 的設備:
為企業資料中心提供的進階 DDoS 保護
(而且價格會嚇死你....)
然後, 通常我們會把 Public DNS 的 Recursion qeury 關掉, 以避免遭到某些特定手法的 DDoS 攻擊; 但是公司內網的 Client, 則需要有 Recursion qeury 才能查到其他網站/服務的 DNS 內容, 所以從資安觀點, 你需要這樣設定:
外部 DNS: 禁止 Recursion qeury
內部 DNS: 開放 Recursion qeury
這種設定 Linux 可以辦到, 分開處理;
但是, 微軟的 DNS 只有這樣一個設定:
請問您, 如果開放 Public DNS 同時也要服務內網查詢,
這邊應該要勾起來? 還是不要勾起來?
這是我自己某個網域的 Public DNS 最近一周流量:
每分鐘最大查詢量: 444 次 = 每秒 7.4 次.
你可以用這個數據測試看看: 對著一台微軟 AD DNS 伺服器, 持續打出每秒 7 次的查詢, 4 小時之後, 看看你內網的各項服務是否還安然健在?.....
可行!但是不可靠!