天天看點

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

未經作者同意,任何人不得以“原創”形式釋出,也不得已用于商業用途,本人不負責任何法律責任。

SQL Server是一個Windows 服務,以某個Windows使用者或系統使用者權限運作在Windows作業系統上。選擇合适的帳号運作SQL Server是非常重要的,本系列文章隻關注安全性方面。

選擇合适的帳号之是以非常重要,其中一個原因是如果權限不恰當,使用者(用戶端)可以通過SQL Server對Windows OS或其他資源進行非預期使用。

首次選擇帳号發生在安裝過程中,但是在安裝過後可以更改,如何安裝SQL Server超出本文範圍,是以這裡跳過安裝過程中選擇帳号部分。在安裝完畢之後,可以根據下面步驟實作。

1. 在指令行輸入:services.msc 打開服務管理器。找到SQL Server服務,如圖:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:
Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:
Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

3. 打開SQL Server 配置管理器,找到SQL Server對應執行個體名的選項,本人機上有兩個執行個體,一個是2008R2,一個是2012,2012為命名執行個體,是以選擇SQL Server(SQL2012)這個服務,并右鍵選擇【屬性】,如圖:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

4. 打開【屬性】頁之後,選擇【登入】頁,如圖:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

5. 選擇【内置帳戶】,下拉框中有三種可選項,後續部分将介紹這些帳号:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

6. 當修改了帳号之後,點選【确定】按鈕,會提示需要重新開機SQL Server服務,點選【是】,然後重新開機服務,由于修改運作帳号必須重新開機服務,是以如果在正式環境下,需要謹慎,并且計劃性地修改。

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

7. 至此,我們示範了如何修改SQL Server的運作帳号。接下來将介紹一些原理及注意事項。

SQL Server服務繼承了底層作業系統(即Windows OS)上Windows帳号的權限。它并不一定需要有所在機器上的管理者權限。隻需要有對資料檔案/事務日志檔案、錯誤日志檔案、備份檔案所在目錄的權限和少量系統權限即可。

如果在安裝SQL Server之後修改服務帳号,強烈建議使用SQL Server配置管理器實作,而不要用Windows 服務控制管理器,因為後者并不能很好地進行權限管控。

在Windows Server 2008 R2中,在安裝SQL Server過程中預設使用虛拟帳号(Virtual Account,将在後續文章介紹)作為啟動帳号。如果在步驟5中選擇了【内置帳号】,不需要提供密碼,這些密碼由作業系統管理和預設。下面簡要介紹一下步驟5中的兩類帳号:

Local System:這是一個擁有所在計算機上管理者權限的Windows 系統帳号,在網絡中顯示為(<Domain>\<Machine>)形式,如果機器存在于域環境中,可以對這類帳号授予通路網絡資源的權限。

Network Service:這個帳号相對于Local System而言,有很多本機權限限制,但是可以和Local System一樣通路網絡資源。

你可以選擇一個已經建立的Windows或域帳号,以全名形式((<Domain>\<Account>)作為運作帳号,但是要確定這個帳号沒有受到WIndows上的“密碼過期政策”影響,否者可能在系統運作了一段時間之後由于密碼過期而導緻整個SQL Server服務停止。

作為實踐,建議使用實際Windows 帳号替代内置帳号,因為内置帳号被多種服務所共享,權限管控不如實際WIndows 帳号。比如攻擊者可以使用管理者權限登入SQL Server,并用xp_cmdshell等外部存儲過程進行作業系統級别的攻擊。使用實際Windows帳号能減少這種情況的發生機會。

要允許一個Windows帳号能用于運作一個服務(不是所有帳号都能運作服務),需要授予【Log on as a service right】(中文為【信任計算機和使用者帳戶可以執行委派】)權限,步驟如下:

1. 在本機上,打開管理工具,并選擇【Local Security Policy】,中文為【本地安全政策】,Win8 系統可以控制台→【系統和安全】中找到【Log on as a service right】(中文為【信任計算機和使用者帳戶可以執行委派】):

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

2.添加所需帳号,如圖:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

如果使用WIndows Server Core版本,由于沒有GUI可以修改,也有可能你不能直接登入目标伺服器用GUI操作(非core版本)時,可以在另外一些機器上實作配置:

1. 打開計算機管理器(compmgmt.msc)右鍵根目錄,選擇【連接配接到另一台計算機】,輸入伺服器位址,如圖:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:
Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

成功連接配接之後會變成下圖,注意【計算機管理(本地)】 已經變成了【計算機管理(SQL-A)】:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

2.在【服務和應用程式】節點可以找到SQL Server配置管理器,然後就可以進行前面所說的配置了。

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

如果在域環境下,可以在活動目錄伺服器(Active Directory Server)上通過【Active Directory 管理中心】(Active Directory Administrative Center)上的【Active Directory 使用者和計算機】(Active Directory Users and Computers )工具添加使用者到域環境的機器上。如圖:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

在建立時,使用者選項隻勾選下圖即可,除非特殊需要,否則不建議勾選【使用者下次登入須更改密碼】:

Chapter 1 Securing Your Server and Network(1):選擇SQL Server運作賬号前言:實作:原理:更多資訊:擴充閱讀:

如果希望用于服務帳号的密碼逾時,建議使用Windows Server 2008出現的【托管服務帳号】(managed service accounts),這部分在後續文章介紹。