簡單幾步確保數(shù)據(jù)庫安全
數(shù)據(jù)庫安全是企業(yè)互聯(lián)網(wǎng)安全的最基本條件,數(shù)據(jù)庫安全一旦難以保障,那么企業(yè)敏感信息就面臨著泄漏的危機。不僅可能危害企業(yè)的正常運作,更嚴重的情況可能會丟失客戶對企業(yè)的信任。其實不少數(shù)據(jù)庫漏洞都是由于管理員的一些不良習慣導致的。
下面是最常見的五個與數(shù)據(jù)庫相關(guān)的安全漏洞:
·不良的口令政策
·SQL注入
·交叉站點腳本
·數(shù)據(jù)泄漏
·不適當?shù)腻e誤處理
令人難以置信的是,企業(yè)仍經(jīng)常使用默認的或者軟弱的口令來保護像數(shù)據(jù)庫一樣重要的在線資產(chǎn)。但是,這是一個很容易解決的問題。補救措施是強制執(zhí)行強大的口令政策。也就是說,口令要定期變換,口令長度最少為10位數(shù)并且包含字母和符號。采用這種政策,你將關(guān)閉攻擊者同向你的數(shù)據(jù)的方便之門。
SQL注入也依靠軟弱的數(shù)據(jù)庫實施,特別是在如何向數(shù)據(jù)庫發(fā)送SQL請求方面的實施。如果這個數(shù)據(jù)庫接受了用戶提供的不干凈的或者沒有經(jīng)過驗證的數(shù)據(jù)產(chǎn)生的SQL請求,這就會為SQL注入攻擊敞開大門。例如,通過修改從基于網(wǎng)絡的格式受到的信息,攻擊者能夠提供惡意的SQL請求并且把指令直接發(fā)送到數(shù)據(jù)庫。
要防止這種類型的攻擊,在讓這些數(shù)據(jù)接近你的腳本、數(shù)據(jù)訪問程序和SQL查詢之前,保證所有用戶提供的數(shù)據(jù)是合法的是非常重要的。驗證和清潔從用戶那里收到的數(shù)據(jù)的另一個理由是防止交叉站點腳本攻擊。這種攻擊能夠用來攻破連接到一個Web服務器的數(shù)據(jù)庫。黑客通過一個網(wǎng)絡蠕蟲把JavaScript等客戶方面的腳本注入到一個網(wǎng)絡應用程序的輸出中。這些腳本用于收集cookie數(shù)據(jù)。這些數(shù)據(jù)經(jīng)常被錯誤地用來存儲用戶賬戶登錄信息等資料。
一個經(jīng)常被忽略的問題是什么時候建立一個數(shù)據(jù)庫應用程序是泄漏數(shù)據(jù)。這是敏感的數(shù)據(jù)要發(fā)送的地方或者是非故意踢敏感數(shù)據(jù)的地方。這個錯誤將導致不能保證訪問數(shù)據(jù)庫備份磁帶的安全和控制這種訪問。通常,更敏感的數(shù)據(jù)產(chǎn)生于有關(guān)數(shù)據(jù)的合法查詢的答案,就像從醫(yī)療處方判斷疾病一樣。常用的解決方案是監(jiān)視查詢方式以檢測這種行動。
與數(shù)據(jù)泄漏密切相關(guān)的是在數(shù)據(jù)庫出現(xiàn)錯誤時不適當?shù)靥幚磉@些錯誤。許多應用程序顯示了詳細的信息。這些錯誤信息能夠泄漏有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的信息。這些信息能夠用來實施攻擊。要盡一切手段把這個錯誤登記在你自己的記錄中,保證你的應用程序不向用戶或者攻擊者返回任何有關(guān)這個錯誤的詳細信息。
要完全保證你的數(shù)據(jù)庫的安全,你要把這個任務分為以下四個方面以確保進行全面的檢查:
·服務器安全
·應用程序安全
·數(shù)據(jù)庫連接
·數(shù)據(jù)庫和表格訪問控制
數(shù)據(jù)庫服務器需要與其它任何服務器一樣加強以保證任何惡意黑客都不能通過操作系統(tǒng)的安全漏洞攻擊數(shù)據(jù)庫。更適宜的方法是數(shù)據(jù)庫應該位于其自己的應用層防火墻之后。
要幫助保證數(shù)據(jù)庫連接的安全的過程和定義訪問控制,你應該創(chuàng)建一個數(shù)據(jù)流動圖表,跟蹤數(shù)據(jù)如何流過應用程序的過程。接下來,找到數(shù)據(jù)進入或者退出另一個應用程序的地方,并且檢查為這些進入點和退出點分配的信賴等級。還要定義需要訪問這個系統(tǒng)的外部用戶或者處理要求的最低權(quán)限。把安全作為關(guān)鍵的推動因素來設(shè)置和建立你的數(shù)據(jù)庫將保證你的數(shù)據(jù)庫處于安全狀態(tài)。
【編輯推薦】