本次主要說明的是要改善本市所屬連線學校DNS主機及DNS使用架構上的調整, 茲說明如下:
本次DNS架構變更, 主要有2個重點:

1. end user使用市網DNS服務者, 改用 163.28.136.21 - 163.28.136.24 等4台DNS主機, 以分散原有主機的負擔。而原有市網的五台DNS主機, 就留給各校DNS及其他服務主機查詢使用。
2. 改善暨有校內DNS主機安全架構

第1項, 我們希望全市調整的架構如下:

(1)24班以下學校, 考量學校資源與管理人力, 仍維持原有直接使用市網DNS主機之架構; 但更變暨有DNS主機查詢之IP, 改設定至 163.28.136.21 - 163.28.136.24 這4台, 以分散平日DNS主機尖鋒之流量, 增加查詢的效率。
(2)24班以上學校, 考量校內設備數量及使用量, 建議於校內架設一台caching only DNS主機, 以增加查詢的效率。
   相關的架設方式(快速建置方式)請參考 http://ftp.kh.edu.tw/APPL/DNS/cachingDNS/Linux_cachingDNS_Server.pdf
   注意: 建置完成後, 校內的各電腦設備, DNS主機指向, 第一台請指向校內那台caching only DNS主機, 第二台再指向163.28.136.21 - 163.28.136.24 這4台其中一台

高雄市TANet連線單位 DNS服務清單
Server專用主 機
User專用主機
dns.kh.edu.tw
163.28.136.14
uns1.kh.edu.tw
163.28.136.21
2001:288:8201:1::14
2001:288:8201:1::21
dns1.kh.edu.tw
163.28.136.2
uns2.kh.edu.tw
163.28.136.22
2001:288:8201:1::2
2001:288:8201:1::22
dns2.kh.edu.tw
163.28.136.10
uns3.kh.edu.tw
163.28.136.23
2001:288:8201:1::10
2001:288:8201:1::23
ns.ks.edu.tw
163.16.1.12
uns4.ks.edu.tw
163.28.136.24
2001:288:8401::2
2001:288:8201:1::24
dwb.ks.edu.tw
163.16.1.23



2001:288:8401::3
1.24班以下學校, 請使用user專用DNS主機
2.24班以上學校, 請於校內另架一台caching dns主機使用
3.各校校內各項服務主機, 請使用Server專用DNS主機

  
第2項, DNS主機安全說明如下:

目前常發生的攻擊事件,為攻擊者利用已被控制的殭屍電腦群向開放遞迴查詢(recursive query)的DNS伺服器發出大量的遞迴查詢(recursive query),DNS伺服器必須轉向RootDNS及其它DNS Server查詢後,向已被控制的偽造來源主機回傳domain查詢資料。
透過不斷的大量遞迴查詢,向目標DNS主機發送大量UDP封包,藉此阻斷正常網路,若接受遞迴查詢的DNS Server有設定Forward到資教中心的DNS Server,會演變成攻擊資教中心DNS的狀況。
以市網DNS主機為例, 在尖鋒時間內, DNS主機的狀態如下:
# rndc status
version: 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.1 (None of your business)
CPUs found: 4
worker threads: 4
number of zones: 2483
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 1
query logging is ON
recursive clients: 2389/2400/2500
tcp clients: 75/100
server is up and running

很明顯在recursive clients的pool, 已經從1000擴充到2500個client , 但尖鋒期間, 使用pool仍高達2千3百多個clients同時不斷的查詢, 這很明顯是被攻擊的狀況。
當我們把幾個查詢的大戶先暫時凍結住, 不給查詢的狀態下, 再查詢DNS主機的狀態:
# rndc status
version: 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.1 (None of your business)
CPUs found: 4
worker threads: 4
number of zones: 2483
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 1
query logging is ON
recursive clients: 124/2400/2500
tcp clients: 75/100
server is up and running

很明顯, 就恢復到正常的服務水準, 在尖鋒期間, 使用recursive pool大概只到100-300個client之間。

