


SQL Server 2000 數(shù)據(jù)庫安全妙招拆解
1.使用健壯安全的密碼策略
很多數(shù)據(jù)庫帳號的密碼過于簡單,這跟系統(tǒng)密碼過于簡單是一個道理。對于sa更應(yīng)該注意,同時不要讓sa帳號的密碼寫于應(yīng)用程序或者腳本中。健壯的密碼是安全的第一步!SQL Server2000安裝的時候,如果是使用混合模式,那么就需要輸入sa的密碼,除非你確認必須使用空密碼。這比以前的版本有所改進。同時養(yǎng)成定期修改密碼的好習(xí)慣。數(shù)據(jù)庫管理員應(yīng)該定期查看是否有不符合密碼要求的帳號。
比如使用下面的SQL語句: Use masterSelect name,Password from syslogins where password is null
要分配sa密碼,請按下列步驟操作: 1) 展開服務(wù)器組,然后展開服務(wù)器。 2) 展開安全性,然后點擊登錄。 3) 在細節(jié)窗格中,右鍵點擊SA,然后點擊屬性。 4) 在密碼方框中,輸入新的密碼。
2.使用安全的帳號策略和Windows認證模式
由于SQL Server不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個帳號進行最強的保護,當(dāng)然,包括使用一個非常強壯的密碼,最好不要在數(shù)據(jù)庫應(yīng)用中使用sa帳號,只有當(dāng)沒有其它方法登錄到 SQL Server 實例(例如,當(dāng)其它系統(tǒng)管理員不可用或忘記了密碼)時才使用 sa。建議數(shù)據(jù)庫管理員新建立個擁有與sa一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫。安全的帳號策略還包括不要讓管理員權(quán)限的帳號泛濫。
SQL Server的認證模式有Windows身份認證和混合身份認證兩種。在任何可能的時候,您都應(yīng)該對指向SQL Server的連接要求Windows身份驗證模式。
Windows認證模式比混合模式更優(yōu)越,原因在以下:
1) 它通過限制對Microsoft Windows用戶和域用戶帳戶的連接,保護SQL Server免受大部分Internet工具的侵害。
2) 服務(wù)器將從Windows安全增強機制中獲益,例如更強的身份驗證協(xié)議以及強制的密碼復(fù)雜性和過期時間 。
3) 使用Windows認證,不需要將密碼存放在連接字符串中。存儲密碼是使用標(biāo)準(zhǔn)SQL Server登錄的應(yīng)用程序的主要漏洞之一。
4) Windows認證意味著你只需要將密碼存放在一個地方。
要在SQL Server的Enterprise Manager安裝Windows身份驗證模式,請按下列步驟操作: 1)展開服務(wù)器組。 2)右鍵點擊服務(wù)器,然后點擊屬性。 3)在安全性選項卡的身份驗證中,點擊僅限Windows。
3.在防火墻上禁用SQL Server端口
SQL Server的默認安裝將監(jiān)視TCP端口1433以及UDP端口1434。配置您的防火墻來過濾掉到達這些端口的數(shù)據(jù)包。而且,還應(yīng)該在防火墻上阻止與指定實例相關(guān)聯(lián)的其他端口。
4.審核指向SQL Server的連接
SQL Server可以記錄事件信息,用于系統(tǒng)管理員的審查。至少您應(yīng)該記錄失敗的SQL Server連接嘗試,并定期地查看這個日志。在可能的情況下,不要將這些日志和數(shù)據(jù)文件保存在同一個硬盤上。
要在SQL Server的Enterprise Manager中審核失敗連接,請按下列步驟操作: 1) 展開服務(wù)器組。 2) 右鍵點擊服務(wù)器,然后點擊屬性。 3) 在安全性選項卡的審核等級中,點擊失敗。 4) 要使這個設(shè)置生效,您必須停止并重新啟動服務(wù)器。
5.管理擴展存儲過程
對存儲過程進行大手術(shù),并且對帳號調(diào)用擴展存儲過程的權(quán)限要慎重。其實在多數(shù)應(yīng)用中根本用不到多少系統(tǒng)的存儲過程,而SQL Server的這么多系統(tǒng)存儲過程只是用來適應(yīng)廣大用戶需求的,所以請刪除不必要的存儲過程,因為有些系統(tǒng)的存儲過程能很容易地被人利用起來提升權(quán)限或進行破壞。如果你不需要擴展存儲過程xp_cmdshell請把它去掉。使用這個SQL語句: use master sp_dropextendedproc ’xp_cmdshell’
xp_cmdshell是進入操作系統(tǒng)的最佳捷徑,是數(shù)據(jù)庫留給操作系統(tǒng)的一個大后門。如果你需要這個存儲過程,請用這個語句也可以恢復(fù)過來。 sp_addextendedproc ’xp_cmdshell’, ’xpsql70.dll
如果你不需要請丟棄OLE自動存儲過程(會造成管理器中的某些特征不能使用),這些過程包括如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetPropertySp_OAMethod Sp_OASetProperty Sp_OAStop
去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統(tǒng)管理員的密碼來,如下: Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread Xp_regremovemultistring Xp_regwrite
還有一些其他的擴展存儲過程,你也最好檢查檢查。在處理存儲過程的時候,請確認一下,避免造成對數(shù)據(jù)庫或應(yīng)用程序的傷害。
6.使用視圖和存儲程序以分配給用戶訪問數(shù)據(jù)的權(quán)利
使用視圖和存儲程序以分配給用戶訪問數(shù)據(jù)的權(quán)利,而不是讓用戶編寫一些直接訪問表格的特別查詢語句。通過這種方式,你無需在表格中將訪問權(quán)利分配給用戶。視圖和存儲程序也可以限制查看的數(shù)據(jù)。例如,如果你的雇員表格包含一些秘密的工資信息,你可以建立一個省略了工資欄的視圖。
7.使用最安全的文件系統(tǒng)
NTFS是最適合安裝SQL Server的文件系統(tǒng)。它比FAT文件系統(tǒng)更穩(wěn)定且更容易恢復(fù)。而且它還包括一些安全選項,例如文件和目錄ACL以及文件加密(EFS)。在安裝過程中,如果偵測到 NTFS,SQL Server將在注冊表鍵和文件上設(shè)置合適的ACL。不應(yīng)該去更改這些權(quán)限。
通過EFS,數(shù)據(jù)庫文件將在運行SQL Server的帳戶身份下進行加密。只有這個帳戶才能解密這些文件。如果您需要更改運行SQL Server的帳戶,那么您必須首先在舊帳戶下解密這些文件,然后在新帳戶下重新進行加密。
8.安裝升級包
為了提高服務(wù)器安全性,最有效的一個方法就是升級到SQL Server 2000 Service Pack 3a (SP3a)。另外,您還應(yīng)該安裝所有已發(fā)布的安全更新。
9.使用Microsoft基線安全性分析器(MBSA)來評估服務(wù)器的安全性
MBSA 是一個掃描多種Microsoft產(chǎn)品的不安全配置的工具,包括SQL Server和Microsoft SQL Server 2000 Desktop Engine(MSDE 2000)。它可以在本地運行,也可以通過網(wǎng)絡(luò)運行。該工具針對下面問題對SQL Server安裝進行檢測: 1) 過多的sysadmin固定服務(wù)器角色成員。 2) 授予sysadmin以外的其他角色創(chuàng)建CmdExec作業(yè)的權(quán)利。 3) 空的或簡單的密碼。 4) 脆弱的身份驗證模式。 5) 授予管理員組過多的權(quán)利。 6) SQL Server數(shù)據(jù)目錄中不正確的訪問控制表(ACL)。 7) 安裝文件中使用純文本的sa密碼。 8) 授予guest帳戶過多的權(quán)利。 9) 在同時是域控制器的系統(tǒng)中運行SQL Server。 10) 所有人(Everyone)組的不正確配置,提供對特定注冊表鍵的訪問。 11) SQL Server 服務(wù)帳戶的不正確配置。 12) 沒有安裝必要的服務(wù)包和安全更新。
Microsoft 提供 MBSA 的免費下載。
10.其他安全策略
另外,在安裝SQL Server時,還有一些技巧值得注意。
使用TCP/IP作為SQL Server的網(wǎng)絡(luò)庫。這是微軟推薦使用的庫,是經(jīng)受考驗的。如果服務(wù)器將與網(wǎng)絡(luò)連接,使用非標(biāo)準(zhǔn)端口會被一些別有用心的人破壞。
使用一個低級別的帳號來運行SQL Server,而不是一個管理帳號。這對系統(tǒng)崩潰的時候起著保護作用。
不要允許未獲得安全許可的客人訪問任何包括安全數(shù)據(jù)的數(shù)據(jù)庫。
將數(shù)據(jù)庫保護于一個“被鎖的房間”。記住,很多騷擾都是來自于內(nèi)部的人。
關(guān)健詞:SQL
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解