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