2. 使用microsoft基線安全性分析器(mbsa)來評估服務器的安全性 
    mbsa 是一個掃描多種microsoft產(chǎn)品的不安全配置的工具,包括sql server和microsoft sql server 2000 desktop engine(msde 2000)。它可以在本地運行,也可以通過網(wǎng)絡運行。該工具針對下面問題對sql server安裝進行檢測: 
1) 過多的sysadmin固定服務器角色成員。
2) 授予sysadmin以外的其他角色創(chuàng)建cmdexec作業(yè)的權利。
3) 空的或簡單的密碼。
4) 脆弱的身份驗證模式。
5) 授予管理員組過多的權利。
6) sql server數(shù)據(jù)目錄中不正確的訪問控制表(acl)。
7) 安裝文件中使用純文本的sa密碼。
8) 授予guest帳戶過多的權利。
9) 在同時是域控制器的系統(tǒng)中運行sql server。
10) 所有人(everyone)組的不正確配置,提供對特定注冊表鍵的訪問。
11) sql server 服務帳戶的不正確配置。
12) 沒有安裝必要的服務包和安全更新。
microsoft 提供 mbsa 的免費下載。
 3. 使用windows身份驗證模式 
    在任何可能的時候,您都應該對指向sql server的連接要求windows身份驗證模式。它通過限制對microsoft windows用戶和域用戶帳戶的連接,保護sql server免受大部分internet工具的侵害,而且,您的服務器也將從windows安全增強機制中獲益,例如更強的身份驗證協(xié)議以及強制的密碼復雜性和過期時間。另外,憑證委派(在多臺服務器間橋接憑證的能力)也只能在windows身份驗證模式中使用。在客戶端,windows身份驗證模式不再需要存儲密碼。存儲密碼是使用標準sql server登錄的應用程序的主要漏洞之一。要在sql server的enterprise manager安裝windows身份驗證模式,請按下列步驟操作: 
1)展開服務器組。
2)右鍵點擊服務器,然后點擊屬性。
3)在安全性選項卡的身份驗證中,點擊僅限windows。
 4. 隔離您的服務器,并定期備份 
    物理和邏輯上的隔離組成了sql server安全性的基礎。駐留數(shù)據(jù)庫的機器應該處于一個從物理形式上受到保護的地方,最好是一個上鎖的機房,配備有洪水檢測以及火災檢測及消防系統(tǒng)。數(shù)據(jù)庫應該安裝在企業(yè)內(nèi)部網(wǎng)的安全區(qū)域中,不要直接連接到internet。定期備份所有數(shù)據(jù),并將副本保存在安全的站點外地點。 
 5. 分配一個強健的sa密碼
    sa帳戶應該總擁有一個強健的密碼,即使在配置為要求 windows 身份驗證的服務器上也該如此。這將保證在以后服務器被重新配置為混合模式身份驗證時,不會出現(xiàn)空白或脆弱的sa。 
要分配sa密碼,請按下列步驟操作:
1) 展開服務器組,然后展開服務器。
2) 展開安全性,然后點擊登錄。
3) 在細節(jié)窗格中,右鍵點擊sa,然后點擊屬性。
4) 在密碼方框中,輸入新的密碼。
 6. 限制 sql server服務的權限 
    sql server 2000和sql server agent是作為windows服務運行的。每個服務必須與一個windows帳戶相關聯(lián),并從這個帳戶中衍生出安全性上下文。sql server允許sa登錄的用戶(有時也包括其他用戶)來訪問操作系統(tǒng)特性。這些操作系統(tǒng)調(diào)用是由擁有服務器進程的帳戶的安全性上下文來創(chuàng)建的。如果服務器被攻破了,那么這些操作系統(tǒng)調(diào)用可能被利用來向其他資源進行攻擊,只要所擁有的過程(sql server服務帳戶)可以對其進行訪問。因此,為sql server服務僅授予必要的權限是十分重要的。 
我們推薦您采用下列設置:
1) sql server engine/mssqlserver
如果擁有指定實例,那么它們應該被命名為mssql$instancename。作為具有一般用戶權限的windows域用戶帳戶運行。不要作為本地系統(tǒng)、本地管理員或域管理員帳戶來運行。
2) sql server agent service/sqlserveragent
如果您的環(huán)境中不需要,請禁用該服務;否則請作為具有一般用戶權限的windows域用戶帳戶運行。不要作為本地系統(tǒng)、本地管理員或域管理員帳戶來運行。
重點: 如果下列條件之一成立,那么sql server agent將需要本地windows管理員權限:
sql server agent使用標準的sql server身份驗證連接到sql server(不推薦);
sql server agent使用多服務器管理主服務器(msx)帳戶,而該帳戶使用標準sql server身份驗證進行連接;
sql server agent運行非sysadmin固定服務器角色成員所擁有的microsoft activex腳本或 cmdexec作業(yè)。
如果您需要更改與sql server服務相關聯(lián)的帳戶,請使用 sql server enterprise manager。enterprise manager將為sql server所使用的文件和注冊表鍵設置合適的權限。不要使用microsoft管理控制臺的“服務”(在控制面板中)來更改這些帳戶,因為這樣需要手動地調(diào)制大量的注冊表鍵和ntfs文件系統(tǒng)權限以及micorsoft windows用戶權限。
帳戶信息的更改將在下一次服務啟動時生效。如果您需要更改與sql server以及sql server agent相關聯(lián)的帳戶,那么您必須使用enterprise manager分別對兩個服務進行更改。
7. 在防火墻上禁用sql server端口
sql server的默認安裝將監(jiān)視tcp端口1433以及udp端口1434。配置您的防火墻來過濾掉到達這些端口的數(shù)據(jù)包。而且,還應該在防火墻上阻止與指定實例相關聯(lián)的其他端口。
8. 使用最安全的文件系統(tǒng)
ntfs是最適合安裝sql server的文件系統(tǒng)。它比fat文件系統(tǒng)更穩(wěn)定且更容易恢復。而且它還包括一些安全選項,例如文件和目錄acl以及文件加密(efs)。在安裝過程中,如果偵測到 ntfs,sql server將在注冊表鍵和文件上設置合適的acl。不應該去更改這些權限。
通過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。
如果當前的系統(tǒng)是從sql server 7.0安裝升級而來的,那么還應該檢查下列文件:%windir% 文件夾中的setup.iss以及windows temp文件夾中的sqlsp.log。
microsoft發(fā)布了一個免費的實用工具killpwd,它將從您的系統(tǒng)中找到并刪除這些密碼。
10. 審核指向sql server的連接
sql server可以記錄事件信息,用于系統(tǒng)管理員的審查。至少您應該記錄失敗的sql server連接嘗試,并定期地查看這個日志。在可能的情況下,不要將這些日志和數(shù)據(jù)文件保存在同一個硬盤上。
要在sql server的enterprise manager中審核失敗連接,請按下列步驟操作:
1) 展開服務器組。
2) 右鍵點擊服務器,然后點擊屬性。
3) 在安全性選項卡的審核等級中,點擊失敗。
4) 要使這個設置生效,您必須停止并重新啟動服務器。
新聞熱點
疑難解答
圖片精選