如何讓 SQL Server 2005,由作業系統管理員不想要的存取更困難

文章翻譯 文章翻譯
文章編號: 932881 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

簡介

Microsoft SQL Server 2005 安裝程式建立為您安裝每個服務的本機 Windows 群組。 SQL Server 2005 安裝程式會將每個服務的服務帳戶加入其各自的群組。 SQL Server 容錯移轉叢集安裝 Windows 網域群組使用相同的方式。 這些網域群組必須建立由網域系統管理員才能執行 SQL Server 2005 安裝程式。 所有 Windows NT 權限和所需的特定服務的權限會都加入系統存取控制清單 (SACL) 每個 Windows 群組。網域系統管理員不授予權限直接服務帳戶。

在另外 Windows 群組,您建立 SQL Server 2005,SQL Server 代理程式和 BUILTIN\Administrators 群組被授與佈建在 SQL Server 2005 SYSADMIN 固定的伺服器角色中的 SQL Server 2005 登入。 這種組態可讓任何帳戶都是使用 Windows NT 驗證連線登入 SQL Server 2005 這些群組的成員。 因為使用者在 SQL Server SYSADMIN 固定的伺服器角色成員資格,使用者將登入 SQL Server 2005 成 SQL Server 2005 系統管理員。(使用者會登入使用 sa 帳戶)。 然後,使用者具有無限制存取,SQL Server 2005 安裝並且它的資料。 而且,任何知道針對 SQL Server 2005 的執行個體或 SQL Server 代理程式服務帳戶密碼可以使用服務的使用者帳戶登入電腦。然後,使用者可以讓 Windows NT 驗證連接 SQL Server 2005 SQL Server 系統管理員的身分。

您建立的 SQL Server 2005 報告服務 (SSRS) 和全文檢索搜尋服務的 Windows 群組也會授與 SQL Server 登入。 不過,報告服務和全文檢索搜尋服務都不提供 SYSADMIN 固定的伺服器角色中待。

某些 SQL Server 2005 系統管理員想功能性角色和作業系統系統管理員,以嚴格分隔的資料庫管理員。 這些系統管理員想要防範不想要存取由作業系統的系統管理員的 SQL Server 2005。

其他相關資訊

如何讓 SQL Server 2005,由作業系統管理員不想要的存取更困難

