ELK學習筆記之F5 DNS視覺化讓DNS運維更安全更高效-F5 ELK視覺化方案系列(3)

時光飛逝,逝者如斯發表於2019-03-20

 

0x00 概述

此文力求比較詳細的解釋DNS視覺化所能帶來的場景意義,無論是運維、還是DNS安全。建議仔細看完下圖之後的大篇文欄位落,希望能引發您的一些思考。

在“F5利用Elastic stack(ELK)進行應用資料探勘系列(2)-DNS”一文中闡述了通過DNS logging profile進行DNS視覺化的一種方法。DNS logging profile本身對解析和響應是發出的兩條日誌,因此在上篇文章中我們其實用了一些特殊的方法來處理一些我們想要的場景。所以這樣的處理方式可能不夠靈活,也不夠優雅。通過logstash根據Query ID進行日誌聚合後再處理也是一種思路,但是日誌聚合本身這個動作需要仔細處理以防止聚合出錯。同時即便使用了聚合,由於DNS logging profile輸出的內容是固定的,因此在靈活性上依舊差那麼一些。這篇文章則給大家提供了另一外一種形式的視覺化。從通用性角度來說,更建議使用本篇文章中的方法,不受BIGIP DNS(GTM)版本及模組license型別的影響。

 

0x01 方法思路

iRule通過HSL輸出必要的解析日誌資料至elk

 

0x02 Dashboard與可檢視分析

在整個dashboard中,劃分了這樣幾個功能區域:

  1. 最上面的解析來源地理熱力圖,可以清晰的看出哪些地方是熱點解析區域。熱點解析區域,結合DNS TTL參考,可以意味著這個地方業務量較高,也可能意味著這個地方的DNS快取存在問題。而同樣的,如果此地理熱力圖所顯示的業務真實熱門的地方反而解析最不熱門,也可能變相的說明該區域的DNS TTL存在問題。此外地理熱力圖也可以幫助揭示DNS攻擊的區域
  2. 上部分右側有總解析數,這裡的總解析數也可以理解為實際的響應數(不管response是什麼),所以與通過dns logging profile方式處理的不一樣,這裡沒有統計那些request進來但被丟棄的請求,當然一般這也不需要統計,往往在外圍DNS  DDOS/Protocol火牆上就被過濾了。 總解析數意味著你統計時間段內的解析數量,在進行月度等報告撰寫方面可以作為參考,是業務發展的一種指標。可以分不同域名(業務)來統計則會更有業務層面的價值
  3. 右側的熱點城市Top10,以及熱點LDNS Top10 用於揭示熱門的區域或LDNS IP。這是一個側面的業務訪問量大小的指標,當然也可以用於識別DNS DDOS。與第一條道理相同,過度熱門的LDNS、城市在排除業務正常的因素前提下可能是衡量TTL的一個指標,即TTL在該地區/LDNS的是否被惡意不遵守。而業務本來應該熱門的城市,但是解析卻很不熱門,那麼也值得懷疑該地區的相關LDNS是否存在TTL惡意改大的情況
  4. 在地理圖下的各線路實時解析統計可以幫助實時觀察每個NS上實時的解析請求統計,一般來說應該各個NS上的總解析數應該比較接近,過度偏離的話,可以進一步跟蹤該線路上的熱門城市/LDNS,這些熱門的LDNS裡或許存在NS快取不正確問題,或不能正確輪詢NS問題
  5. DNS成功率餅圖顯示成功與失敗解析佔比,成功是指的解析狀態為NOERROR的,其它狀態如NXDOMAIN,REFUSED等都歸為解析失敗。需要注意,解析失敗不代表業務解析出了問題,比如客戶端解析一個不存在的域名,那麼理所當然不能回覆為NOERROR。所以這裡可以理解為有效解析與無效解析的佔比。如果無效解析佔比很高,那麼說明你的環境下存在太多DNS探測、攻擊嘗試等。有必要對此開啟DNS firewall(方法找sales,哦不對找F5工程師)。同時這也是日常基線的一種衡量,如果突然無效佔比高了,你要考慮是否存在攻擊了,或者業務層面程式碼裡那裡寫錯了域名。。。
  6. 再接下來是所有線路的實時解析響應與智慧解析的曲線圖,這個可以幫助總覽所有NS下的合併統計,作為日常基線、月度等報表內容。也可以巨集觀的看出整體的DNS解析量狀態。過度的偏離都屬於異常情況。這裡的非智慧解析是指的所有非GTM智慧模組響應的解析,也就是說包含了非wideip的域名解析,wideip LB演算法失效導致的BIND解析。所以如果將dashboard切換為某個wideip的域名視角的話,則可以看出該域名智慧解析演算法失效的統計,如果你的演算法是topology演算法的話,那麼可能是你的topology兜底規則存在問題,使得解析進入了BIND。注意這裡我們沒有提最優解析(即解析的結果確實是規則設定的)統計,對於最優解析統計是一個比較複雜的工作,如果你確實有這麼方面需求,請在部署了這個標準的視覺化後聯絡sales(哦不,聯絡SE)來幫助你提出具體的解決方法,由於方法涉及的irule每個客戶都需要定製化,所以沒有包含在此通用的irule方法裡。
  7. 在實時智慧與總解析圖右側是 智慧與非智慧解析的佔比環圖,理論上智慧解析佔比越高越好,如果你的智慧解析佔比很低,你有必要將更多的域名部署為wideip解析(F5 DNS V12版本後可以對更多的解析型別使用wideip智慧解析配置,使用wideip的解析效能要遠高於非wideip解析),而對於依舊不能使用wideip進行解析配置的域名,則建議啟用DNS express來優化你的DNS架構及效能。非智慧解析佔比越高,意味著你的DNS系統遭受DNS DDOS攻擊時候系越脆弱。
  8. 再接下來的檢視是各條線路的實時智慧解析與非智慧解析構成圖,這個可以進一步的幫助從每條線路的視角來實時觀察分析各條線路上的智慧與非智慧解析,如果某一條線路的非智慧解析佔比突然變高,你需要考慮是否是該線路上的DNS裝置出現了攻擊嘗試的可能性,或者是否有因iquery跨線路問題導致的健康檢查不穩定性所導致的該線路上動態演算法失效的問題(結合具體實際判斷,一般如果你是F5廠商推薦的第二代DNS架構體系,理論上不用懷疑iquery問題,可以直接優先懷疑攻擊問題)
  9. 再接下來是各條線路的實時響應狀態構成,可以幫助判斷各條線路上有效解析與無效解析的分佈情況,如果REFUSED或者NXDOMAIN明顯多,有必要啟用DNSX或者使用DNS firewall進行DNS防護。而如果通過鑽取分析後,發現這些無效解析與某些固定的IP有關係,且這些固定的IP基本有效解析很少,則可以比較安全的封禁這些LDNS ip, 這些地址可能為攻擊地址。當然業務如果在程式裡呼叫了過時廢棄的域名或者寫錯了域名等也會導致這樣的結果,可以反饋給業務部門
  10. 接下來的一排三個餅圖,分別是熱門域名top10,解析型別佔比,響應狀態佔比。 熱門域名可以側面衡量業務熱門程度,特別是臨時活動類域名(結合該域名的地理熱力圖)。也是日常的一個基線,如果突然某個域名變得很熱門,拋開業務因素,可能需要懷疑攻擊,或者TTL問題。 DNS解析型別佔比,可以直觀看出目前有哪些解析型別請求過,對於明顯我們不存在的解析型別,或者某個我們並沒有配置的解析型別佔比很高,說明存在攻擊意圖,可以通過DNS firewall進行過濾。
  11. 最後兩行檢視主要是分NS線路的總解析數量以及各個響應狀態的總統計,可以作為月度報表,或者在鑽取顯示某個LDNS、城市、某個域名時的關聯統計值,方便進一步確認問題。更多有意義的用法,可能在實際使用中能發現更多。
  12. DDOS 攻擊,水滴攻擊 等場景分析請參考https://www.myf5.net/post/2504.htm
  13. 快取投毒攻擊的判斷,在正常情況下,一個城市或者DNS的解析是相對穩定的解析態勢。一般來說投毒著為了使得投毒效果最佳,投放的TTL都會很大,因此直接效果就是一個LDNS不再傳送請求過來。所以如果一個穩定解析的地區/LDNS的解析數量突然大幅度下降變得很少,可能就需要懷疑為快取投毒了(當然該LDNS出現故障也有可能,但是輔以人工解析驗證可以很快判定

 

 0x03 相關iRule及ELK設定

 請訪問https://github.com/myf5/f5-elk-demo/tree/master/DNS%E5%8F%AF%E8%A7%86%E5%8C%96

 

 0x04 DNS安全與視覺化的思考

如果上述的視覺化能給你帶來一些思考,將是本篇文章的最大價值。除此之外,你或許還可以把思維轉向到內網DNS,內網DNS(特別是針對辦公上網場景)的視覺化在DNS安全管控,病毒、APT攻擊,垃圾郵件等方面的洞察還是很有意義的。別忘記實際上F5 DNS也具備作為Cache DNS的功能,同時提供RPZ以及與LTM HTTP/Socks代理、Urlfiltering以及出向SSL視覺化的整體結合的公網訪問安全管控的方案。

下面這些文章和資訊可以提供一些更多的DNS安全方面思路:

》從救火到先知,DNS安全分析場景實踐談

》以及從網上節選的參考資訊來說明內網DNS安全視覺化的重要性(原文):

遠控木馬
識別訪問“遠控”木馬的網路流量,及時發現網路內可能存在的感染木馬的主機,阻斷其與“遠控”中心伺服器、下載伺服器的連線

勒索軟體
識別勒索軟體產生的網路流量,及時報警並阻斷勒索軟體的連線嘗試,避免可能產生的損失

APT攻擊
識別對APT攻擊相關網站的訪問,保證網路內部資料安全

DNS攻擊
識別網路外發起的DNS攻擊流量,及時阻斷,保證網路DNS伺服器和網路內主機的正常執行

敏感資料洩漏
發現可能存在的內部敏感資料洩漏,並追查資料流向

DGA
識別基於DGA技術生成的惡意域名,阻止未知病毒活動。

FFSN
識別Fast-Flux網路訪問

DNS流量攜帶惡意軟體
發現偽裝成DNS流量的網路互動行為

非DNS協議流量
發現在53埠的非DNS流量

挖礦機
識別BitCoin挖礦行為產生的網路流量,進而發現網路內可能存在的病毒感染

暗網流量
發現Tor網路流量,預警可能存在的不規範網路行為

無效域名訪問
識別對無效域名的訪問,以及背後可能存在的病毒感染或攻擊行為

僵木蠕
發現僵木蠕活動痕跡

勒索軟體
發現勒索軟體活動痕跡

網頁掛馬攻擊
使用者訪問被掛馬的網站,會導致在不知情的情況下自動下載並執行惡意程式碼。

=======

dns 流量包分析

僵木蠕捕獲
1. 在資料包bjzh-dns-1022.pcap中發現了疑似惡意軟體行為活動痕跡。淪陷主機訪問c2網址ipv6microsoft.dlmix.ourdvs.com

2. 在資料包bjzh-dns-0.pcap和bjzh-dns-2021.pcap中發現疑似遠控木馬活動痕跡,檔案雜湊為:B378307724c60db1b6ffea66a30fbc7c71a150e6f0b739de0c6c95e1d97ea5cc

惡意程式碼下載
1. 在資料包bjzh-dns-2077.pcap中發現下載惡意程式碼的痕跡,淪陷主機訪問的域名為:d.img001.com

2. 在資料包bjzh-dns-2076.pcap中發現下載惡意程式碼的痕跡,淪陷主機訪問的域名為:d1.kuai8.com

勒索軟體捕獲
1. 在資料包bjzh-dns-1008.pcap中發現勒索軟體活動痕跡,淪陷主機訪問域名:nsjicml.com,iwrmorzswyk.com

惡意網址訪問
1. 在資料包bjzh-dns-3018.pcap,bjzh-dns-3032.pcap中發現惡意網址訪問痕跡,淪陷主機訪問域名為:t.t70123.com

2. 在資料包bjzh-dns-2025.pcap中發現惡意網址訪問痕跡,淪陷主機訪問域名為:z1.zedo.com

 

參考

 

相關文章