當前位置:才華齋>計算機>計算機三級>

如何確保SQL Server的安全性

計算機三級 閱讀(2.59W)

對於資料庫管理來說,保護資料不受內部和外部侵害是一項重要的工作。以下是本站小編搜尋整理的關於如何確保SQL Server的安全性,供參考閱讀,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!

如何確保SQL Server的安全性

Microsoft SQL Server 正日益廣泛的使用於各部門內外,作為SQL Server(SQL Server是指Microsoft SQL Server,下文同)的資料庫系統管理員,需要深入的理解SQL Server的安全性控制策略,以實現管理安全性的目標

各層SQL Server安全控制策略是通過各層安全控制系統的身份驗證實現的。身份驗證是指當用戶訪問系統時,系統對該使用者的賬號和口令的確認過程。身份驗證的內容包括確認使用者的賬號是否有效、能否訪問系統、能訪問系統的哪些資料等。

身份驗證方式是指系統確認使用者的方式。SQL Server系統是基於Windows NT/2000作業系統的,現在的SQL Server系統可以安裝在Windows 95(需要安裝Winsock升級軟體)、Windows 98和Windows ME之上(此時,將沒有第一層和第二層的安全性控制),但舊的SQL Servers系統只能執行在Windows NT/2000作業系統上。Windows NT/2000對使用者有自己的身份驗證方式,使用者必須提供自己的使用者名稱和相應的口令才能訪問Windows NT/2000系統。

這樣SQL Server的安全系統可在任何服務器上通過兩種方式實現:SQL Server和Windows結合使用(SQL Server and Windows)以及只使用Windows(Windows Only)。訪問Windows NT/2000系統使用者能否訪問SQL Server系統就取決於SQL Server系統身份驗證方式的設定。

  1. 使用者標識與驗證

使用者標示和驗證是系統提供的最外層安全保護措施。其方法是由系統提供一定的方式讓使用者標示自己的名字或身份。每次使用者要求進入系統時,由系統進行核對,通過鑑定後才提供機器使用權。

對於獲得上機權的使用者若要使用資料庫時資料庫管理系統還要進行使用者標識和鑑定。

使用者標識和鑑定的方法有很多種,而且在一個系統中往往是多種方法並舉,以獲得更強的安全性。常用的方法有:

用一個使用者名稱或者使用者標識號來標明使用者身份。系統內部紀錄著所有合法使用者的標識,系統驗證此戶是否合法使用者,若是,則可以進入下一步的核實;若不是,則不能使用系統。

為了進一步核實使用者,系統常常要求使用者輸入口令(Password)。為保密起見,使用者在終端上輸入的口令不顯示在螢幕上。系統核對口令以驗證使用者身份。

使用者標識與驗證在SQL Server中對應的是Windows NT/2000登入賬號和口令以及SQL Server使用者登入賬號和口令。

  2. SQL Server身份驗證方式

使用者必須使用一個登入賬號,才能連線到SQL Server中。SQL Server可以識別兩類的身份驗證方式,即:SQL Server身份驗證(SQL Server Authentication)方式和Windows身份驗證(Windows Authentication)方式。這兩種方式的結構如圖2所示。這兩種方式都有自己的登入賬號型別。

注意的是,如果在Microsoft Windows95/98/ME上使用SQL Server的Personal版,作為SQL Server宿主的Microsoft Windows95/98/ME系統只能使用SQL Server登入。因此,Windows NT/2000身份驗證、域使用者的賬號和域組賬號都是不可用的。

當使用SQL Server身份驗證方式時, 由SQL Server系統管理員定義SQL Server賬號和口令。當用戶連線SQL Serve時,必須提供登入賬號和口令。當使用Windows身份驗證方式時,由Windows NT/2000賬號或者組控制使用者對SQL Server系統的訪問。這時,使用者不必提供SQL Server的Login賬號和口令就能連線到系統上。但是,在該使用者連線之前,SQL Serve系統管理員必須將Windows NT/2000賬號或者Windows NT/2000組定義為SQL Server的有效登入賬號。

  3. 身份驗證模式

