盡管 IT 管理員盡心盡責(zé)地監(jiān)控設(shè)備账蓉、主機(jī)和網(wǎng)絡(luò)是否存在惡意活動(dòng)的跡象,卻往往出力不討好逾一。主機(jī)入侵檢測(cè)和端點(diǎn)保護(hù)對(duì)很多公司來說可能是“必需”的安全措施铸本,但如果要找出 RAT、rootkit遵堵、APT 或其他盤踞在網(wǎng)絡(luò)上的惡意軟件箱玷,就沒什么比監(jiān)控 DNS 流量更有效了。
為什么是 DNS 陌宿?
犯罪分子會(huì)抓住任何互聯(lián)網(wǎng)服務(wù)或協(xié)議的漏洞發(fā)動(dòng)攻擊锡足,這當(dāng)然也包括域名系統(tǒng)( DNS )。他們會(huì)注冊(cè)一次性域名用于垃圾郵件活動(dòng)和僵尸網(wǎng)絡(luò)管理壳坪,還會(huì)盜用域名進(jìn)行釣魚和惡意軟件下載舶得。他們會(huì)注入惡意查詢代碼以利用域名服務(wù)器的漏洞或擾亂域名解析過程。他們會(huì)注入偽造的響應(yīng)污染解析器緩存或強(qiáng)化 DDOS 攻擊弥虐。他們甚至將 DNS 用作數(shù)據(jù)滲漏或惡意軟件更新的隱蔽通道扩灯。
你可能沒辦法了解每一個(gè)新的 DNS 漏洞攻擊媚赖,但是可以使用防火墻霜瘪、網(wǎng)絡(luò)入侵監(jiān)測(cè)系統(tǒng)或域名解析器報(bào)告可疑的 DNS 行為跡象,作為主動(dòng)防范的措施惧磺。
要找什么
預(yù)示網(wǎng)絡(luò)中正出現(xiàn)可疑或惡意代碼的 DNS 組合查詢或流量特征颖对。例如:
1.來自偽造源地址的 DNS 查詢、或未授權(quán)使用且無出口過濾地址的 DNS 查詢磨隘,若同時(shí)觀察到異常大的 DNS 查詢量或使用 TCP 而非 UDP 進(jìn)行 DNS 查詢缤底,這可能表明網(wǎng)絡(luò)內(nèi)存在被感染的主機(jī),受到了 DDoS 攻擊番捂。
2.異常 DNS 查詢可能是針對(duì)域名服務(wù)器或解析器(根據(jù)目標(biāo) IP 地址確定)的漏洞攻擊的標(biāo)志个唧。與此同時(shí),這些查詢也可能表明網(wǎng)絡(luò)中有不正常運(yùn)行的設(shè)備设预。原因可能是惡意軟件或未能成功清除惡意軟件徙歼。
3.在很多情況下,DNS 查詢要求解析的域名如果是已知的惡意域名鳖枕,或具有域名生成算法( DGA )(與非法僵尸網(wǎng)絡(luò)有關(guān))常見特征的域名魄梯,或者向未授權(quán)使用的解析器發(fā)送的查詢,都是證明網(wǎng)絡(luò)中存在被感染主機(jī)的有力證據(jù)宾符。
4.DNS 響應(yīng)也能顯露可疑或惡意數(shù)據(jù)在網(wǎng)絡(luò)主機(jī)間傳播的跡象酿秸。例如,DNS 響應(yīng)的長度或組合特征可以暴露惡意或非法行為魏烫。例如辣苏,響應(yīng)消息異常巨大(放大攻擊)肝箱,或響應(yīng)消息的 Answer Section 或 Additional Section 非常可疑(緩存污染考润,隱蔽通道)狭园。
5.針對(duì)自身域名組合的 DNS 響應(yīng),如果解析至不同于你發(fā)布在授權(quán)區(qū)域中的 IP 地址糊治,或來自未授權(quán)區(qū)域主機(jī)的域名服務(wù)器的響應(yīng)唱矛,或解析為名稱錯(cuò)誤( NXDOMAIN )的對(duì)區(qū)域主機(jī)名的肯定響應(yīng),均表明域名或注冊(cè)賬號(hào)可能被劫持或 DNS 響應(yīng)被篡改井辜。
6.來自可疑 IP 地址的 DNS 響應(yīng)绎谦,例如來自分配給寬帶接入網(wǎng)絡(luò) IP 段的地址、非標(biāo)準(zhǔn)端口上出現(xiàn)的 DNS 流量粥脚,異常大量的解析至短生存時(shí)間( TTL )域名的響應(yīng)消息窃肠,或異常大量的包含“ name error ”( NXDOMAIN )的響應(yīng)消息,往往是主機(jī)被僵尸網(wǎng)絡(luò)控制刷允、運(yùn)行惡意軟件或被感染的表現(xiàn)冤留。
很多時(shí)候,各種形式的 DNS 監(jiān)控可以及時(shí)地暴露這些威脅树灶。下面筆者將會(huì)講述如何借助網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)纤怒、流量分析和日志數(shù)據(jù)在網(wǎng)絡(luò)防火墻上應(yīng)用這些機(jī)制以檢測(cè)此類威脅。
監(jiān)控DNS流量五大招
防火墻
我們從最常用的安全系統(tǒng)開始吧天通,那就是防火墻泊窘。所有的防火墻都允許自定義規(guī)則以防止 IP 地址欺騙。添加一條規(guī)則像寒,拒絕接收來自指定范圍段以外的 IP 地址的 DNS 查詢烘豹,從而避免域名解析器被 DDOS 攻擊用作開放的反射器。
接下來诺祸,啟動(dòng) DNS 流量檢測(cè)功能携悯,監(jiān)測(cè)是否存在可疑的字節(jié)模式或異常 DNS 流量,以阻止域名服務(wù)器軟件漏洞攻擊筷笨。具備本功能的常用防火墻的介紹資料在許多網(wǎng)站都可以找到(例如 Palo Alto憔鬼、思科、沃奇衛(wèi)士等)奥秆。Sonicwall 和 Palo Alto 還可以監(jiān)測(cè)并攔截特定的 DNS 隧道流量逊彭。
入侵檢測(cè)系統(tǒng)
無論你使用 Snort、Suricata 還是 OSSEC构订,都可以制定規(guī)則侮叮,要求系統(tǒng)對(duì)未授權(quán)客戶的 DNS 請(qǐng)求發(fā)送報(bào)告。你也可以制定規(guī)則來計(jì)數(shù)或報(bào)告 NXDomain 響應(yīng)悼瘾、包含較小 TTL 數(shù)值記錄的響應(yīng)囊榜、通過 TCP 發(fā)起的 DNS 查詢审胸、對(duì)非標(biāo)準(zhǔn)端口的 DNS 查詢和可疑的大規(guī)模 DNS 響應(yīng)等。DNS 查詢或響應(yīng)信息中的任何字段卸勺、任何數(shù)值基本上都“能檢測(cè)”砂沛。唯一能限制你的,就是你的想象力和對(duì) DNS 的熟悉程度曙求。防火墻的 IDS (入侵檢測(cè)系統(tǒng))對(duì)大多數(shù)常見檢測(cè)項(xiàng)目都提供了允許和拒絕兩種配置規(guī)則碍庵。
流量分析工具
Wireshark 和 Bro 的實(shí)際案例都表明,被動(dòng)流量分析對(duì)識(shí)別惡意軟件流量很有效果悟狱。捕獲并過濾客戶端與解析器之間的 DNS 數(shù)據(jù)静浴,保存為 PCAP (網(wǎng)絡(luò)封包)文件。創(chuàng)建腳本程序搜索這些網(wǎng)絡(luò)封包挤渐,以尋找你正在調(diào)查的某種可疑行為苹享。或使用 PacketQ (最初是 DNS2DB )對(duì)網(wǎng)絡(luò)封包直接進(jìn)行 SQL 查詢浴麻。
(記椎梦省:除了自己的本地解析器之外,禁止客戶使用任何其他解析器或非標(biāo)準(zhǔn)端口软免。)
DNS 被動(dòng)復(fù)制
該方法涉及對(duì)解析器使用傳感器以創(chuàng)建數(shù)據(jù)庫宫纬,使之包含通過給定解析器或解析器組進(jìn)行的所有 DNS 交易(查詢/響應(yīng))。在分析中包含 DNS 被動(dòng)數(shù)據(jù)對(duì)識(shí)別惡意軟件域名有著重要作用或杠,尤其適用于惡意軟件使用由算法生成的域名的情況哪怔。將 Suricata 用做 IDS (入侵檢測(cè)系統(tǒng))引擎的 Palo Alto 防火墻和安全管理系統(tǒng)宣蔚,正是結(jié)合使用被動(dòng) DNS 與 IPS (入侵防御系統(tǒng))以防御已知惡意域名的安全系統(tǒng)范例向抢。
解析器日志記錄
本地解析器的日志文件是調(diào)查 DNS 流量的最后一項(xiàng),也可能是最明顯的數(shù)據(jù)來源胚委。在開啟日志記錄的情況下挟鸠,你可以使用 Splunk 加 getwatchlist 或是 OSSEC 之類的工具收集 DNS 服務(wù)器的日志,并搜索已知惡意域名亩冬。
盡管本文提到了不少資料鏈接艘希、案例分析和實(shí)際例子,但也只是涉及了眾多監(jiān)控 DNS 流量方法中的九牛一毛硅急,疏漏在所難免覆享,要想全面快捷及時(shí)有效監(jiān)控 DNS 流量,不妨試試 DNS 服務(wù)器監(jiān)控营袜。
DNS 服務(wù)器監(jiān)控
應(yīng)用管理器可對(duì)域名系統(tǒng)( DNS )進(jìn)行全面深入的可用性和性能監(jiān)控撒顿,也可監(jiān)控 DNS 監(jiān)控器的個(gè)別屬性,比如響應(yīng)時(shí)間荚板、記錄類型凤壁、可用記錄吩屹、搜索字段、搜索值拧抖、搜索值狀態(tài)以及搜索時(shí)間等煤搜。
DNS 中被監(jiān)控的一些關(guān)鍵組件:
<table>
<thead>
<tr>
<th>響應(yīng)時(shí)間</th>
<th>給出 DNS 監(jiān)控器的響應(yīng)時(shí)間,以毫秒表示</th>
</tr>
</thead>
<tbody><tr>
<td>記錄類型</td>
<td>顯示記錄類型連接到 DNS 服務(wù)器的耗時(shí)</td>
</tr>
<tr>
<td>可用記錄</td>
<td>根據(jù)可用記錄類型輸出 True 或 False</td>
</tr>
<tr>
<td>搜索字段</td>
<td>顯示用于 DNS 服務(wù)器的字段類型</td>
</tr>
<tr>
<td>搜索值</td>
<td>顯示在DNS 服務(wù)器中執(zhí)行的搜索值</td>
</tr>
<tr>
<td>搜索值狀態(tài)</td>
<td>根據(jù)輸出信息顯示搜索值狀態(tài):Success (成功)或 Failed (失敗)</td>
</tr>
<tr>
<td>搜索時(shí)間</td>
<td>DNS 服務(wù)器中的搜索執(zhí)行時(shí)間</td>
</tr>
</tbody></table>
監(jiān)控可用性和響應(yīng)時(shí)間等性能統(tǒng)計(jì)數(shù)據(jù)唧席。這些數(shù)據(jù)可繪制成性能圖表和報(bào)表擦盾,即時(shí)可用,還可以按照可用性和完善性對(duì)報(bào)表進(jìn)行分組顯示淌哟。
若 DNS 服務(wù)器或系統(tǒng)內(nèi)任何特定屬性出現(xiàn)問題厌衙,會(huì)根據(jù)配置好的閾值生成通知和警告,并根據(jù)配置自動(dòng)執(zhí)行相關(guān)操作绞绒。目前婶希,國內(nèi)外 DNS 監(jiān)控工具主要有 New relic、appDynamic蓬衡、OneAPM喻杈。
(圖片來源:Cloud Test)
本文系 OneAPM 工程師編譯整理。Cloud Test 是基于云技術(shù)的實(shí)時(shí)監(jiān)控系統(tǒng)狰晚,能夠幫大家實(shí)時(shí)監(jiān)控網(wǎng)站性能筒饰,監(jiān)控CDN、DNS壁晒、API等第三方服務(wù)提供商的可用性瓷们,實(shí)現(xiàn)應(yīng)用性能及時(shí)監(jiān)測(cè)及時(shí)報(bào)警。想閱讀更多技術(shù)文章秒咐,請(qǐng)?jiān)L問 OneAPM 官方技術(shù)博客谬晕。
本文轉(zhuǎn)自 OneAPM 官方博客