網(wǎng)站被黑客攻擊怎么辦,如何預(yù)防?
黑客攻擊的類(lèi)型及攔截方式:
黑客可以采取多種不同的攻擊方式部分或全部控制一個(gè)網(wǎng)站。一般來(lái)說(shuō),最常見(jiàn)和最危險(xiǎn)的是跨站點(diǎn)腳本(XSS,cross-site scripting )和SQL植入(injection) 。
下面我們要介紹的是跨站點(diǎn)腳本( XSS )技術(shù) ??缯军c(diǎn)腳本是一種通過(guò)利用網(wǎng)絡(luò)應(yīng)用程序?qū)用娴陌踩┒?,在網(wǎng)頁(yè)中植入惡意代碼的技術(shù)。當(dāng)網(wǎng)絡(luò)應(yīng)用程序處理通過(guò)用戶輸入獲得的數(shù)據(jù),并且在返回給最終用戶前沒(méi)有任何進(jìn)一步的檢查或驗(yàn)證時(shí),這種攻擊就可能發(fā)生。您可以在網(wǎng)絡(luò)應(yīng)用安全聯(lián)盟(英文)中找到一些跨站點(diǎn)腳本的例子。
有許多辦法可以確保網(wǎng)絡(luò)應(yīng)用程序不被這種技術(shù)侵犯。一些簡(jiǎn)便易行的方法包括:
利用數(shù)據(jù)編碼,避免潛在惡意字符的直接植入(例如,PHP中的htmlspecialchars功能);
剔除可以被插入到表單中的數(shù)據(jù)輸入(例如,PHP中的strip tags功能);
在數(shù)據(jù)輸入和數(shù)據(jù)庫(kù)端之間創(chuàng)建一個(gè)“層”,以避免應(yīng)用程序代碼被直接植入惡意字符。
SQL植入是一種在網(wǎng)絡(luò)應(yīng)用程序中植入惡意代碼的技術(shù),它利用數(shù)據(jù)庫(kù)層面的安全漏洞以達(dá)到非法控制數(shù)據(jù)庫(kù)目的。這種技術(shù)非常強(qiáng)大,它可以操縱網(wǎng)址(查詢字符串)或其他任何形式(搜索,登錄,電子郵件注冊(cè))以植入惡意代碼。您可以在網(wǎng)絡(luò)應(yīng)用安全聯(lián)盟(英文)中找到一些關(guān)于SQL植入的例子。
為避免此類(lèi)黑客攻擊的發(fā)生的確有法可循。舉例來(lái)說(shuō),在前端界面和后端數(shù)據(jù)庫(kù)之間增加一個(gè)“中間層”就是一種很好的做法。在PHP中,PDO(PHP Data Objects)擴(kuò)展通常與參數(shù)(有時(shí)被稱(chēng)作placeholder或綁定變量)共同發(fā)生作用,而不是直接將用戶輸入做為命令語(yǔ)句。另一種極為簡(jiǎn)單的技術(shù) 是字符轉(zhuǎn)義,通過(guò)這種方式,所有可以直接影響數(shù)據(jù)庫(kù)結(jié)構(gòu)的危險(xiǎn)字符都可以被轉(zhuǎn)義。例如,參數(shù)中每出現(xiàn)一個(gè)單引號(hào)[ ‘ ]必須代之以兩個(gè)單引號(hào)[ ’ ‘ ]來(lái)形成一個(gè)有效的SQL字符串。這只是兩種您可以采取的、最常見(jiàn)的用以改進(jìn)網(wǎng)站安全并避免SQL植入的有效方式。您還可以在網(wǎng)上找到許多其他符合您需求的資源(編程語(yǔ)言,具體的Web應(yīng)用程序等)。
一些識(shí)別黑客攻擊您網(wǎng)站的方法:
如上所述,黑客可能采用很多不同方式攻擊您的網(wǎng)站,也采用多種方法惡意利用無(wú)辜的網(wǎng)站。當(dāng)黑客能夠完全控制一個(gè)網(wǎng)站時(shí),他們可以把主頁(yè)徹底更換掉,清除所有的內(nèi)容(刪除您的數(shù)據(jù)庫(kù)表),插入惡意軟件或Cookie盜取程序。他們還可以利用您的網(wǎng)站制造網(wǎng)絡(luò)垃圾,比如在您的網(wǎng)站隱藏指向垃圾網(wǎng)頁(yè)的鏈接或建立重定向到惡意軟件網(wǎng)站的頁(yè)面。當(dāng)變化很明顯(比如主頁(yè)被更換)時(shí) ,您可以輕松地辨別出黑客攻擊,但對(duì)于其他類(lèi)型的攻擊,特別是那些帶有制造網(wǎng)絡(luò)垃圾意圖的攻擊,就比較不易被人察覺(jué)。谷歌提供了一些產(chǎn)品和方法,幫助網(wǎng)站管理員發(fā)現(xiàn)自己的網(wǎng)站是否未經(jīng)許可而被第三方攻擊或更改。例如,通過(guò)使用谷歌搜索,您可以檢查黑客是否將特定的惡意關(guān)鍵詞添加到您的網(wǎng)站,并能找出您網(wǎng)站上被攻擊的具體網(wǎng)頁(yè)。打開(kāi)google.cn/,用[site:domain name]來(lái)搜索您的網(wǎng)站,查看黑客是否把一些常用的網(wǎng)絡(luò)垃圾關(guān)鍵詞添加到了您的網(wǎng)站(如偉哥, 色情, MP3, 賭博等) :
一些有關(guān)CMSs安全的資源:
SQL植入和跨站點(diǎn)腳本只不過(guò)是黑客用來(lái)攻擊和利用無(wú)辜網(wǎng)站的多種技術(shù)中的其中兩種。作為一般的安全準(zhǔn)則,在網(wǎng)絡(luò)安全問(wèn)題上特別是在使用第三方軟件時(shí),一直保持更新以確保您安裝了最新版本的軟件是非常重要的。許多圍繞大型建站社區(qū)建設(shè)的網(wǎng)絡(luò)應(yīng)用程序都提供持續(xù)的支持和軟件升級(jí)。
下面舉個(gè)例子,開(kāi)放源碼內(nèi)容管理系統(tǒng)的最大的四個(gè)社區(qū)——Joomla, WordPress, PHP-Nuke 和 Drupa都在他們的網(wǎng)站上提供關(guān)于網(wǎng)絡(luò)安全方面的知識(shí)并且設(shè)有大型社區(qū)驅(qū)動(dòng)論壇,用戶可以提出問(wèn)題或?qū)で笾С?。例如,在Hardening WordPress,WordPress提供了如何加強(qiáng)CMS安全的綜合性幫助文件。 Joomla提供了許多有關(guān)網(wǎng)絡(luò)安全的資源,特別是其中的網(wǎng)絡(luò)安全檢查清單,這些操作都是網(wǎng)絡(luò)管理員應(yīng)該采用的。
site: example.com 某色情詞匯 或 某賭博詞匯 或 “手機(jī)鈴聲”等熱門(mén)詞匯
當(dāng)這些關(guān)鍵詞出現(xiàn)在您網(wǎng)站內(nèi)容中時(shí),您會(huì)收到一封提醒郵件。
您還可以使用谷歌網(wǎng)站管理員工具來(lái)檢查您網(wǎng)站中的任何黑客行為。網(wǎng)站管理員工具為您的網(wǎng)站提供熱門(mén)搜索查詢的統(tǒng)計(jì)信息。這些數(shù)據(jù)將幫助您監(jiān)測(cè)那些將用戶帶到您網(wǎng)站的熱門(mén)搜索查詢是否是那些可疑的、無(wú)關(guān)的垃圾關(guān)鍵詞。“Googlebot看到的“的數(shù)據(jù)也十分有用,在這里您可以觀察谷歌是否探查到您網(wǎng)站中任何異常的關(guān)鍵詞,無(wú)論這些關(guān)鍵詞是不是把用戶帶到您網(wǎng)站的熱門(mén)關(guān)鍵詞。
?。踫ite:example.com 垃圾關(guān)鍵詞]
如果您還不熟悉 site: 搜索操作符,這是一個(gè)通過(guò)將搜索范圍限定到特定網(wǎng)站來(lái)使用谷歌搜索的途徑。例如,搜索site:googleblog.blogspot.com只會(huì)返回來(lái)自谷歌官方博客的搜索結(jié)果。當(dāng)在這種查詢中添加一些垃圾關(guān)鍵詞時(shí),谷歌將返回所有該網(wǎng)站中包含這些垃圾關(guān)鍵字的網(wǎng)頁(yè),而這些網(wǎng)頁(yè)都很有可能已經(jīng)遭受攻擊。要檢查這些可疑的網(wǎng)頁(yè),只需打開(kāi)谷歌網(wǎng)頁(yè)快照,您就能發(fā)現(xiàn)這些黑客行為。然后,您可以清除這些網(wǎng)頁(yè)被攻擊的部分,并檢查服務(wù)器配置文件中是否有異常情況(例如Apache網(wǎng)絡(luò)服務(wù)器:htaccess文件和httpd.conf文件)。
如果您的網(wǎng)站已不出現(xiàn)在谷歌的搜索結(jié)果中,這可能意味著谷歌已在您的網(wǎng)站上發(fā)現(xiàn)由黑客攻擊導(dǎo)致的垃圾網(wǎng)頁(yè),并很可能因?yàn)檫@些網(wǎng)頁(yè)違反了我們網(wǎng)站管理員質(zhì)量指南而已暫時(shí)將它們從我們的索引中移除。
為了不斷留意是否有可疑關(guān)鍵字在您的網(wǎng)站上出現(xiàn),您也可以使用谷歌快訊來(lái)監(jiān)測(cè)類(lèi)似的搜索查詢:
如果您有網(wǎng)站管理員工具賬戶,當(dāng)谷歌認(rèn)為您的網(wǎng)站已經(jīng)被黑客入侵時(shí),按被攻擊類(lèi)型的不同,您會(huì)收到相應(yīng)的通知:
1如果一個(gè)惡意的第三方正在使用您的網(wǎng)站制造網(wǎng)絡(luò)垃圾(如添加隱藏鏈接或建立垃圾網(wǎng)頁(yè)),并且已經(jīng)被谷歌crawler偵測(cè)到,您就會(huì)在網(wǎng)站管理員工具的“消息中心”中收到一份詳細(xì)通知(包含受攻擊的URL樣本,或隱藏鏈接的錨文本);
2如果您的網(wǎng)站被第三方利用放置了惡意軟件,您會(huì)在網(wǎng)站管理員工具賬戶的“概覽”頁(yè)面中看到惡意軟件的警告。
消除黑客攻擊行為,該怎么做?
您的網(wǎng)站已經(jīng)被黑客入侵或被植入了惡意軟件?首先,請(qǐng)清理這些由黑客造成的網(wǎng)絡(luò)垃圾,然后執(zhí)行下列操作之一:
1、如果您的網(wǎng)站被黑客攻擊達(dá)到制造垃圾網(wǎng)頁(yè)的目的,請(qǐng)?jiān)L問(wèn)網(wǎng)站管理員工具中的”請(qǐng)求重新審核“鏈接,申請(qǐng)重新審核和收錄;
2、如果您的網(wǎng)站向用戶提供惡意軟件,請(qǐng)?jiān)诰W(wǎng)站管理員工具的“概覽”頁(yè)面提出重新評(píng)估惡意軟件的請(qǐng)求。