摘要:本文闡述了 SQL Server的安全機制,提出了如何提高 SQL Server 安全系統的措施,并研究了數據庫監控信息獲取策略,探討了SQL Server數據庫安全系統的實現。
關鍵詞:SQL Server 安全 系統 分析 措施
1、 SQL Server的安全機制
SQL Server 的安全機制可分為以下三個等級:SQL Server 的登錄安全、數據庫的訪問安全和數據庫對象的使用安全。這三個等級可以有效地保護數據庫中數據的安全。 用戶在使用SQL Server時,需要經過兩個安全階段:身份驗證和權限認證。①身份驗證階段:用戶在 SQL Server 上獲得對任何數據庫的訪問權限之前,必須合法的登錄到 SQL Server 上。②權限認證階段:在身份驗證階段,系統只檢驗用戶是否有連接SQL Server 實例的權力,如果身份驗證通過了,即表示用戶可以連接 SQL Server 實例,否則系統將拒絕用戶的連接。
2、提高SQL Server安全的措施
2.1使用安全的文件系統 NTFS 是最適合安裝 SQL Server 的文件系統,它比 FAT 文件系統更穩定且更容易恢復,而且它還包括一些安全選項,如文件、目錄ACL及文件加密(EFS)等。在安裝過程中,如果偵測到 NTFS,SQL Server 將在注冊表鍵和文件上設置合適的 ACL。通過 EFS 的數據庫文件將在運行 SQL Server 的賬戶身份下進行加密,也只有這個賬戶才能解密這些文件。
2.2使用安全的密碼策略 安全的密碼策略是數據庫管理安全配置的第一步,不要讓 sa 賬號的密碼寫于應用程序或者腳本中。SQL Server 2000 安裝的時候,如果是使用混合模式,那么就需要輸入sa 的密碼,建議不要使用空密碼并定期修改密碼。數據庫管理員應該定期查看是否有不符合密碼要求的賬號。
2.3使用安全的賬號策略 SQL Server 不允許更改 sa 超級用戶名稱,更不能刪除超級用戶,所以必須對 sa 賬號進行嚴格的保護。數據庫管理員可以建立一個擁有與 sa 一樣權限的超級用戶來管理數據庫。
2.4加強數據庫日志的記錄 SQL Server 使用數據庫的事務日志來恢復事務。事務日志是對數據庫中已發生的所有修改和執行每次修改的事務的一連串記錄。
2.5使用協議加密 SQL Server 使用 Tabular Data Stream 協議來進行網絡數據交換。若不加密,所有的網絡傳輸都是明文的,包括密碼、數據庫內容等,這就存在一定的安全隱患,所以,最好使用SSL 加密協議。以下介紹在 SQL Server 2000 上啟用 SSL 加密的配置步驟:①在服務器端計算機上,單擊 Microsoft SQL Server 程序組中的“服務器網絡實用工具”; ②單擊選擇“強制協議加密”;③驗證是否啟用了TCP/IP 和/或命名管道;④單擊“確定”關閉 SQL Server網絡實用工具,然后在“SQL Server 網絡實用工具”消息框中單擊“確定”; ⑤重新啟動SQL Server服務。設置完后,不論客戶端是否指定安全連接(即Encrypt=True/False),后續客戶端所有連接都將以密文傳送。
2.6修改 TCP/IP 使用的端口 SQL Server 一般使用的端口是1433,在實際配置中選擇網絡配置中的 TCP/IP 協議的屬性,將 TCP/IP使用的默認端口變為其他端口。
3、SQL Server安全系統整體結構
3.1橫向結構 橫向看,該系統按照信息獲取系統、分析機系統、控制臺系統按照功能不同進行了重新的系統模塊結構的劃分,并補充了實時狀態查詢模塊,增加了數據庫安全監控系統安全威脅分析的數據來源,橫向結構分:①信息獲取子系統;②分析機子系統;③控制臺子系統。
3.2縱向結構 從縱向看,與原有系統不同之處在于,新的數據庫安全監控系統在采用獲取分析響應的體系結構,構建面向對象開發和面向構件開發的技術基礎上,新引入了面向服務框架思想,實現了獲取與分析的分離,通信與業務的分離。在整個系統中TCP/IP層,即物理網絡層,作為底層存在于系統中,在其上構筑的通信托管層則總攬了系統的全部通信工作,是整個系統的總線,支持異步通訊。
3.3切向結構 若從切面來觀察該系統,新系統的關鍵脈絡變得更加清晰,兩條關鍵脈絡包括:數據和命令,而且互相內部之間實現了高聚合、松耦合,提高了模塊的獨立性。
4、系統工作原理
該系統是一種基于主機探測的實時自動攻擊識別和響應系統,運行于有敏感數據需要保護內部網絡中。通過采取主機監控的方式,獲取用戶的數據庫操作信息。借助于自身內置的攻擊特征數據庫,識別違反用戶定義的安全規則,進行應用級攻擊檢查。主要包括以下幾個方面:①主機報警實現 探頭啟動之后,將自動實現對于探頭所在主機數據庫的監控,獲取與數據庫操作有關的信息,包括數據庫操作的SQL 語句、登陸的用戶名、數據庫主機名稱、當前系統用戶、操作結果(成功或者失?。┑刃畔ⅲ⑿畔⒏袷交l送到分析機,分析機通過自身的信息規則分析系統,從這些信息當中分離出對數據庫安全有危害的操作,并向控制臺發送報警,控制臺在接受到報警信息之后,由管理員發出對攻擊源IP 地址行阻斷的命令。②命令的下發 控制臺對分析機以及探頭進行控制,對它們進行維護更新,并通過查詢的方式,獲取探頭以及分析機的運行狀態。命令由控制臺發出后,向分析機或者經分析機向信息獲取部分傳達,再分別由分析機以及信息獲取部分的響應模塊對命令加以實現。③數據的傳送 探頭、分析機以及控制臺三者之間通過指定的端口進行數據的傳送,所有發送的數據都進行了統一的格式化處理,以固定的格式進行傳遞。
參考文獻:
[1]羅運模,王珊.SQL Server數據庫系統基礎[M].北京:高等教育出版社,2004.
[2]孟盛.SQL Server數據庫安全系統分析[J].價值工程,2011.11