■
為了安全起見,企業(yè)網(wǎng)一般會由防火墻分為多個(gè)不同的區(qū)域,如UNTRUST區(qū)域、TRUST區(qū)域、DMZ區(qū)域等等,這些區(qū)域之間存在一定的隔離關(guān)系,由防火墻策略進(jìn)行靈活控制。DMZ區(qū)是位于企業(yè)內(nèi)部網(wǎng)絡(luò)和和外部網(wǎng)絡(luò)之間的一個(gè)獨(dú)立的區(qū)域,它能夠解決企業(yè)網(wǎng)外部用戶不能訪問內(nèi)部網(wǎng)絡(luò)服務(wù)器的問題。在DMZ區(qū)域內(nèi)可以放置一些需要公開的服務(wù)器及設(shè)備,如Web服務(wù)器、論壇及DNS服務(wù)器等,筆者所在單位也不例外,DMZ區(qū)部署有多臺對外提供服務(wù)的服務(wù)器,并由防火墻控制從各個(gè)區(qū)域到DMZ區(qū)域的訪問請求。
本單位DMZ區(qū)有一臺基于Linux操作系統(tǒng)的DNS服務(wù)器,這臺服務(wù)器配置有靜態(tài)公網(wǎng)IP,除了承擔(dān)本單位自身域名的解析工作外,還為內(nèi)網(wǎng)用戶上網(wǎng)提供域名解析的轉(zhuǎn)發(fā)服務(wù),即將Internet上的域名解析請求轉(zhuǎn)發(fā)到運(yùn)營商處的DNS服務(wù)器(202.99.96.68)。
某天下午13:30左右,有用戶反映常用的幾個(gè)網(wǎng)站訪問異常,在瀏覽器中輸入對應(yīng)的URL,卻跳轉(zhuǎn)到“您訪問的域名有誤或者網(wǎng)頁不存在”的頁面,或者一級頁面可以打開,但是二級頁面就打不開;過幾分鐘后,又恢復(fù)正常,如此反反復(fù)復(fù),折騰得用戶怨聲載道。但是除了這幾個(gè)常用網(wǎng)站外,其他網(wǎng)站訪問沒有發(fā)現(xiàn)任何異常。
筆者接到問題后,馬上意識到是域名解析出現(xiàn)了問題。按照故障處理流程,先在cmd命令行中使用“nslookup”命令解析相關(guān)網(wǎng)站的域名,發(fā)現(xiàn)這幾個(gè)異常網(wǎng)站的域名解析都指向了同一個(gè)公網(wǎng)IP地址;但是使用指定DNS服務(wù)器命令“nslookup www.XXX.com 202.99.96.68”進(jìn)行對應(yīng)解析,得到的IP地址卻完全不同,這說明運(yùn)營商DNS服務(wù)器沒有問題,問題肯定出在單位的DNS服務(wù)器上!
筆者立即使用SSH遠(yuǎn)程登錄到單位的DNS服務(wù)器上,仔細(xì)核查DNS服務(wù)的相關(guān)配置文件,果不其然,發(fā)現(xiàn)DNS配置文件“named.conf”設(shè)置的轉(zhuǎn)發(fā)器“forwarders 202.99.96.68”變成了一個(gè)陌生的IP地址,看來系統(tǒng)肯定被入侵過!筆者利用“l(fā)l“命令看到配置文件“named.conf”就在15分鐘前被修改過,而那時(shí)正是網(wǎng)站訪問不正常的時(shí)候!
既然我們已經(jīng)找到故障的原因,那么處理起來就簡單了:把轉(zhuǎn)發(fā)器指向的IP重新修改為202.99.96.68,然后重啟DNS服務(wù),應(yīng)該就能恢復(fù)正常了。事實(shí)上,我們這樣做了之后,用戶上網(wǎng)確實(shí)恢復(fù)了正常。但是我們必須要搞清楚服務(wù)器是如何被攻擊的?攻擊手段是什么?這樣才能有針對性地做一些防護(hù)措施,保障DNS服務(wù)器的安全。
任何攻擊手段都會在系統(tǒng)內(nèi)留下些許的痕跡,筆者相信這次攻擊也不例外。筆者在DNS服務(wù)器控制臺輸入“history”命令,查看最近的控制臺命令記錄,果然發(fā)現(xiàn)有非法通過VI命令修改named.conf配置文件的命令,這說明用戶已經(jīng)取得了root權(quán)限,但是這臺服務(wù)器之前已經(jīng)通過安裝更新修正了“權(quán)限提升”的常見漏洞,那么最有可能的原因是系統(tǒng)的root密碼已經(jīng)被破解!于是筆者趕緊利用“passwd”命令將root密碼進(jìn)行了變更。也許到這里,不少網(wǎng)絡(luò)管理員覺得危險(xiǎn)已經(jīng)解除,可以高枕無憂了;確實(shí),密碼修改以后,攻擊者在短時(shí)間內(nèi)很難再次入侵系統(tǒng),但是攻擊者的手段是可以變化的,如果你的服務(wù)器被攻擊者盯上,那么很可能成為APT(Advanced Persistent Theat)攻擊的犧牲品,將很難保證服務(wù)器不被再次入侵。所以我們在處理攻擊或者入侵事件時(shí),不要僅僅滿足于解除當(dāng)前的威脅,更要追本溯源,舉一反三,深刻剖析出現(xiàn)問題的原因,然后及時(shí)調(diào)整或者強(qiáng)化安全策略,這樣才能從根本上杜絕此類攻擊的再次發(fā)生。
針對這起入侵事件,筆者相信入侵者不會善罷甘休,遂決定守株待兔,力爭獲取更多的攻擊行為的信息。果然,半個(gè)小時(shí)后,通過netstat命令發(fā)現(xiàn)了一個(gè)可疑的TCP連接,“Foreign Address” 是 一 個(gè)陌生的IP,經(jīng)過核查,是國外的IP,而連接的端口是22端口,即SSH服務(wù)使用的端口,筆者利用kill命令將對應(yīng)的進(jìn)程終止,但是很快該連接就自動重新建立,而且“Foreign Address”也發(fā)生了變化,分析到這一步,筆者基本可以斷定這是一起僵尸網(wǎng)絡(luò)攻擊,攻擊者控制了大量主機(jī)對本單位DNS服務(wù)器的22端口發(fā)起密碼試探的攻擊!這是非常危險(xiǎn)的,如果攻擊者控制的主機(jī)數(shù)量足夠大,攻擊軟件足夠強(qiáng)大,那么該服務(wù)器很快就會淪陷。
既然已經(jīng)找到攻擊根源,那么可以采用如下三種方式來阻斷此次攻擊:
1.直接利用控制臺命令“service sshd stop” 將 SSH服務(wù)關(guān)閉。但是這樣就會“殃及池魚”,影響管理員使用SSH來進(jìn)行遠(yuǎn)程維護(hù)。
2.啟用Linux中自帶的iptables防火墻來進(jìn)行封堵。由于攻擊IP是動態(tài)變化的,所以根據(jù)IP來制定iptables策略是不切實(shí)際的,只能依據(jù)22端口來制定封堵策略。同樣,這種方式和方式1一樣,會影響管理員使用SSH。
3.利用單位的防火墻進(jìn)行封堵。由于該DNS服務(wù)器位于DMZ區(qū),我們可以在防火墻上制定UNTRUST->DMZ方向的策略,將22端口在該方向上進(jìn)行封禁;而對應(yīng)TRUST->DMZ方向的策略,咱們?nèi)匀豢梢詫?2端口放行。這種方法就解決了管理員不能使用SSH進(jìn)行遠(yuǎn)程維護(hù)的問題,只要管理員在單位內(nèi)網(wǎng)區(qū)域,那么仍然可以利用SSH來進(jìn)行遠(yuǎn)程維護(hù);而外網(wǎng)的攻擊者則被防火墻封禁,如果管理員需要在外網(wǎng)對該服務(wù)器進(jìn)行遠(yuǎn)程維護(hù),那么可以利用VPN進(jìn)行接入,這樣就大大增強(qiáng)了服務(wù)器的安全性。
盡管通過上述的分析和技術(shù)手段,我們已經(jīng)化解了一次危險(xiǎn)的攻擊,但是“明槍易躲,暗箭難防”,攻擊者永遠(yuǎn)處于暗處,我們總是這樣被動地去防御,很難產(chǎn)生好的效果。沒有任何系統(tǒng)是百分百的安全,但是我們要做的工作是盡量減少被攻擊的概率,要抱著“預(yù)防為主”的心態(tài)去主動強(qiáng)化安全工作。DMZ區(qū)由于其特殊性,必須加強(qiáng)防護(hù)措施,本文從主機(jī)、防火墻、應(yīng)用級安全三個(gè)方面提出如下建議:
1.強(qiáng)化主機(jī)自身安全。不少網(wǎng)絡(luò)管理員潛意識里認(rèn)為Linux系統(tǒng)比Windows系統(tǒng)安全,經(jīng)常忽視對Linux主機(jī)的安全防護(hù);其實(shí),在安全面前,所有主機(jī)都應(yīng)該一視同仁,說不定哪天某臺不受重視的服務(wù)器被入侵,然后成為了攻擊其他主機(jī)的跳板,那就得不償失了。無論什么系統(tǒng),啟用主機(jī)防火墻是第一步,要按照最低權(quán)限的原則部署防火墻策略,關(guān)閉與業(yè)務(wù)無關(guān)的常用端口,比如Web服務(wù)器,對外就只開放80端口,對于其他的21、22、23 等常用端口,一定要利用主機(jī)防火墻關(guān)閉;其次,禁用與業(yè)務(wù)無關(guān)的服務(wù),特別是一些RPC遠(yuǎn)程過程調(diào)用的服務(wù),若與業(yè)務(wù)無關(guān),一定要禁用;然后,要及時(shí)安裝重要的系統(tǒng)更新,特別是涉及到一些重大安全漏洞的更新,一定要安裝;最后,設(shè)置強(qiáng)壯的密碼也必不可少,特別是管理員密碼設(shè)置,要符合相應(yīng)的安全規(guī)則。
2.細(xì)化防火墻安全策略。通過步驟1我們強(qiáng)化了主機(jī)自身的安全,但是專業(yè)的硬件防火墻設(shè)備作為企業(yè)網(wǎng)絡(luò)安全的第一道屏障,在針對網(wǎng)絡(luò)層的攻擊防護(hù)上,還是有著不可替代的作用。硬件防火墻的安全策略比主機(jī)防火墻策略要更加靈活,而且防護(hù)效果更加有效;它可以將企業(yè)網(wǎng)絡(luò)劃分為多個(gè)隔離區(qū)域,然后針對隔離區(qū)域之間的數(shù)據(jù)通信進(jìn)行控制。對于DMZ區(qū)的安全策略,應(yīng)重點(diǎn)細(xì)化UNTRUST->DMZ通信的安全策略,可以針對目的地址、目的端口做安全策略,要秉承“只有使用的端口才能放開”的最小權(quán)限原則進(jìn)行設(shè)置,比如前面提到的DNS服務(wù)器入侵事件,最終就是通過在防火墻上設(shè)置了針對服務(wù)器IP、53端口的permit策略,而針對其他所有端口的deny策略,在不影響業(yè)務(wù)應(yīng)用的同時(shí),成功阻斷了攻擊者的入侵。
3. 部署專業(yè)的應(yīng)用級入侵防護(hù)設(shè)備(IPS)。隨著攻擊方式的逐漸演變,一般的硬件防火墻設(shè)備在應(yīng)用層攻擊的防護(hù)上已經(jīng)力不從心,難以保障DMZ區(qū)和內(nèi)網(wǎng)服務(wù)器的安全,特別是一些攻擊行為特征具有動態(tài)變化的特性,必須部署專業(yè)的IPS設(shè)備進(jìn)行識別、攔截。由于IPS設(shè)備內(nèi)置有大量的攻擊特征庫,而且可以定期進(jìn)行升級更新,所以在攔截攻擊時(shí)具有得天獨(dú)厚的優(yōu)勢;借助IPS廠家的支持,相信能讓DMZ區(qū)的安全更上一層樓。
隨著IT技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)安全問題也日益突出,DMZ區(qū)服務(wù)器由于開放的原因,更容易成為攻擊者的目標(biāo),在這種嚴(yán)峻的形勢下,“防患于未然”應(yīng)該成為企業(yè)安全工作的主線。本文結(jié)合筆者親身經(jīng)歷的一起網(wǎng)絡(luò)入侵事故,建議企業(yè)從主機(jī)、防火墻、入侵防護(hù)設(shè)備三個(gè)方面入手,結(jié)合自身的IT架構(gòu),打造三位一體的網(wǎng)絡(luò)安全保障體系。希望在不久的將來,各位同行在被問到“你的DMZ區(qū)安全嗎?”這個(gè)問題時(shí),能夠底氣十足地給出肯定的回答。