當SQL Serve在Windows NT/2000上執行時,系統管理員必須指定系統的身份驗證模式型別。SQL Server的身份驗證模式有兩種:Windows 身份驗證(Windows Authentication)模式和混合模式(Mixed Mode)。身份驗證模式和身份驗證方式的關係是:

Windows身份驗證模式 (Windows身份驗證方式)

混合模式 (Windows 身份驗證方式 和 SQL Server 身份驗證方式)

Windows 身份驗證模式只允許使用Windows 身份驗證方式,這時使用者無法以SQL Server的登入賬號登入伺服器。它要求使用者登入到Windows NT/2000,當用戶訪問SQL Server時,不用再次登入。雖然使用者仍會被提示登入,但SQL Server的使用者名稱會自動從使用者網路登入ID中提取。而混合身份驗證模式即允許使用Windows NT/2000身份驗證方式,又允許使用SQL Server身份驗證方式。它使使用者既可以登入SQL Server,也可用Windows NT/2000的'整合登入。

整合登入只能在用命名管道連線客戶機伺服器時使用。當使用混合模式時,無論是使用Windows NT/2000身份驗證方式的使用者,還是使用SQL Server身份驗證方式的使用者,都可以連線到SQL Server系統上。也就是說:身份驗證模式是對伺服器來說的,而身份驗證方式是對客戶端來說的。

  4. Windows身份驗證模式

Windows 身份驗證模式最適用於只在部門訪問資料庫的情況。與SQL Server身份驗證方式相比,Windows身份驗證方式具有下列優點:提供了更多的功能,例如安全確認和口令加密、稽核、口令失效、最小口令長度和賬號鎖定;通過增加單個登入賬號,允許在SQL Server系統中增加使用者組;允許使用者迅速訪問SQL Server系統,而不必使用另一個登入賬號和口令。

SQL Server系統按照下列步驟處理Windows 身份驗證方式中的登入賬號:

1)當用戶連線到Windows NT/2000系統上時,客戶機開啟一個到SQL Server系統的委託連線。該委託連線將Windows NT/2000的組和使用者賬號傳送到SQL Server系統中。因為客戶機打開了一個委託連線,所以SQL Server系統知道Windows NT/2000已經確認該使用者有效。

2)如果SQL Server系統在系統表syslogins的SQL Server使用者清單中找到該使用者的Windows NT/2000使用者賬號或者組賬號,就接受這次身份驗證連線。這時,SQL Server系統不需要重新驗證口令是否有效,因為Windows NT/2000已經驗證使用者的口令是有效的。

3)在這種情況下,該使用者的SQL Server系統登入賬號即可以是Windows NT/2000的使用者賬號,也可以是Windows NT/2000組賬號。當然,這些使用者賬號或者組賬號都已定義為SQL Server系統登入賬號。

4)如果多個SQL Server機器在一個域或者在一組信任域中,那麼登入到單個網路域上,就可以訪問全部的SQL Server機器。

  5. 混合模式

混合模式最適合用於外界使用者訪問資料庫或不能登入到Windows域時。

混合方式的SQL Server身份驗證方式有下列優點:混合方式允許非Windows NT/2000客戶、Internet客戶和混合的客戶組連線到SQL Server中;SQL Server身份驗證方式又增加了一層基於Windows 的安全保護。SQL Server按照下列步驟處理自己的登入賬號:

1.當一個使用SQL Server賬號和口令的使用者連線SQL Server時,SQL Server驗證該使用者是否在系統表syslogins中且其口令是否與以前紀錄的口令匹配。

2.如果在系統表syslogins中沒有該使用者賬號,那麼這次身份驗證失敗,系統拒絕該使用者的連線。

  結束語

SQL Server提供多層安全。在最外層,SQL Server的登入安全性直接整合到Widows NT/2000的安全上,它允許Windows NT伺服器驗證使用者。使用這種"Windows 驗證"SQL Server就可以利用Windows NT/2000的安全特性,例如安全驗證和密碼加密、稽核、密碼過期、最短密碼長度,以及在多次登入請求無效後鎖定帳號。