因此,改善各校暨有之DNS主機安全架構,是急迫且勢在必行的事項。
我們建議避免此種攻擊手法的方法為:將DNS伺服器的遞迴查詢(recursive query),限制在僅提供校內電腦ip可以查詢、不開放其它外部ip查詢。

怎麼測試, 學校的DNS主機, 有沒有正確地將遞迴查詢限制在校內網段?
很簡單, 只在在非校內的網段, 去查詢貴校DNS主機, 查詢非學校主機的正解; 若解得出來, 就表示您未將對外的遞迴查詢關閉。
您可以回到家裡, 使用家中的網路, 若使用您手機上的3G或4G網路,
對貴校DNS主機IP查詢www.hinet.net, 若有回應, 表示貴校的遞迴查詢是對外開放的!
(1)nslookup  www.hinet.net  貴校DNS主機IP
(2)dig  @貴校DNS主機IP  www.hinet.net a

接下來, 我們來探討一下, 常用的OS平台上的DNS主機服務:
(1)windows Server: 依官方網站查詢的結果, 一台windows server的DNS服務, 僅能提供一種查詢模式, 無法同時提供2種查詢模式。
   因此, 校內的windows server DNS主機, 只能關閉遞迴查詢(recursive query), 當成貴校DNS master主機或slave 主機, 但校內無法遞迴查詢。
   要不然, 就開啟遞迴查詢, 只供校內做遞迴查詢, 而關閉對校外查詢服務(cahing only DNS服務)。
   那如果只做校內查詢(遞迴查詢), 那原有的master或slave domain服務, 要怎麼辦?
   方法一:再生一台windows DNS主機來處理。
   方法二:申請DNS代管服務。
   考量學校的資源與經費, 當然是建議做DNS代管。
   有關windows DNS服務相關變更架構建置說明文件, 請參考: http://ftp.kh.edu.tw/APPL/DNS/cachingDNS/Windows_cachingDNS_Server.pdf

(2)Linux Server: 有多數的Unix like系統, DNS幾乎都是由bind建置而成, 在新版本的bind程式, 就支援以view的方式, 同時支援遞迴與非遞迴查詢的服務。
   因此, 學校暨有的Linux DNS主機, 可昇級至新版本bind套件, 利用view的方式, 將校內網段開啟遞迴查詢; 而校外網段(internet)則關閉遞迴查詢, 只提供學校domain的dns查詢服務。
   若貴校主機的Linux版本太過老舊, 建議昇級至CentOS6或CentOS7版本, 再進行DNS主機之架設。
   若貴校主機太過老舊, 則建議在貴校平常24小時開機的工作機上, 架虛擬機進行服務即可。
   相關的建置說明文件:
   CentOS6請參考: http: //kiecc.kh.edu.tw/khdoc/103/103研習講義/03.DNS/03.DNS/12.DNS_Server安裝 (CentOS6).pdf
   CentOS7請參考: http: //kiecc.kh.edu.tw/khdoc/103/103研習講義/03.DNS/03.DNS/12.DNS_Server安裝 (CentOS7).pdf,
   若欲以虛擬機架DNS主機, 請下載中心已預建好的虛擬機器檔(http://ftp.kh.edu.tw/APPL/DNS/cachingDNS/cent7_dns.ova)後, 將虛擬機建置起來, 再參考http: //kiecc.kh.edu.tw/khdoc/103/103研習講義/03.DNS/03.DNS/12.DNS_Server安裝 (CentOS7).pdf 安裝。
   若不清楚虛擬機如何架設, 則請參考: http://ftp.kh.edu.tw/APPL/DNS/cachingDNS/Linux_cachingDNS_Server.pdf

若學校沒有24小時開機的工作機怎麼辦?
學校總有汰換下來的電腦吧! 也有固定的電腦維護費用吧! 將舊電腦拿來換主機板、CPU(i5以上即可)、RAM(8~16G), 再加一顆SATA3的HDD(1~2T), 再把power換掉, 這樣就有一台可跑VM的工作機了吧!

目前市網連線單位, 疑似未限制DNS遞迴查詢的DNS主機名單, 請參考這裡, 並請名單中的學校, 確實檢測與改善。