保護SQL Server 2000安全性的十個詳細教程
這里介紹了為提高 SQL Server 安裝的安全性,您可以實施的十件事情:
安裝最新的服務(wù)包
為了提高服務(wù)器安全性,最有效的一個方法就是升級到 SQL Server 2000 Service Pack 4 (SP4)。另外,您還應(yīng)該安裝所有已發(fā)布的安全更新。
使用 Microsoft 基線安全性分析器(MBSA)來評估服務(wù)器的安全性。
MBSA 是一個掃描多種 Microsoft 產(chǎn)品的不安全配置的工具,包括 SQL Server 和 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)。它可以在本地運行,也可以通過網(wǎng)絡(luò)運行。該工具針對下面問題對 SQL Server 安裝進行檢測:
過多的sysadmin固定服務(wù)器角色成員。
授予sysadmin以外的其他角色創(chuàng)建 CmdExec 作業(yè)的權(quán)利。
空的或簡單的密碼。
脆弱的身份驗證模式。
授予管理員組過多的權(quán)利。
SQL Server數(shù)據(jù)目錄中不正確的訪問控制表(ACL)。
安裝文件中使用純文本的sa密碼。
授予guest帳戶過多的權(quán)利。
在同時是域控制器的系統(tǒng)中運行SQL Server。
所有人(Everyone)組的不正確配置,提供對特定注冊表鍵的訪問。
SQL Server 服務(wù)帳戶的不正確配置。
沒有安裝必要的服務(wù)包和安全更新。
使用 Windows 身份驗證模式
在任何可能的時候,您都應(yīng)該對指向 SQL Server 的連接要求 Windows 身份驗證模式。它通過限制對Microsoft Windowsreg;用戶和域用戶帳戶的連接,保護 SQL Server 免受大部分 Internet 的工具的侵害,。而且,您的服務(wù)器也將從 Windows 安全增強機制中獲益,例如更強的身份驗證協(xié)議以及強制的密碼復(fù)雜性和過期時間。另外,憑證委派(在多臺服務(wù)器間橋接憑證的能力)也只能在 Windows 身份驗證模式中使用。在客戶端,Windows 身份驗證模式不再需要存儲密碼。存儲密碼是使用標(biāo)準(zhǔn) SQL Server 登錄的應(yīng)用程序的主要漏洞之一。
要在 SQL Server 的 Enterprise Manager 安裝 Windows 身份驗證模式,請按下列步驟操作:
展開服務(wù)器組。
右鍵點擊服務(wù)器,然后點擊屬性。
在安全性選項卡的身份驗證中,點擊僅限 Windows。
詳細信息,請參閱 SQL Server Books Online 或 MSDN中的“身份驗證模式”。
隔離您的服務(wù)器,并定期備份
物理和邏輯上的隔離組成 了SQL Server 安全性的基礎(chǔ)。駐留數(shù)據(jù)庫的機器應(yīng)該處于一個從物理形式上受到保護的地方,最好是一個上鎖的機房,配備有洪水檢測以及火災(zāi)檢測/消防系統(tǒng)。數(shù)據(jù)庫應(yīng)該安裝在企業(yè)內(nèi)部網(wǎng)的安全區(qū)域中,不要直接連接到 Internet。定期備份所有數(shù)據(jù),并將副本保存在安全的站點外地點。
分配一個強健的sa密碼
sa帳戶應(yīng)該總擁有一個強健的密碼,即使在配置為要求 Windows 身份驗證的服務(wù)器上也該如此。這將保證在以后服務(wù)器被重新配置為混合模式身份驗證時,不會出現(xiàn)空白或脆弱的sa。
要分配sa密碼,請按下列步驟操作:
展開服務(wù)器組,然后展開服務(wù)器。
展開安全性,然后點擊登錄。
在細節(jié)窗格中,右鍵點擊SA,然后點擊屬性。
在密碼方框中,輸入新的密碼。
限制 SQL Server服務(wù)的權(quán)限
SQL Server 2000 和 SQL Server Agent 是作為 Windows 服務(wù)運行的。每個服務(wù)必須與一個 Windows 帳戶相關(guān)聯(lián),并從這個帳戶中衍生出安全性上下文。SQL Server允許sa 登錄的用戶(有時也包括其他用戶)來訪問操作系統(tǒng)特性。這些操作系統(tǒng)調(diào)用是由擁有服務(wù)器進程的帳戶的安全性上下文來創(chuàng)建的。如果服務(wù)器被攻破了,那么這些操作系統(tǒng)調(diào)用可能被利用來向其他資源進行攻擊,只要所擁有的過程(SQL Server服務(wù)帳戶)可以
對其進行訪問。因此,為 SQL Server 服務(wù)僅授予必要的權(quán)限是十分重要的。
我們推薦您采用下列設(shè)置:
SQL Server Engine/MSSQLServer
如果擁有指定實例,那么它們應(yīng)該被命名為MSSQL$InstanceName。作為具有一般用戶權(quán)限的 Windows 域用戶帳戶運行。不要作為本地系統(tǒng)、本地管理員或域管理員帳戶來運行。
SQL Server Agent Service/SQLServerAgent
如果您的`環(huán)境中不需要,請禁用該服務(wù);否則請作為具有一般用戶權(quán)限的Windows域用戶帳戶運行。不要作為本地系統(tǒng)、本地管理員或域管理員帳戶來運行。
重點: 如果下列條件之一成立,那么 SQL Server Agent 將需要本地 Windows管理員權(quán)限:
SQL Server Agent 使用標(biāo)準(zhǔn)的 SQL Server 身份驗證連接到SQL Server(不推薦)。
SQL Server Agent 使用多服務(wù)器管理主服務(wù)器(MSX)帳戶,而該帳戶使用標(biāo)準(zhǔn) SQL Server 身份驗證進行連接。
SQL Server Agent 運行非sysadmin固定服務(wù)器角色成員所擁有的 Microsoft ActiveXreg;腳本或 CmdExec 作業(yè)。
如果您需要更改與 SQL Serve r服務(wù)相關(guān)聯(lián)的帳戶,請使用 SQL Server Enterprise Manager。Enterprise Manager 將為 SQL Server 所使用的文件和注冊表鍵設(shè)置合適的權(quán)限。不要使用 Microsoft 管理控制臺的"服務(wù)"(在控制面板中)來更改這些帳戶,因為這樣需要手動地調(diào)制大量的注冊表鍵和NTFS文件系統(tǒng)權(quán)限以及Micorsoft Windows用戶權(quán)限。
帳戶信息的更改將在下一次服務(wù)啟動時生效。如果您需要更改與 SQL Server 以及 SQL Server Agent 相關(guān)聯(lián)的帳戶,那么您必須使用 Enterprise Manager 分別對兩個服務(wù)進行更改。
在防火墻上禁用 SQL Server 端口
SQL Server 的默認(rèn)安裝將監(jiān)視 TCP 端口 1433 以及UDP端口 1434。配置您的防火墻來過濾掉到達這些端口的數(shù)據(jù)包。而且,還應(yīng)該在防火墻上阻止與指定實例相關(guān)聯(lián)的其他端口。
使用最安全的文件系統(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 的帳戶,那么您必須首先在舊帳戶下解密這些文件,然后在新帳戶下重新進行加密。
刪除或保護舊的安裝文件
SQL Server 安裝文件可能包含由純文本或簡單加密的憑證和其他在安裝過程中記錄的敏感配置信息。這些日志文件的保存位置取決于所安裝的SQL Server版本。在 SQL Server 2000 中,下列文件可能受到影響:默認(rèn)安裝時:Program FilesMicrosoft SQL ServerMSSQLInstall文件夾中,以及指定實例的:Program FilesMicrosoft SQL Server MSSQL$Install文件夾中的sqlstp.log, sqlsp.log和setup.iss
如果當(dāng)前的系統(tǒng)是從 SQL Server 7.0 安裝升級而來的,那么還應(yīng)該檢查下列文件:%Windir% 文件夾中的setup.iss以及Windows Temp文件夾中的sqlsp.log。
審核指向 SQL Server 的連接
SQL Server 可以記錄事件信息,用于系統(tǒng)管理員的審查。至少您應(yīng)該記錄失敗的 SQL Server 連接嘗試,并定期地查看這個日志。在可能的情況下,不要將這些日志和數(shù)據(jù)文件保存在同一個硬盤上。
要在 SQL Server 的 Enterprise Manager 中審核失敗連接,請按下列步驟操作:
展開服務(wù)器組。
右鍵點擊服務(wù)器,然后點擊屬性。
在安全性選項卡的審核等級中,點擊失敗。
要使這個設(shè)置生效,您必須停止并重新啟動服務(wù)器。
【保護SQL Server 2000安全性的十個詳細教程】相關(guān)文章: