■河南 郭建偉
在眾多的惡意軟件中,木馬具有隱蔽性強,危害大等特點,成為防火墻重點防御的目標。當然,木馬當然不甘于束手就擒,會使出各種手段對自身進行偽裝。
作為下一代防火墻,FirePower 防火墻擁有更加強大的功能,可以輕松應對日益復雜的安全形式。利用其提供的DNS 安全管理功能,可以攔截并定位木馬所在的位置,從源頭上切斷其傳播途徑,讓其徹底現出原形。
當服務器被植入木馬后,木馬就會開啟后門,竊取該機中重要數據,并將其發送給遠方的黑客所控制的主機上。當木馬在發送數據時,必然會產生一定的流量,這就需要進行DNS 解析。這是因為對于黑客主機來說,其IP 地址是經常變動的。
因此,黑客在編寫木馬時,一般都是寫入目標DNS地址,而不是IP 地址,這樣當木馬上線后,就會解析預設的DNS 名稱的IP 地址,得到黑客主機的IP 后,木馬才可以和黑客進行聯系。
利用FirePower 防火墻提供的DNS SinkHole 功能,可以對木馬的DNS 解析行為進行攔截,使其無法和黑客進行聯絡,并找到被木馬控制的內網主機,將木馬徹底清除。DNS SinkHole 允許FirePower 防火墻針對已知的惡意域名回應DNS 請求,將其解析到一個預先定義好的IP 上。
即針對木馬解析的DNS域名,在防火墻上創建一個虛擬的IP,使其和木馬使用的DNS 域名綁定起來。讓木馬誤以為解析到了真實的IP,木馬就會和該IP 建立連接并發送流量,這樣防火墻就可以據此對該木馬進行分析和處理,找到被其控制的內網主機,并將該木馬徹底清除。
例 如 在網絡中發現某臺主機被木馬控制,其頻繁的對“www.eyidns.con”域名其進行解析,可以確定這是一個惡意的DNS。使用FirePower 提供的Sinkhole 功能,將其映射到“1.1.1.1”的IP 上,并定位該木馬木馬所在的主機。
對于硬件FirePower 設備來說,也可以激活自身的設備管理功能,對其進行圖形化管理。但是,這種管理方式同FMC 統一管理相比存在很多不足,FMC 可以在各個設備上統一監控和配置,統一收集各種信息,FMC 可以對于內網的設備進行滲透測試,實現高級的自動化管理。
在內網中的客戶機上打開瀏覽器,訪問“https://x.x.x.x”地址,“x.x.x.x”為FMC 主機地址。在FMC 登錄界面中輸入賬戶名和密碼,進入FMC 網管中心界面。
在其工具欄上依次點擊“Objects”→“Object Management”項,在左側選擇“Security Intelligence”→“Sinkhole”項,在右側點擊“Add Sinkhole”按鈕,在打開窗口中輸入其名稱(例如“Sinkhole1”),在“IPv4 Address”欄中輸入合適的IP,例如“1.1.1.1”。
注意,在“IPv6”欄中必須輸入某個地址(例如“2001:1::1”),該地址keyi隨意設置,但是不能保持空白。在“Type”列表中選擇器類型(例如“Phishing”等),點擊“Save”按鈕保存該項目。
使用記事本創建名為“sinkhole.txt”的文件,在其中輸入惡意DNS 地址,可以輸入多個惡意DNS 信息。當木馬對這些惡意DNS 地址進行解析時,就會被映射到防火墻的預設的IP 上。在工具欄上選擇“Objects”→“Object Management”項,在左側選擇“Security Intelligence”→“DNS Lists and Feeds”項,在右側點擊“Add DNS Lists and Feeds”按鈕,在打開窗口中的“Name”欄中輸入“Sinkholelist”,在“Type”列表中選擇“List”項,點擊“Browse”按鈕,選擇上述“sinkhole.txt”文件,點擊“Upload”按鈕將加載該文件,點擊“Save”按鈕保存配置。
在工具欄上依次選擇“Policies”→“Access Control”→“DNS”項,在工具欄上選擇“Policies”→“Access Control”→“DNS”項,在右側點擊“Add DNS Policy”按鈕,在策略窗口中顯示默認的針對DNS 的全局黑白名單項目,點擊“Add DNS Rule”按鈕,在新建規則窗口中輸入其名稱(例如“Sinkholerule”),在“Action”列表中顯示可用的動作,包括“Whitelist”(允許使用),“Monitor”(僅僅對DNS 訪問訪問進行監控并記錄日志),“Domain Not Found”(告訴客戶目標DNS未找到),“Drop”(丟棄相關數據包),“Sinkhole”(對付惡意DNS)等。這里選擇“Sinkhole”項,表示管控惡意DNS 解析。
在“Sinkhole”列表中選擇上述“Sinkholelist”列表項目。在“Zones”面板左側選擇“Inside”項,點擊“Add to Source”按鈕,將其添加到右側列表中。打開“Networks”面板,在其中可以選擇預設的網絡項目,也可以點擊“+”按鈕,來自定義網絡項目。在打開窗口中輸入合適的名稱(例如“Winsrv”),輸入其描述信息,在“Network”欄中輸入合適的網段,例如“10.1.1.100/32”等。點擊“Save”按鈕保存該網絡信息。選擇該網段項目,點擊“Add to Source”按鈕,將其添加到右側列表中。
打開“DNS”面板,在左側選擇所有的項目,注意需要排除“Global-Whitelistf or-DNS”,“Global-Blacklist-for-DNS”等全局DNS 黑白名單項目,以及自定義的DNS 黑白名單等正常的項目。點擊“Add to Rule”按鈕,將其添加到右側列表中。在規則列表窗口頂部點擊“Save”按鈕,保存該規則。之后選擇工具欄上的“Depoly”按鈕,將其推送到FirePower 防火墻進行部署。
這樣,當木馬試圖解析惡意DNS 域名時,是可以順利進行的,只是會得到防火墻上預設的虛擬的IP。之后木馬就會將竊取的信息發送到該地址上,FirePower 防火墻就可以毫不費力的得到這些流量,FirePower 利用內置的IPS 模塊,可以對其進行深入分析,選擇工具欄上的“Anal ysis”→“Connections”→“Secu rity Intelligence Events”項,在日志列表中可以看到和Sinkhole 相關的信息,可以清晰的查看究竟哪些主機被木馬控制。之后在這些主機上進行分析,進而找到并清除木馬。
利用FirePower 提供的DNS 黑白名單功能,可以有效保護DNS 安全。先使用記事本創建名為“DNSPermit.txt”的文件,其中包含允許放行的DNS 地址列表。創建名為“DNSBlock.txt”的文件,其中包含所有禁用的域名地址。創建名為“DNSpermitk.txt”的文件,其中包含所有允許使用的域名地址。
在FMC 管理界面工具欄上選擇“Objects”→“Object Management”項,在左 側 選 擇“Security Intelligence”→“DNS Lists and Feeds”項,在右側點擊“Add DNS Lists and Feeds”按鈕,在打開窗口中的“Name”欄中輸入“DNSBlock”,在“Type”列表中選擇“List”項,點擊“Browse”按鈕,選擇上述“DNSBlock.txt”文件。點擊“Upload”按鈕將加載該文件,點擊“Save”按鈕保存。
按照同樣方法,創建名為“DNSPermit”的列表項目,并加載“DNSPermit.txt”的文件。在工具欄上選擇“Policies”→“Access Control”→“DNS”項,在右側點擊“Add DNS Policy”按鈕,在策略窗口右側點擊“Add DNS Rule”按鈕,在新建規則窗口中輸入其名稱(例如“RulesBlock”),在“Action”列表中選擇“Domain Not Found”項,表示對客戶發送沒有找到對應DNS 的信息。
注意,該信息不是由Internet 上的服務器發送的,而是由FirePower 防火墻直接回饋給客戶的。在“Zones”面板左側選擇“Inside”項,點擊“Add to Source”按鈕,將其添加到右側列表中。打開“Networks”面板,在其中點擊“+”按鈕,可以自定義網絡項目。在打開窗口中輸入合適的名稱(例如“Win7PC”),輸入其描述信息,在“Network”欄中輸入合適的網段,例如“10.1.1.200/32”等。點擊“Save”按鈕保存該網絡信息。選擇該網段項目,點擊“Add to Source”按鈕,將其添加到右側列表中。
打開“DNS”面板,在左側選擇上述名為“DNSBlock”的列表項,點擊“Add to Rule”按鈕,將其添加到到右側列表中。這樣,當內部指定網段的主機在訪問黑名單中的DNS 地址時,就會被防火墻攔截。
在規則列表窗口頂部點擊“Save”按鈕,保存該規則。之后選擇工具欄上的“Policies”→“Access Control”→“Access Control”項,在目標訪問控制策略右側的編輯按鈕,其編輯窗口中打開“Security Intelligence”面板,在“DNS Policy”列表中選擇上述“RulesBlock”規則項。點擊“Save”按鈕,加載到訪問控制策略中。
對于FirePower 防火墻來說,訪問控制策略才是最核心的控制機制。點擊工具欄上的“Depoly”按鈕,將其推送到FirePower 防火墻進行部署。這樣,當指定網段的主機在訪問DNS 黑名單中的地址時,就會被防火墻攔截。按照同樣方法,可以為FirePower 防火墻配置DNS白名單功能,所不同的是,在創建DNS 規則時需要選擇“Whitelist”項目,其余的設置與上述基本相同。
注意,如果白名單中存在和黑名單相同的DNS 域名,那么防火墻照樣對其進行攔截。