你的SQL Server最近是否運行不正常?不,我指的不是我們肯定會遇到的通常的數據庫和操作系統問題。我的意思是,你是否經歷過服務器的反應遲鈍,不穩定的動作,繁重的網絡負擔,或者是服務器處理或者內存利用率的直線上升?哦,不排除在你的系統中有特洛伊木馬。SQL Server與你接觸的大多數其它計算機一樣,也可以從Internet上訪問并下載和安裝軟件。這些以及其它那些我們每天經常做的事情可能會為特洛伊木馬提供安裝的途徑。看起來很奇怪,但是就服務器而言,感染上病毒是很容易的——特別是當你沒有用保護你的終端用戶系統那樣的方式來保護它的時候。
當你發現你的數據庫服務器發生了奇怪的現象,在你花費數不盡的時間試圖解決應用程序或者數據庫問題之前,應該首先運行如下的測試,看看是否感染了特洛伊病毒。
1:使用惡意軟件掃描器
我曾見過有數據庫服務器因為怕性能下降或者系統崩潰而不采取,或者采取有限的惡意軟件防范措施。很明顯,這是要關心的兩碼事,但是價格是什么?如果你沒有安裝反病毒軟件,那么就盡快弄一個來運行吧。如果需要實時保護的資源太多了,那么就將你的數據庫和其它高活動性的目錄排除在實時掃描的外面吧。否則,最低限度,你也要安裝反病毒軟件,然后每隔幾天,找個非高峰的時間來掃描本地磁盤。
如果你已經運行了反病毒軟件,那么確保它是最新的(那些基于客戶端的自動更新和網絡管理簽名并不是百分百的可靠),并且執行一次全面的系統掃描。不要害怕安裝和使用其他供應商的軟件——特別是當它涉及間諜軟件保護的時候。
2: 查看內存
你可以使用Windows任務管理器來搜索那些看起來就屬于惡意軟件,或者使用了太多內存或者占用了大量CPU時間的應用程序。我建議你使用Sysinternals公司的Process Explorer(下面高亮顯示的NetBus Trojan),因為它提供了運行進程的較多信息,并且以更可靠的方式來殺掉那些不應該的進程。
你也許會想,這看起來也太強了吧——你怎么可能抓住那些載入你的Windows服務器上的東西。你考慮一下就會發現它實際上不是特別復雜;在你的網絡中的所有系統中,你確實需要徹底地了解你的數據庫——其中包括記錄哪些進程應該運行,哪些不應該。所以,如果你在第一次安裝之后擁有了良好的基線——甚至是現在,假設所有事物都運行得很好——當發生特洛伊類型的問題的時候,你就可以用它作為你比較的基礎。
3: 查看開放的端口
你可以使用Windows內置的netstat工具來查看哪些端口開放的,并且連接到服務器上。在命令行中,輸入netstat –an|more,可以一頁挨著一頁地查看開放的和監聽的TCP和UDP端口。還有一種更好的方法就是使用Foundstone的 Vision工具或者Sysinternals公司的TCPView工具來完成。
4: 查看你的網絡流量
也許判斷你的SQL Server中是否發生了惡意行為的最簡單辦法就是看看它是否進行了網絡通信。如果你有一個非常順手的網絡分析器,那么你就可以在1、2分鐘之內發現情況。你可以使用SQL Server自身攜帶的分析器,或者從別處連接到你的以太網交換器的交換或者鏡像端口上。
我比較喜歡EtherPeek這個網絡分析器,它可以像大多數其它分析器一樣捕捉進出你的SQL Server的包。如下圖所示,一些跑在TCP端口12345上(通常是NetBus的特洛伊端口)流量就被發現了。
EtherPeek可以輕松抓取網絡流量,并且高亮顯示特洛伊的動作——在本次網絡流量抓取過程中
你可以真正地創建你自己的網絡分析觸發器和過濾器,如果你知道要尋找什么的話。這里的列表列出了常見的特洛伊和相關端口的細膩向。這種發現惡意流量的方法并不是十分安全,因為端口號是可以經常更換的,但是它的服務器是個不錯的目標。
新聞熱點
疑難解答