先分3點從全域性來看
對作業系統的安全需求:防止對dbms的非法訪問和修改,保護儲存的資料、檔案的安全性,對資料庫使用者的認證 對資料庫系統本身的安全需求:使用者認證管理、訪問控制、審計,資料庫的穩定性,保證資料的安全性與完整性,完善的恢復功能,資料加密 對資料庫應用系統的安全需求:訪問控制、認證管理,對資料庫的保護防止非法訪問和修改,自身的穩定性
舉乙個例項
sql注入:利用現有應用程式,將(惡意)的sql命令注入到後台資料庫引擎執行的能力,這是sql注入的標準釋義。 所謂sql注入式攻擊,就是攻擊者把sql命令插入到web表單的輸入域或頁面請求的查詢字串,欺騙伺服器執行惡意的sql命令。在某些表單中,使用者輸入的內容直接用來構造(或者影響)動態sql命令,或作為儲存過程的輸入引數,比如典型的攻擊型別是在newsid變數後加後sql語句:exec xp_cmdshell 『net user』 這樣就執行了乙個加使用者的命令了。
web應用程式訪問資料庫會造成特定的一些潛在安全問題。sql注入攻擊仍然穩居黑客至愛兵器榜的首位,對那些想要保護資料安全的企業來說,這是個**煩。 據cve的2023年度統計資料顯示,sql注入攻擊漏洞呈逐年上公升的狀態
如何做好資料庫的安全工作
1.資料庫基本安全架構
從廣義上講,資料庫的安全首先依賴於網路系統。網路系統的安全是資料庫安全的第一道屏障,外部入侵首先就是從入侵網路系統開始的。
解決方案:防火牆,入侵檢測 ids—instrusion detection system,協作式入侵檢測技術,ips:intrusion prevention system 入侵防禦系統
對於宿主作業系統層次,作業系統安全策略用於配置本地計算機的安全設定,包括密碼策略、賬戶鎖定策略、審核策略、ip安全策略、使用者權利指派、加密資料的恢復**以及其它安全選項。 2 資料庫使用者及許可權
減少特權管理,不要顯式地將同一特權組授權給幾個使用者,只需將這特權組授給角色,然後將角色授權給每一使用者。 動態特權管理,如果一組特權需要改變,只需修改角色的特權,所有授給該角色的全部使用者的安全域將自動地反映對角色所作的修改。 特權的選擇可用性,授權給使用者的角色可選擇地使其使能(可用)或使不能(不可用)。 應用可知性,當一使用者經一使用者名稱執行應用時,該資料庫應用可查詢字典,將自動地選擇使角色使能或不能。 專門的應用安全性,角色使用可由口令保護,應用可提供正確的口令使用權角色使能,達到專用的應用安全性。因使用者不知其口令,不能使角色使能。 3 資料庫加密技術
庫外加密 將資料庫的檔案作為加密物件,在庫外加密方式中,加/解密過程發生在dbms之外,dbms管理的是密文。加/解密過程大多在客戶端實現,也有的由專門的加密伺服器或硬體完成。 庫內加密 加密物件為資料庫中儲存的資料,比如表、記錄、元素、資料等。庫內加密在dbms核心層實現加密,加/解密過程對使用者與應用透明,資料在物理訪問之前完成加/解密工作。 硬體加密 在物理儲存器與資料庫系統之間的硬體加密裝置,加密解密操作由硬體中間裝置完成 4 資料庫備份技術
資料庫有三種標準的備份方法,它們分別為匯出/匯入(export/import)、冷備份、熱備份。 — 匯入/匯出備份:邏輯備份 — 冷備份:物理備份 — 熱備份:物理備份 設定資料庫備份計畫,啟動資料庫歸檔模式,定期執行資料庫備份,監控檢查備份情況
5 資料庫審計技術
審計是對選定的使用者動作的監控和記錄,通常用於: 審查可疑的活動。例如:資料被非授權使用者所刪除,此時安全管理員可決定對該 資料庫的所有連線進行審計,以及對資料庫的所有表的成功地或不成功地刪除進行審計。 監視和收集關於指定資料庫活動的資料。例如:dba可收集哪些被修改、執行了多少次邏輯的i/o等統計資料。
資料庫常見攻擊與防護
1 破解弱口令或缺省的使用者名稱及口令
oracle資料庫常見預設使用者:sys、system、dbsnmp、scott 資料庫常見預設使用者:sa
2 特權提公升
特權提公升:惡意的使用者占有超過其應該具有的系統特權 原因: 資料庫管理系統漏洞 如:oracle 10g dbms_scheduler本地特權提公升漏洞:任何擁有create job許可權可通過dbms_scheduler執行乙個資料庫作業而轉換session_user到sys,本地攻擊者可以利用此漏洞提公升許可權。 錯誤的配置:乙個使用者被錯誤地授與了超過其實際需要用來完成工作的、對資料庫及其相關應用程式的訪問和特權。 3 利用未用的資料庫服務和功能中的漏洞
利用未用的和不需要的資料庫服務和功能中的漏洞 利用未用的和不需要的資料庫服務和功能中的配置缺陷 4 針對未打補丁的資料庫漏洞
雖然oracle和其它的資料庫廠商確實在為其漏洞打補丁,問題是單位不能跟得上這些補丁,因此它們總是處於企圖利用某種機會的老謀深算的攻擊者控制之下。 5 sql注入攻擊及防護
漏洞原理:在資料庫應用的程式設計過程中,由於程式設計師沒有對使用者輸入資料進行規範檢查,導致攻擊者能夠通過構造惡意輸入資料,運算元據庫執行,甚至能直接攻擊作業系統 sql injection(sql注入),就是利用某些資料庫的外部應用把特定的資料命令插入到實際的資料庫操作語言當中,從而達到入侵資料庫乃至作業系統的目的。
解決方案:
從根本上避免出現sql injection漏洞,必須提高web程式設計師的安全意識和安全程式設計技能來解決程式本身的漏洞; **中必須對所有使用者輸入進行嚴格的過濾,對單引號、雙引號以及「--」等符號、非指定的資料型別及資料長度進行過濾; 用儲存過程來執行所有的查詢 限制表單或查詢字串輸入的長度 檢查使用者輸入的合法性,確信輸入的內容只包含合法的資料 將使用者登入名稱、密碼等資料加密儲存 檢查提取資料的查詢所返回的記錄數量 合理設定資料庫應用程式的許可權; 對資料庫系統進行必要的安全配置。
分類:
sql
資料庫安全
先分3點從全域性來看 對作業系統的安全需求 防止對dbms的非法訪問和修改,保護儲存的資料 檔案的安全性,對資料庫使用者的認證 對資料庫系統本身的安全需求 使用者認證管理 訪問控制 審計,資料庫的穩定性,保證資料的安全性與完整性,完善的恢復功能,資料加密 對資料庫應用系統的安全需求 訪問控制 認證管...
mysql資料庫安全加固 資料庫安全加固系統
安全是多個環節層層防護 共同配合的結果。也就是說在安全領域不能僅僅依靠某乙個環節完成所有的安全防護措施,對於資料庫安全領域也是一樣。資料庫領域的安全措施通常包括 身份識別和身份驗證 自主訪問控制和強制訪問控制 安全傳輸 系統審計 資料庫儲存加密等。只有通過綜合有關安全的各個環節,才能確保高度安全的系...
資料庫原理 資料庫安全概述
2.完整性控制.3.併發性控制.4.資料庫恢復.為了適應和滿足資料共享的環境和要求,dbms要保證整個系統的正常運轉,防止資料洩露,惡意修改,不一致產生,產生問題後的及時恢復,需要一整套而有效的保護措施。dbms對於資料安全的保護功能包括以下4個方面 5大手段 然而使用者標識的方法也存在一些問題 加...