監控 DNS 流量,預防安全隱患五大招!

2021-09-19 09:58:25 字數 2977 閱讀 9498

儘管 it 管理員盡心盡責地監控裝置、主機和網路是否存在惡意活動的跡象,卻往往出力不討好。主機入侵檢測和端點保護對很多公司來說可能是「必需」的安全措施,但如果要找出 rat、rootkit、apt 或其他盤踞在網路上的惡意軟體,就沒什麼比監控 dns 流量更有效了。

為什麼是 dns ?

你可能沒辦法了解每乙個新的 dns 漏洞攻擊,但是可以使用防火牆、網路入侵監測系統或網域名稱解析器報告可疑的 dns 行為跡象,作為主動防範的措施。

要找什麼

預示網路中正出現可疑或惡意**的 dns 組合查詢或流量特徵。例如:

1.來自偽造源位址的 dns 查詢、或未授權使用且無出口過濾位址的 dns 查詢,若同時觀察到異常大的 dns 查詢量或使用 tcp 而非 udp 進行 dns 查詢,這可能表明網路內存在被感染的主機,受到了 ddos 攻擊。

2.異常 dns 查詢可能是針對網域名稱伺服器或解析器(根據目標 ip 位址確定)的漏洞攻擊的標誌。與此同時,這些查詢也可能表明網路中有不正常執行的裝置。原因可能是惡意軟體或未能成功清除惡意軟體。

3.在很多情況下,dns 查詢要求解析的網域名稱如果是已知的惡意網域名稱,或具有網域名稱生成演算法( dga )(與非法殭屍網路有關)常見特徵的網域名稱,或者向未授權使用的解析器傳送的查詢,都是證明網路中存在被感染主機的有力證據。

4.dns 響應也能顯露可疑或惡意資料在網路主機間傳播的跡象。例如,dns 響應的長度或組合特徵可以暴露惡意或非法行為。例如,響應訊息異常巨大(放大攻擊),或響應訊息的 answer section 或 additional section 非常可疑(快取汙染,隱蔽通道)。

5.針對自身網域名稱組合的 dns 響應,如果解析至不同於你發布在授權區域中的 ip 位址,或來自未授權區域主機的網域名稱伺服器的響應,或解析為名稱錯誤( nxdomain )的對區域主機名的肯定響應,均表明網域名稱或註冊賬號可能被劫持或 dns 響應被篡改。

6.來自可疑 ip 位址的 dns 響應,例如來自分配給寬頻接入網路 ip 段的位址、非標準埠上出現的 dns 流量,異常大量的解析至短生存時間( ttl )網域名稱的響應訊息,或異常大量的包含「 name error 」( nxdomain )的響應訊息,往往是主機被殭屍網路控制、執行惡意軟體或被感染的表現。

很多時候,各種形式的 dns 監控可以及時地暴露這些威脅。下面筆者將會講述如何借助網路入侵檢測系統、流量分析和日誌資料在網路防火牆上應用這些機制以檢測此類威脅。

監控dns流量五大招

防火牆

我們從最常用的安全系統開始吧,那就是防火牆。所有的防火牆都允許自定義規則以防止 ip 位址欺騙。新增一條規則,拒絕接收來自指定範圍段以外的 ip 位址的 dns 查詢,從而避免網域名稱解析器被 ddos 攻擊用作開放的反射器。

接下來,啟動 dns 流量檢測功能,監測是否存在可疑的位元組模式或異常 dns 流量,以阻止網域名稱伺服器軟體漏洞攻擊。具備本功能的常用防火牆的介紹資料在許多**都可以找到(例如 palo alto、思科、沃奇衛士等)。sonicwall 和 palo alto 還可以監測並攔截特定的 dns 隧道流量。

入侵檢測系統

