6.限制 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 activex®腳本或 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ù)進行更改。
7.在防火墻上禁用 sql server 端口
sql server 的默認安裝將監(jiān)視 tcp 端口 1433 以及udp端口 1434。配置您的防火墻來過濾掉到達這些端口的數(shù)據(jù)包。而且,還應(yīng)該在防火墻上阻止與指定實例相關(guān)聯(lián)的其他端口。
8.使用最安全的文件系統(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 的帳戶,那么您必須首先在舊帳戶下解密這些文件,然后在新帳戶下重新進行加密。
9.刪除或保護舊的安裝文件
sql server 安裝文件可能包含由純文本或簡單加密的憑證和其他在安裝過程中記錄的敏感配置信息。這些日志文件的保存位置取決于所安裝的sql server版本。在 sql server 2000 中,下列文件可能受到影響:默認安裝時:/program files/microsoft sql server/mssql/install文件夾中,以及指定實例的:/program files/microsoft 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。
microsoft發(fā)布了一個免費的實用工具 killpwd,它將從您的系統(tǒng)中找到并刪除這些密碼。
10.審核指向 sql server 的連接
sql server 可以記錄事件信息,用于系統(tǒng)管理員的審查。至少您應(yīng)該記錄失敗的 sql server 連接嘗試,并定期地查看這個日志。在可能的情況下,不要將這些日志和數(shù)據(jù)文件保存在同一個硬盤上。
要在 sql server 的 enterprise manager 中審核失敗連接,請按下列步驟操作:
(1)展開服務(wù)器組。
(2)右鍵點擊服務(wù)器,然后點擊屬性。
(3)在安全性選項卡的審核等級中,點擊失敗。
(4)要使這個設(shè)置生效,您必須停止并重新啟動服務(wù)器。
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 activex®腳本或 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ù)進行更改。
7.在防火墻上禁用 sql server 端口
sql server 的默認安裝將監(jiān)視 tcp 端口 1433 以及udp端口 1434。配置您的防火墻來過濾掉到達這些端口的數(shù)據(jù)包。而且,還應(yīng)該在防火墻上阻止與指定實例相關(guān)聯(lián)的其他端口。
8.使用最安全的文件系統(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 的帳戶,那么您必須首先在舊帳戶下解密這些文件,然后在新帳戶下重新進行加密。
9.刪除或保護舊的安裝文件
sql server 安裝文件可能包含由純文本或簡單加密的憑證和其他在安裝過程中記錄的敏感配置信息。這些日志文件的保存位置取決于所安裝的sql server版本。在 sql server 2000 中,下列文件可能受到影響:默認安裝時:/program files/microsoft sql server/mssql/install文件夾中,以及指定實例的:/program files/microsoft 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。
microsoft發(fā)布了一個免費的實用工具 killpwd,它將從您的系統(tǒng)中找到并刪除這些密碼。
10.審核指向 sql server 的連接
sql server 可以記錄事件信息,用于系統(tǒng)管理員的審查。至少您應(yīng)該記錄失敗的 sql server 連接嘗試,并定期地查看這個日志。在可能的情況下,不要將這些日志和數(shù)據(jù)文件保存在同一個硬盤上。
要在 sql server 的 enterprise manager 中審核失敗連接,請按下列步驟操作:
(1)展開服務(wù)器組。
(2)右鍵點擊服務(wù)器,然后點擊屬性。
(3)在安全性選項卡的審核等級中,點擊失敗。
(4)要使這個設(shè)置生效,您必須停止并重新啟動服務(wù)器。