為了提高服務器安全性
最有效的一個方法就是升級到 SQL Server
Service Pack
a (SP
a)
要下載 SP
a
請訪問SQL Server
SP
a 頁面
另外
您還應該安裝所有已發布的安全更新
要訂閱新安全更新的通知
請訪問產品安全通知頁面
使用 Microsoft 基線安全性分析器(MBSA)來評估服務器的安全性
MBSA 是一個掃描多種 Microsoft 產品的不安全配置的工具
包括 SQL Server 和 Microsoft SQL Server
Desktop Engine (MSDE
)
它可以在本地運行
也可以通過網絡運行
該工具針對下面問題對 SQL Server 安裝進行檢測
過多的sysadmin固定服務器角色成員
授予sysadmin以外的其他角色創建 CmdExec 作業的權利
空的或簡單的密碼
脆弱的身份驗證模式
授予管理員組過多的權利
SQL Server數據目錄中不正確的訪問控制表(ACL)
安裝文件中使用純文本的sa密碼
授予guest帳戶過多的權利
在同時是域控制器的系統中運行SQL Server
所有人(Everyone)組的不正確配置
提供對特定注冊表鍵的訪問
SQL Server 服務帳戶的不正確配置
沒有安裝必要的服務包和安全更新
Microsoft 提供 MBSA 的免費下載
要了解 MBSA 的全部文檔和最新版本
請訪問MBSA 頁面
使用 Windows 身份驗證模式 在任何可能的時候
您都應該對指向 SQL Server 的連接要求 Windows 身份驗證模式
它通過限制對Microsoft Windows®用戶和域用戶帳戶的連接
保護 SQL Server 免受大部分 Internet 的工具的侵害
而且
您的服務器也將從 Windows 安全增強機制中獲益
例如更強的身份驗證協議以及強制的密碼復雜性和過期時間
另外
憑證委派(在多台服務器間橋接憑證的能力)也只能在 Windows 身份驗證模式中使用
在客戶端
Windows 身份驗證模式不再需要存儲密碼
存儲密碼是使用標准 SQL Server 登錄的應用程序的主要漏洞之一
要在 SQL Server 的 Enterprise Manager 安裝 Windows 身份驗證模式
請按下列步驟操作
展開服務器組 右鍵點擊服務器
然後點擊屬性
在安全性選項卡的身份驗證中
點擊僅限 Windows
詳細信息
請參閱 SQL Server Books Online 或 MSDN中的
身份驗證模式
隔離您的服務器並定期備份 物理和邏輯上的隔離組成 了SQL Server 安全性的基礎
駐留數據庫的機器應該處於一個從物理形式上受到保護的地方
最好是一個上鎖的機房
配備有洪水檢測以及火災檢測/消防系統
數據庫應該安裝在企業內部網的安全區域中
不要直接連接到 Internet
定期備份所有數據
並將副本保存在安全的站點外地點
有關備份過程和其他操作性最佳實踐的指南
請參閱SQL Server
操作指南
分配一個強健的sa密碼 sa帳戶應該總擁有一個強健的密碼
即使在配置為要求 Windows 身份驗證的服務器上也該如此
這將保證在以後服務器被重新配置為混合模式身份驗證時
不會出現空白或脆弱的sa
要分配sa密碼
請按下列步驟操作
展開服務器組
然後展開服務器
展開安全性
然後點擊登錄
在細節窗格中
右鍵點擊SA
然後點擊屬性
在密碼方框中
輸入新的密碼
詳細信息
請參閱 SQL Server Books Online 或 MSDN中的
系統管理員(sa)登錄
主題
限制 SQL Server服務的權限 SQL Server
和 SQL Server Agent 是作為 Windows 服務運行的
每個服務必須與一個 Windows 帳戶相關聯
並從這個帳戶中衍生出安全性上下文
SQL Server允許sa 登錄的用戶(有時也包括其他用戶)來訪問操作系統特性
這些操作系統調用是由擁有服務器進程的帳戶的安全性上下文來創建的
如果服務器被攻破了
那麼這些操作系統調用可能被利用來向其他資源進行攻擊
只要所擁有的過程(SQL Server服務帳戶)可以對其進行訪問
因此
為 SQL Server 服務僅授予必要的權限是十分重要的
我們推薦您采用下列設置 SQL Server Engine/MSSQLServer
如果擁有指定實例
那麼它們應該被命名為MSSQL$InstanceName
作為具有一般用戶權限的 Windows 域用戶帳戶運行
不要作為本地系統
本地管理員或域管理員帳戶來運行
SQL Server Agent Service/SQLServerAgent
如果您的環境中不需要
請禁用該服務
否則請作為具有一般用戶權限的Windows域用戶帳戶運行
不要作為本地系統
本地管理員或域管理員帳戶來運行
重點
如果下列條件之一成立
那麼 SQL Server Agent 將需要本地 Windows管理員權限
SQL Server Agent 使用標准的 SQL Server 身份驗證連接到SQL Server(不推薦)
SQL Server Agent 使用多服務器管理主服務器(MSX)帳戶
而該帳戶使用標准 SQL Server 身份驗證進行連接
SQL Server Agent 運行非sysadmin固定服務器角色成員所擁有的 Microsoft ActiveX®腳本或 CmdExec 作業
如果您需要更改與 SQL Serve r服務相關聯的帳戶
請使用 SQL Server Enterprise Manager
Enterprise Manager 將為 SQL Server 所使用的文件和注冊表鍵設置合適的權限
不要使用 Microsoft 管理控制台的
服務
(在控制面板中)來更改這些帳戶
因為這樣需要手動地調制大量的注冊表鍵和NTFS文件系統權限以及Micorsoft Windows用戶權限
詳細信息
請參閱 Microsoft 知識庫文章不使用 SQL Server
中的 Enterprise Manager 來更改 SQL Server 服務帳戶
帳戶信息的更改將在下一次服務啟動時生效
如果您需要更改與 SQL Server 以及 SQL Server Agent 相關聯的帳戶
那麼您必須使用 Enterprise Manager 分別對兩個服務進行更改
在防火牆上禁用 SQL Server 端口 SQL Server 的默認安裝將監視 TCP 端口
以及UDP端口
配置您的防火牆來過濾掉到達這些端口的數據包
而且
還應該在防火牆上阻止與指定實例相關聯的其他端口
使用最安全的文件系統 NTFS 是最適合安裝 SQL Server 的文件系統
它比 FAT 文件系統更穩定且更容易恢復
而且它還包括一些安全選項
例如文件和目錄 ACL 以及文件加密(EFS)
在安裝過程中
如果偵測到 NTFS
SQL Server 將在注冊表鍵和文件上設置合適的 ACL
不應該去更改這些權限
通過 EFS
數據庫文件將在運行 SQL Server 的帳戶身份下進行加密
只有這個帳戶才能解密這些文件
如果您需要更改運行 SQL Server 的帳戶
那麼您必須首先在舊帳戶下解密這些文件
然後在新帳戶下重新進行加密
刪除或保護舊的安裝文件 SQL Server 安裝文件可能包含由純文本或簡單加密的憑證和其他在安裝過程中記錄的敏感配置信息
這些日志文件的保存位置取決於所安裝的SQL Server版本
在 SQL Server
中
下列文件可能受到影響
默認安裝時
:\Program Files\Microsoft SQL Server\MSSQL\Install文件夾中以及指定實例的:\Program Files\Microsoft SQL Server\ MSSQL$\Install文件夾中的sqlstplog sqlsplog和setupiss
如果當前的系統是從 SQL Server 安裝升級而來的那麼還應該檢查下列文件%Windir% 文件夾中的setupiss以及Windows Temp文件夾中的sqlsplog
Microsoft發布了一個免費的實用工具 Killpwd它將從您的系統中找到並刪除這些密碼要更多地了解這個免費下載請參閱 Microsoft 知識庫文章服務包安裝可能在文件中保存標准安全密碼
審核指向 SQL Server 的連接
SQL Server 可以記錄事件信息用於系統管理員的審查至少您應該記錄失敗的 SQL Server 連接嘗試並定期地查看這個日志在可能的情況下不要將這些日志和數據文件保存在同一個硬盤上
要在 SQL Server 的 Enterprise Manager 中審核失敗連接請按下列步驟操作
展開服務器組
右鍵點擊服務器然後點擊屬性
在安全性選項卡的審核等級中點擊失敗
要使這個設置生效您必須停止並重新啟動服務器
詳細信息請參閱 Microsoft TechNet 中的 SQL Server 審核以及SQL Server Books Online或MSDN中的使用審核日志
From:http://tw.wingwit.com/Article/program/SQLServer/201311/22139.html