若要增加到 SQL Server 2005,由作業系統管理員不想要的存取難度,您必須移除已授與 BUILTIN\Administrators 群組的登入權限。然後,您必須授與直接到服務帳戶的登入 SQL Server 2005,以及 SQL Server 代理程式 」。 接下來,您必須提供 SYSADMIN 固定的伺服器角色中登入。最後,您必須刪除已授與它們各自的 Windows 群組的登入。 要這麼做,請您執行下列步驟:
  1. 請確定您有 SYSADMIN 固定的伺服器角色的成員帳戶。這個帳戶是不被授與 「 SQL Server 2005 登入權限只透過 BUILTIN\Administrators 群組的成員。
  2. 移除已授與 BUILTIN\Administrators 群組的登入權限。要這麼做,請您執行下列步驟:
    1. 使用具有 ALTER ANY 登入權限的使用者帳戶的登入 SQL Server 2005。
    2. 展開 [安全性]、 展開 登入]、 BUILTIN\Administrators,] 上按一下滑鼠右鍵,然後按一下 [刪除]。
    3. 在 [刪除物件] 對話方塊中,按一下 [確定]
    附註您中刪除已授與 BUILTIN\Administrators 群組的登入後只依賴這個群組,來登入 SQL Server 2005 中的成員資格的任何帳戶將不再能夠存取 SQL Server 2005。

    如 Microsoft 叢集服務 」 (MSCS) 服務帳戶資訊請參閱 Microsoft 叢集服務 」 (MSCS) 服務帳戶一節。
  3. 使用具有 ALTER ANY 登入明確地授與 SQL Server 2005 直接到 SQL Server 2005 和 SQL Server 代理程式 」 會使用服務帳戶的登入的權限的帳戶。 若要執行此動作執行下列 SQL 陳述式
    CREATE LOGIN [<Domain Name>\<SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    CREATE LOGIN [<Domain Name >\<SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    
  4. 使用 [SYSADMIN 成員帳戶固定伺服器角色佈建您在步驟 2 中 [SYSADMIN 中新增的登入固定伺服器角色
    EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Service Account> ', @rolename = N'sysadmin'
    EXEC master..sp_addsrvrolemember @loginame = N'<Domain Name>\<SQL Server Agent Service Account> ', @rolename = N'sysadmin'
    
  5. 使用具有 ALTER ANY 登入在刪除登入至 SQL Server 2005 群組與 SQL Server 代理程式 Windows 群組已授與的權限的帳戶
    DROP LOGIN [<Computer Name>\<SQLServer2005SQLServerUser>$<Computer Name>$MSSQLSERVER]
    DROP LOGIN [<Computer Name>\<SQLServer2005AgentUser>$<Computer Name>$MSSQLSERVER]
    
即使您依照這些步驟執行之後,SQL Server 2005 服務帳戶,以及 SQL Server 代理程式服務帳戶的密碼必須保持秘密從作業系統的系統管理員。 如果 MSCS 服務帳戶已經被佈建 SYSADMIN 固定伺服器角色中,MSCS 服務帳戶密碼必須也保持秘密從作業系統的系統管理員。 如果作業系統管理員知道針對 SQL Server 2005 服務帳戶或 SQL Server 代理程式服務帳戶密碼,作業系統的系統管理員可以使用服務帳戶登入到電腦。作業系統系統管理員登入電腦之後作業系統的系統管理員以 SQL Server 系統管理員可以連線到 SQL Server 2005 的執行個體。

若要避免作業系統管理員學習 SQL Server 2005 和 SQL Server 代理程式 」 會使用服務帳戶密碼,SQL Server 系統管理員必須能夠設定服務帳戶的新密碼。 在大多數情況下 SQL Server 2005 系統管理員不是作業系統的系統管理員。 因此,特殊用途公用程式必須被寫入才能提供這項功能。比方說您可以建立信任的服務,SQL Server 2005 系統管理員可以用來變更 SQL Server 2005 所使用的服務帳戶的密碼。 Microsoft 目前不提供這項服務。

Microsoft 叢集服務 」 (MSCS) 服務帳戶

在 SQL Server 2005 容錯移轉叢集安裝 MSCS 服務帳戶會依賴登入 SQL Server 2005 執行 IsAlive 檢查 BUILTIN\Administrators 群組的成員資格。 如果 BUILTIN\Administrators 群組移除容錯移轉叢集必須明確地授與 MSCS 服務帳戶權限登入 SQL Server 2005 容錯移轉叢集。 若要執行此動作執行 [SQL Server 2005 的執行個體中的 [下列 SQL 陳述式
CREATE LOGIN [<Domain Name>\<MSCS Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
SQL Server 2005 Service Pack 2 加入新的 SQL Server 2005 容錯移轉叢集的診斷功能。 叢集中發生容錯移轉之前,診斷自動擷取 SQL Server 2005 的叢集資源的狀態。 SQL Server 2005 資源動態連結程式庫 (DLL) 可收集這項診斷資料更容易,如下所示:
  • SQL Server 2005 資源開始在 MSCS 服務帳戶的安全性內容下 Sqlcmd.exe 公用程式的執行個體。 然後,SQL Server 2005 資源透過範例的各種動態管理檢視 (DMV) 一個專用的系統管理員連線 (DAC) 執行 SQL 指令碼。
  • 叢集中發生容錯移轉之前,SQL Server 2005 資源就會擷取 SQL Server 2005 程序的使用者傾印檔案。
因為管理員專用的連接用來收集一些診斷資料,MSCS 服務帳戶必須提供 SYSADMIN 固定的伺服器角色中。 如果您的組織的安全性作法表示 MSCS 服務帳戶不能在 SYSADMIN 固定伺服器角色中被佈建,MSCS 服務帳戶可以被授與 SQL Server 登入的 [SYSADMIN 中並未提供待固定伺服器角色。 在這種情況下通常俘虜 Sqlcmd.exe 公用程式的診斷將會失敗,因為 Sqlcmd.exe 公用程式無法登入 SQL Server 2005。 SQL Server 2005 資源 DLL 應該能夠收集不論是否服務帳戶的 SQL Server 2005 資源 DLL 佈建中 [SYSADMIN 固定伺服器角色的使用者傾印檔案。

如果您想要使用的是 SYSADMIN 固定伺服器角色的成員的帳戶登入 SQL Server 2005。然後,執行 MSCS 服務帳戶加入 SYSADMIN 固定的伺服器角色下面的 SQL 陳述式
EXEC master.sp_addsrvrolemember @loginame = N'<Domain Name>\<MSCS Service Account> ', @rolename = N'sysadmin'

如何變更服務帳戶

雖然前一個步驟,可能使它更難作業系統管理員連線到 SQL Server 2005,上述步驟,使其更繁瑣變更服務帳戶,為 SQL Server 2005 及 SQL Server 代理程式 」。對於 SQL Server 2005 和 SQL Server 代理程式 」,請變更服務帳戶,請依照下列步驟執行:
  1. 將新的服務帳戶或服務帳戶新增到 Windows 群組或您建立 SQL Server 和 SQL Server 代理程式 」 的群組。
  2. 使用具有 ALTER ANY 登入權限建立新的服務帳戶的 SQL Server 2005 登入的帳戶。 若要執行此動作執行 [從具有 ALTER ANY 登入權限的帳戶的 [下列 SQL 陳述式
    CREATE LOGIN [<Domain Name>\<New SQL Server Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    CREATE LOGIN [<Domain Name>\<New SQL Server Agent Service Account>] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
    
  3. 使用佈建 SYSADMIN 固定的伺服器角色,來執行下列 SQL 陳述式中的帳戶。
    EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Service Account> ', @rolename = N'sysadmin'
    EXEC master..sp_addsrvrolemember @loginame = N’ <Domain Name>\<New SQL Server Agent Service Account> ', @rolename = N'sysadmin'
    
    附註 此陳述式會將 SQL Server 2005 服務帳戶] 和 [SQL Server 代理程式服務帳戶加入至 SYSADMIN 固定的伺服器角色。
  4. 使用 SQL Server 組態管理員,以變更服務帳戶的適當的服務。 要這麼做,請您執行下列步驟:
    1. 在 [SQL Server 組態管理員] 中,按一下 [SQL Server 2005 服務]。
    2. 您想要修改的服務上按一下滑鼠右鍵,然後按一下 [內容]
    3. 按一下 [登入] 索引標籤,] 然後輸入您想要服務使用的使用者帳戶資訊。
    4. 當您完成輸入帳號資訊,請按一下 [確定]
    附註當您變更服務帳戶時,SQL 伺服器設定管理員 」 會提示您重新啟動服務。
  5. 使用具有 ALTER ANY 登入權限刪除 SQL Server 2005 服務帳戶和 SQL Server 代理程式服務帳戶所使用的登入的帳戶。 若要執行此動作執行下列 SQL 陳述式
    DROP LOGIN [<Domain Name>\<Old SQL Server Service Account>]
    DROP LOGIN [<Domain Name>\<Old SQL Server Agent Service Account>]
    
附註您沒有授與任何新的 Windows NT 權限或新的服務帳戶的權限因為其各自的 Windows 群組,在步驟 1 中加入新的服務帳戶。

若要稽核的處理程序的建議

若想 SQL Server 防範不想要存取作業系統的系統管理員應該也要稽核下列處理程序:
  • 稽核啟動及停駐點的 Windows 架構的伺服器。
  • 稽核啟動和停止 SQL Server 2005 服務和 SQL Server 代理程式 」 服務。
  • 稽核在哪一個 SQL Server 資料庫檔案、 資料檔案、 記錄檔和資料庫備份檔案會儲存的目錄的存取。
  • 稽核到 SQL Server 2005 服務帳戶和 SQL Server 代理程式服務帳戶的變更。
  • 稽核網路登入名稱與電腦的登入,由 SQL Server 2005 服務帳號、 由 SQL Server 代理程式服務帳戶或 MSCS 服務帳戶。

NT AUTHORITY\SYSTEM 帳戶

NT AUTHORITY\SYSTEM 帳戶也是授與 SQL Server 登入。 NT AUTHORITY\SYSTEM 帳戶提供 SYSADMIN 固定的伺服器角色中。 執行不刪除這個帳戶,或從 SYSADMIN 固定的伺服器角色移除。 NTAUTHORITY\SYSTEM 帳戶是 Microsoft 更新和使用 Microsoft SMS 將套用至 SQL Server 2005 安裝的 Service Pack 和 Hotfix。 SQL 寫入器服務也會使用 NTAUTHORITY\SYSTEM 帳戶。

而且,如果在單一使用者模式啟動 SQL Server 2005 的任何 BUILTIN\Administrators 群組中具有成員資格的使用者可以連線到 SQL Server 2005 SQL Server 系統管理員的身分。 使用者可以連線無論是否 BUILTIN\Administrators 群組已授與佈建 SYSADMIN 固定伺服器角色中的伺服器登入。 這種行為是經過設計規劃的。 這種行為被為了用來進行資料修復案例。

SQL Server 2005 的安全性最佳作法的相關資訊,請參閱 SQL Server 2005 線上叢書 》 中 < 安全性考量的是 SQL 伺服器安裝 > 主題]。

?考

如需有關安裝 SQL Server 的安全性考量的詳細資訊,請造訪下列 Microsoft TechNet 網站:
http://technet.microsoft.com/en-us/library/ms144228.aspx

屬性

文章編號: 932881 - 上次校閱: 2009年2月13日 - 版次: 3.1
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
關鍵字:?
kbmt kbpubtypekc kbcode kbinfo kbhowto KB932881 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:932881
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com