無論你使用 snort、suricata 還是 ossec,都可以制定規則,要求系統對未授權客戶的 dns 請求傳送報告。你也可以制定規則來計數或報告 nxdomain 響應、包含較小 ttl 數值記錄的響應、通過 tcp 發起的 dns 查詢、對非標準埠的 dns 查詢和可疑的大規模 dns 響應等。dns 查詢或響應資訊中的任何字段、任何數值基本上都「能檢測」。唯一能限制你的,就是你的想象力和對 dns 的熟悉程度。防火牆的 ids (入侵檢測系統)對大多數常見檢測專案都提供了允許和拒絕兩種配置規則。

流量分析工具

wireshark 和 bro 的實際案例都表明,被動流量分析對識別惡意軟體流量很有效果。捕獲並過濾客戶端與解析器之間的 dns 資料,儲存為 pcap (網路封包)檔案。建立指令碼程式搜尋這些網路封包,以尋找你正在調查的某種可疑行為。或使用 packetq (最初是 dns2db )對網路封包直接進行 sql 查詢。

(記住:除了自己的本地解析器之外,禁止客戶使用任何其他解析器或非標準埠。)

dns 被動複製

該方法涉及對解析器使用感測器以建立資料庫,使之包含通過給定解析器或解析器組進行的所有 dns 交易(查詢/響應)。在分析中包含 dns 被動資料對識別惡意軟體網域名稱有著重要作用,尤其適用於惡意軟體使用由演算法生成的網域名稱的情況。將 suricata 用做 ids (入侵檢測系統)引擎的 palo alto 防火牆和安全管理系統,正是結合使用被動 dns 與 ips (入侵防禦系統)以防禦已知惡意網域名稱的安全系統範例。

解析器日誌記錄

本地解析器的日誌檔案是調查 dns 流量的最後一項,也可能是最明顯的資料**。在開啟日誌記錄的情況下,你可以使用 splunk 加 getwatchlist 或是 ossec 之類的工具收集 dns 伺服器的日誌,並搜尋已知惡意網域名稱。

dns 伺服器監控

應用管理器可對網域名稱系統( dns )進行全面深入的可用性和效能監控,也可監控 dns 監控器的個別屬性,比如響應時間、記錄型別、可用記錄、搜尋字段、搜尋值、搜尋值狀態以及搜尋時間等。

dns 中被監控的一些關鍵元件:

響應時間

給出 dns 監控器的響應時間,以毫秒表示

記錄型別

顯示記錄型別連線到 dns 伺服器的耗時

可用記錄

根據可用記錄型別輸出 true 或 false

搜尋字段

顯示用於 dns 伺服器的字段型別

搜尋值顯示在dns 伺服器中執行的搜尋值

搜尋值狀態

根據輸出資訊顯示搜尋值狀態:success (成功)或 failed (失敗)

搜尋時間

dns 伺服器中的搜尋執行時間

監控可用性和響應時間等效能統計資料。這些資料可繪製成效能圖表和報表,即時可用,還可以按照可用性和完善性對報表進行分組顯示。

本文** oneapm 官方部落格

WEB安全隱患

org.apache.commons.lang.stringescapeutils 進行輸入框內容處理 stringescapeutils.escapesql str stringescapeutils.escapehtml str 1 跨站指令碼攻擊 cross site scripting 解決...

DNS協議工作過程 DNS的安全隱患

下面以網域名稱為m.xyz.com的主機欲通過另乙個主機的網域名稱y.abc.com的ip位址為例,簡述dns協議過程。主機m.xyz.com先向其本地伺服器dns.xyz.com進行遞迴查詢。本地網域名稱伺服器先查詢快取記憶體,如果不久前已經查詢過網域名稱y.abc.com的ip,那麼本地網域名稱...

docker remote api 的安全隱患

開啟docker的api,首先要知道docker的守護程序daemon,在下認為daemon作為client和service連線的乙個橋梁,負責代替將client的請求傳遞給service端。預設情況daemon只由root控制,但我們可以通過 h繫結到埠上,這樣通過埠訪問的方式執行命令。我用的是u...