我們?cè)赟QL Server的使用過(guò)程中不僅會(huì)遇到通常的數(shù)據(jù)庫(kù)和操作系統(tǒng)問(wèn)題,還可能會(huì)遇到服務(wù)器反應(yīng)遲鈍,動(dòng)作不穩(wěn)定等問(wèn)題。這很可能是系統(tǒng)中有特洛伊木馬。我們下載軟件是可能會(huì)為特洛伊木馬提供安裝的途徑。感染上病毒是很容易的,在你花費(fèi)大量時(shí)間試圖解決應(yīng)用程序或者數(shù)據(jù)庫(kù)問(wèn)題之前,應(yīng)看看是否感染了特洛伊病毒。測(cè)試如下:
1:使用惡意軟件掃描器
我曾見(jiàn)過(guò)有數(shù)據(jù)庫(kù)服務(wù)器因?yàn)榕滦阅芟陆祷蛘呦到y(tǒng)崩潰而不采取,或者采取有限的惡意軟件防范措施。很明顯,這是要關(guān)心的兩碼事,但是價(jià)格是什么?如果你沒(méi)有安裝反病毒軟件,那么就盡快弄一個(gè)來(lái)運(yùn)行吧。如果需要實(shí)時(shí)保護(hù)的資源太多了,那么就將你的數(shù)據(jù)庫(kù)和其它高活動(dòng)性的目錄排除在實(shí)時(shí)掃描的外面吧。否則,最低限度,你也要安裝反病毒軟件,然后每隔幾天,找個(gè)非高峰的時(shí)間來(lái)掃描本地磁盤(pán)。
如果你已經(jīng)運(yùn)行了反病毒軟件,那么確保它是最新的(那些基于客戶端的自動(dòng)更新和網(wǎng)絡(luò)管理簽名并不是百分百的可靠),并且執(zhí)行一次全面的系統(tǒng)掃描。不要害怕安裝和使用其他供應(yīng)商的軟件——特別是當(dāng)它涉及間諜軟件保護(hù)的時(shí)候。
2: 查看內(nèi)存
你可以使用Windows任務(wù)管理器來(lái)搜索那些看起來(lái)就屬于惡意軟件,或者使用了太多內(nèi)存或者占用了大量CPU時(shí)間的應(yīng)用程序。我建議你使用Sysinternals公司的Process Explorer(下面高亮顯示的NetBus Trojan),因?yàn)樗峁┝诉\(yùn)行進(jìn)程的較多信息,并且以更可靠的方式來(lái)殺掉那些不應(yīng)該的進(jìn)程。
你也許會(huì)想,這看起來(lái)也太強(qiáng)了吧——你怎么可能抓住那些載入你的Windows服務(wù)器上的東西。你考慮一下就會(huì)發(fā)現(xiàn)它實(shí)際上不是特別復(fù)雜;在你的網(wǎng)絡(luò)中的所有系統(tǒng)中,你確實(shí)需要徹底地了解你的數(shù)據(jù)庫(kù)——其中包括記錄哪些進(jìn)程應(yīng)該運(yùn)行,哪些不應(yīng)該。所以,如果你在第一次安裝之后擁有了良好的基線——甚至是現(xiàn)在,假設(shè)所有事物都運(yùn)行得很好——當(dāng)發(fā)生特洛伊類型的問(wèn)題的時(shí)候,你就可以用它作為你比較的基礎(chǔ)。
3: 查看開(kāi)放的端口
你可以使用Windows內(nèi)置的netstat工具來(lái)查看哪些端口開(kāi)放的,并且連接到服務(wù)器上。在命令行中,輸入netstat –an|more,可以一頁(yè)挨著一頁(yè)地查看開(kāi)放的和監(jiān)聽(tīng)的TCP和UDP端口。還有一種更好的方法就是使用Foundstone的 Vision工具或者Sysinternals公司的TCPView工具來(lái)完成。
4: 查看你的網(wǎng)絡(luò)流量
也許判斷你的SQL Server中是否發(fā)生了惡意行為的最簡(jiǎn)單辦法就是看看它是否進(jìn)行了網(wǎng)絡(luò)通信。如果你有一個(gè)非常順手的網(wǎng)絡(luò)分析器,那么你就可以在1、2分鐘之內(nèi)發(fā)現(xiàn)情況。你可以使用SQL Server自身攜帶的分析器,或者從別處連接到你的以太網(wǎng)交換器的交換或者鏡像端口上。
我比較喜歡EtherPeek這個(gè)網(wǎng)絡(luò)分析器,它可以像大多數(shù)其它分析器一樣捕捉進(jìn)出你的SQL Server的包。如下圖所示,一些跑在TCP端口12345上(通常是NetBus的特洛伊端口)流量就被發(fā)現(xiàn)了。
EtherPeek可以輕松抓取網(wǎng)絡(luò)流量,并且高亮顯示特洛伊的動(dòng)作——在本次網(wǎng)絡(luò)流量抓取過(guò)程中
你可以真正地創(chuàng)建你自己的網(wǎng)絡(luò)分析觸發(fā)器和過(guò)濾器,如果你知道要尋找什么的話。這里的列表列出了常見(jiàn)的特洛伊和相關(guān)端口的細(xì)膩向。這種發(fā)現(xiàn)惡意流量的方法并不是十分安全,因?yàn)槎丝谔?hào)是可以經(jīng)常更換的,但是它的服務(wù)器是個(gè)不錯(cuò)的目標(biāo)。
你可以在“監(jiān)控”模式下運(yùn)行Ether Peek,讓它對(duì)網(wǎng)絡(luò)上發(fā)生的事情有個(gè)從上到下的整體視角,——而不需要抓取包。你可以查看正在使用哪個(gè)協(xié)議,尋找巨大的流量,奇怪的通信,以及其它網(wǎng)絡(luò)進(jìn)出你的SQL Server系統(tǒng)的傾向。
5:對(duì)付惡意軟件的方法
特洛伊木馬是計(jì)算機(jī)上的一個(gè)令人厭惡的創(chuàng)造——它創(chuàng)建遠(yuǎn)程訪問(wèn)隧道,截獲按鍵,刪除數(shù)據(jù)等更多事情——特別是在你最重要的服務(wù)器上。很明顯,的辦法就是不用你的SQL Server進(jìn)行Internet訪問(wèn),Web瀏覽,電子郵件等行為?!?,這不現(xiàn)實(shí)。你(或者其他人)可能會(huì)需要它最終不僅僅作為一個(gè)數(shù)據(jù)庫(kù)服務(wù)器。一旦這樣的事情出現(xiàn)了,你就需要確保你是被保護(hù)的。不要把責(zé)任推卸給其他人,或者其他任何東西,特洛伊不是運(yùn)行在他們的系統(tǒng)上。不論以何種方式,永遠(yuǎn)不要假設(shè)你的反病毒軟件可以保證你萬(wàn)無(wú)一失。
分析并解決惡意軟件的方法:如果你想要攻擊,或者安裝一個(gè)可以在網(wǎng)絡(luò)上給你幫助的欺詐軟件,那么沒(méi)有什么地方比直接在SQL Server上更好了。你的服務(wù)器上可能還沒(méi)有特洛伊,但是如果你感覺(jué)到有問(wèn)題,那么兇手就可以很容易發(fā)現(xiàn)。
1:使用惡意軟件掃描器
我曾見(jiàn)過(guò)有數(shù)據(jù)庫(kù)服務(wù)器因?yàn)榕滦阅芟陆祷蛘呦到y(tǒng)崩潰而不采取,或者采取有限的惡意軟件防范措施。很明顯,這是要關(guān)心的兩碼事,但是價(jià)格是什么?如果你沒(méi)有安裝反病毒軟件,那么就盡快弄一個(gè)來(lái)運(yùn)行吧。如果需要實(shí)時(shí)保護(hù)的資源太多了,那么就將你的數(shù)據(jù)庫(kù)和其它高活動(dòng)性的目錄排除在實(shí)時(shí)掃描的外面吧。否則,最低限度,你也要安裝反病毒軟件,然后每隔幾天,找個(gè)非高峰的時(shí)間來(lái)掃描本地磁盤(pán)。
如果你已經(jīng)運(yùn)行了反病毒軟件,那么確保它是最新的(那些基于客戶端的自動(dòng)更新和網(wǎng)絡(luò)管理簽名并不是百分百的可靠),并且執(zhí)行一次全面的系統(tǒng)掃描。不要害怕安裝和使用其他供應(yīng)商的軟件——特別是當(dāng)它涉及間諜軟件保護(hù)的時(shí)候。
2: 查看內(nèi)存
你可以使用Windows任務(wù)管理器來(lái)搜索那些看起來(lái)就屬于惡意軟件,或者使用了太多內(nèi)存或者占用了大量CPU時(shí)間的應(yīng)用程序。我建議你使用Sysinternals公司的Process Explorer(下面高亮顯示的NetBus Trojan),因?yàn)樗峁┝诉\(yùn)行進(jìn)程的較多信息,并且以更可靠的方式來(lái)殺掉那些不應(yīng)該的進(jìn)程。
你也許會(huì)想,這看起來(lái)也太強(qiáng)了吧——你怎么可能抓住那些載入你的Windows服務(wù)器上的東西。你考慮一下就會(huì)發(fā)現(xiàn)它實(shí)際上不是特別復(fù)雜;在你的網(wǎng)絡(luò)中的所有系統(tǒng)中,你確實(shí)需要徹底地了解你的數(shù)據(jù)庫(kù)——其中包括記錄哪些進(jìn)程應(yīng)該運(yùn)行,哪些不應(yīng)該。所以,如果你在第一次安裝之后擁有了良好的基線——甚至是現(xiàn)在,假設(shè)所有事物都運(yùn)行得很好——當(dāng)發(fā)生特洛伊類型的問(wèn)題的時(shí)候,你就可以用它作為你比較的基礎(chǔ)。
3: 查看開(kāi)放的端口
你可以使用Windows內(nèi)置的netstat工具來(lái)查看哪些端口開(kāi)放的,并且連接到服務(wù)器上。在命令行中,輸入netstat –an|more,可以一頁(yè)挨著一頁(yè)地查看開(kāi)放的和監(jiān)聽(tīng)的TCP和UDP端口。還有一種更好的方法就是使用Foundstone的 Vision工具或者Sysinternals公司的TCPView工具來(lái)完成。
4: 查看你的網(wǎng)絡(luò)流量
也許判斷你的SQL Server中是否發(fā)生了惡意行為的最簡(jiǎn)單辦法就是看看它是否進(jìn)行了網(wǎng)絡(luò)通信。如果你有一個(gè)非常順手的網(wǎng)絡(luò)分析器,那么你就可以在1、2分鐘之內(nèi)發(fā)現(xiàn)情況。你可以使用SQL Server自身攜帶的分析器,或者從別處連接到你的以太網(wǎng)交換器的交換或者鏡像端口上。
我比較喜歡EtherPeek這個(gè)網(wǎng)絡(luò)分析器,它可以像大多數(shù)其它分析器一樣捕捉進(jìn)出你的SQL Server的包。如下圖所示,一些跑在TCP端口12345上(通常是NetBus的特洛伊端口)流量就被發(fā)現(xiàn)了。
EtherPeek可以輕松抓取網(wǎng)絡(luò)流量,并且高亮顯示特洛伊的動(dòng)作——在本次網(wǎng)絡(luò)流量抓取過(guò)程中
你可以真正地創(chuàng)建你自己的網(wǎng)絡(luò)分析觸發(fā)器和過(guò)濾器,如果你知道要尋找什么的話。這里的列表列出了常見(jiàn)的特洛伊和相關(guān)端口的細(xì)膩向。這種發(fā)現(xiàn)惡意流量的方法并不是十分安全,因?yàn)槎丝谔?hào)是可以經(jīng)常更換的,但是它的服務(wù)器是個(gè)不錯(cuò)的目標(biāo)。
你可以在“監(jiān)控”模式下運(yùn)行Ether Peek,讓它對(duì)網(wǎng)絡(luò)上發(fā)生的事情有個(gè)從上到下的整體視角,——而不需要抓取包。你可以查看正在使用哪個(gè)協(xié)議,尋找巨大的流量,奇怪的通信,以及其它網(wǎng)絡(luò)進(jìn)出你的SQL Server系統(tǒng)的傾向。
5:對(duì)付惡意軟件的方法
特洛伊木馬是計(jì)算機(jī)上的一個(gè)令人厭惡的創(chuàng)造——它創(chuàng)建遠(yuǎn)程訪問(wèn)隧道,截獲按鍵,刪除數(shù)據(jù)等更多事情——特別是在你最重要的服務(wù)器上。很明顯,的辦法就是不用你的SQL Server進(jìn)行Internet訪問(wèn),Web瀏覽,電子郵件等行為?!?,這不現(xiàn)實(shí)。你(或者其他人)可能會(huì)需要它最終不僅僅作為一個(gè)數(shù)據(jù)庫(kù)服務(wù)器。一旦這樣的事情出現(xiàn)了,你就需要確保你是被保護(hù)的。不要把責(zé)任推卸給其他人,或者其他任何東西,特洛伊不是運(yùn)行在他們的系統(tǒng)上。不論以何種方式,永遠(yuǎn)不要假設(shè)你的反病毒軟件可以保證你萬(wàn)無(wú)一失。
分析并解決惡意軟件的方法:如果你想要攻擊,或者安裝一個(gè)可以在網(wǎng)絡(luò)上給你幫助的欺詐軟件,那么沒(méi)有什么地方比直接在SQL Server上更好了。你的服務(wù)器上可能還沒(méi)有特洛伊,但是如果你感覺(jué)到有問(wèn)題,那么兇手就可以很容易發(fā)現(xiàn)。