內(nèi)網(wǎng)應用安全以及服務器的安全一直是眾多中小企業(yè)網(wǎng)絡管理員所關心的話題,大多數(shù)企業(yè)服務器上都會運行企業(yè)網(wǎng)站,不管是ASP類站點還是PHP類站點,不管是Windows 2000 server還是windows 2003,也不管是基于MYSQL的數(shù)據(jù)庫還是access又或是SQL server數(shù)據(jù)庫,我們都可能遇到最為頭疼的利用數(shù)據(jù)庫及動態(tài)頁面語言漏洞而采取的注入攻擊。每當出現(xiàn)注入攻擊后我們都無法快速定位到底是哪個語句哪條指令出現(xiàn)了問題,注入是不可避免的但是如何才能夠做到在第一時間發(fā)現(xiàn)漏洞彌補漏洞呢?下面筆者就從個人實際應用出發(fā)為各位IT168安全頻道的讀者介紹如何在服務器上搭建一套防注入系統(tǒng)。
一 注入入侵采取的手段:
所謂注入入侵實際上就是通過動態(tài)頁面編程語言對數(shù)據(jù)庫的操作來實現(xiàn)入侵的目的,大多數(shù)入侵是建立在動態(tài)頁面編程語言不完善而在對數(shù)據(jù)庫執(zhí)行查詢,寫入,讀取等操作時存在問題的基礎上產(chǎn)生的。要知道通過查詢數(shù)據(jù)庫返回的錯誤信息可以分析出目的站點對應數(shù)據(jù)庫中表的具體信息來,通過窮舉法完成數(shù)據(jù)庫,數(shù)據(jù)表以及字段等信息的暴力破解。
二 防注入系統(tǒng)建立思路:
不管怎樣注入入侵都必須建立在對數(shù)據(jù)庫執(zhí)行查詢等操作的基礎上完成的,所以我們可以通過分析和記錄數(shù)據(jù)庫操作來完成對注入入侵的監(jiān)控,從而知道到底是什么時候什么操作造成的漏洞。
防注入系統(tǒng)正是基于上述思路完成的,我們通過建立一套監(jiān)控系統(tǒng)針對服務器上站點各個頁面的訪問,特別是修改操作進行記錄;再針對數(shù)據(jù)庫關鍵數(shù)據(jù)表關鍵字段的讀取和訪問進行記錄,從而快速定位出問題的頁面(被訪問和修改的頁面)和被攻擊的時間(數(shù)據(jù)庫字段讀取訪問時間),從而最大限度的防范注入攻擊的入侵,而另一方面也大大減少了被攻擊站點存活的時間,在第一時間恢復原有系統(tǒng)。
三 用防注入系統(tǒng)統(tǒng)籌管理服務器群:
筆者使用的防注入系統(tǒng)正是通過上述思路建立起來的,通過一臺專門的WEBGUARD服務器對企業(yè)所有服務器進行監(jiān)控,建立時由于這臺服務器只負責防注入以及監(jiān)控,所以一定要把這臺WEBGUARD服務器放置到企業(yè)內(nèi)網(wǎng)中,不要裸露在外網(wǎng),從而避免該服務器被惡意攻擊。
通過WEBGUARD服務器上的監(jiān)控系統(tǒng)實現(xiàn)對多臺服務器上網(wǎng)頁文件,數(shù)據(jù)庫程序的讀寫與查詢進行監(jiān)控和記錄,從而對入侵者的攻擊一目了然。再針對漏洞進行相應的彌補操作即可。
在系統(tǒng)應用時我們可以根據(jù)服務器的安全級別選擇不同的監(jiān)控方式,每個站點可以分別設置安全級別,并且結合網(wǎng)站監(jiān)測時間間隔達到“準實時”監(jiān)控的目的,同時可以指定上載文件時的用戶名和密碼。另外我們還要指定要監(jiān)測的文件類型,例如ASP,PHP,DB等格式的文件都在被監(jiān)控范圍內(nèi),當然為了保證服務器上站點的快速恢復,我們可以指定不同站點的頁面?zhèn)浞萋窂揭约白詣觽浞莸闹芷冢@樣可以實現(xiàn)出問題后的自動快速恢復。
由于這里涉及到相關產(chǎn)品的使用,所以不適合在這里放過多的文字內(nèi)容,感興趣的讀者可以自行搜索相關產(chǎn)品和相關防注入系統(tǒng)資料。
四,總結:
本文主要是從防注入系統(tǒng)的建立角度來討論如何有效的保護服務器上網(wǎng)站和數(shù)據(jù)庫的安全,通過建立一套防注入監(jiān)控體系來保證頁面文件和數(shù)據(jù)庫文件的安全,確保我們企業(yè)網(wǎng)絡和注入漏洞,向注入攻擊說再見。
更多信息請查看IT技術專欄