蔡長征 曹士玲


摘要:SQLServer的安全性是指當服務器運行時,避免非法用戶訪問數據庫、保證數據庫中數據的安全。該文首先概述和分析SQL Server安全性和安全體系結構;然后介紹SQL Server支持的身份驗證兩種模式及其更換方式;接下來對服務器安全性管理和數據庫安全性管理進行了討論,包括創建登錄賬號、拒絕登錄賬號、刪除賬號以及數據庫用戶的基本操作等內 容;最后對SQL Server數據庫權限管理及其種類進行了介紹。
關鍵詞:SQL;Server;安全機制;數據庫;權限
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)06-0001-02
SQL Server數據庫具有較強的穩定性和可靠性,并且由于其便于操作,深受用戶的喜愛,也是目前使用最廣泛的企業數據庫之一。由于數據庫中存儲著大量的數據,這些數據被大量的用戶以共享的方式訪問,因此保證這些數據的安全性非常重要。研究數據庫的安全性也就是建立必要的安全保護措施,以保護數據庫系統軟件和其中的數據不因偶然或惡意原因而遭到破壞、更改和泄露。
數據庫安全性內容主要包括三個方面,分別是數據信息的完整性、數據信息的保密性以及數據信息的可用性性。完整性主要包括物理完整性和邏輯完整性兩部分,即數據不受硬件故障的影響,可以在遭受災難性破壞時重建和恢復所有數據,同時確保數語義和操作的完整性。保密性是指禁止未授權的用戶讀取任何數據或通過推理方式從經過授權的數據獲取未授權的數據,造成信息泄露。可用性是確保已授權用戶對數據的正確操作,同時保證系統運行效率,并提供友好的人機界面。
1SQL Server的安全機制
為更好地保護數據,SQL Server的安全機制劃分為四層,如圖1所示。
第一層安全機制是訪問操作系統的安全性。當用戶訪問SQL SERVER時,必須要先登錄到服務器上。在登錄時,用戶輸入合法的用戶名和密碼,并由操作系統進行驗證,成功后才能繼續其他的操作,否則被拒絕。由于第一層的安全機制一般同操作系統管理員或網絡管理員管理,SQL Server的安全性有所提高,但同時增加了數據庫管理系統的安全性和靈活性的難度。
第二層安全機制是訪問SQL Server登錄安全性。用戶在登錄時必須提供有效的用戶名和密碼。在登錄SQL Server服務器成功后,根據用戶不同的權限對數據庫進行訪問。
第三層安全機制是連接數據庫的使用安全性。用戶在登錄SQL Server服務器后,連接用戶事先指定的默認數據庫,未指定的數據庫不能訪問,但系統提供的數據庫除外。系統提供的數據庫存儲了大量系統信息,比如master數據庫允許所有用戶訪問。
第四層安全機制是數據對象的使用安全性。數據庫中的數據對象一般只允許數據庫的擁有者訪問。其他需要訪問數據庫對象的用戶,需要數據庫擁有者對其授予相應的訪問權限。
2SQL Server支持的身份驗證
SQL Server提供了兩種身份認證模式:Windows身份認證模式和混合身份認證模式嘲。Windows身份驗證模式只允許用戶使用Windows系統賬號連接數據庫,適用于單位在一定范圍內的數據庫訪問。用戶在連接SQL Server服務器時,必須使用相同的賬號登錄Windows系統。由于Windows系統已對用戶口令的有效性進行了驗證,SQL Server不再重新驗證。Windows身份驗證使用一系列加密消息來驗證SQL SERVER中的用戶,加強數據庫的安全,建議使用Windows身份驗證。混合驗證模式適用于不能登錄Windows域或外界用戶訪問數據庫。此種模式同時支持SQL Server用戶驗證模式和Windows身份驗證模式,為開發人員提供了更多的選擇方式。
用戶在初始安裝或登錄SQL Server服務器時,需要指定驗證模式。若要更改已指定的驗證模式,需要使用安裝SQL Serv-er服務器時預設的Windows賬號或sa賬號進行更改。更改驗證模式的方法是:登錄SQL Server Management Studio,依次選擇服務器的“性屬”中的“安全性”選項,更改驗證模式。如果在安裝SQL Server過程中選擇的是"Windows身份驗證模式”,安裝程序會禁用sa賬號。禁用sa賬號需要啟用后才能使用。啟用sa賬號的方法是:在SQL Server服務器的“對象資源管理器”中,展開“安全性”,依次展開“登錄名”,右鍵單擊登錄名中的“sa”,選擇“屬性”命令中的“狀態”選項,在右面的登錄處選擇“啟用”,最后選擇“確定”。修改完成后的模式需要重啟SQL Server服務后生效。
3服務器的安全性管理
SQL Server賬號分為服務器賬號和數據庫賬號兩種:服務器賬號負責連接SQL Server服務器,數據庫賬號負責數據庫的訪問安全性訪問驗證。這里介紹登錄賬號的一些基本操作,包括創建登錄賬號、刪除登錄賬號和拒絕登錄賬號等。
3.1服務器登錄賬號管理
安裝SQL Server時,系統默認創建sa賬號在混合登錄驗證模式中使用,Windows登錄賬號在兩種模式下都可以進行登錄。Windows賬號創建的方法是:打開“控制面板”,再依次雙擊“管理工具”圖標,“計算機管理”圖標,打開“計算機管理”窗口。在單擊“系統工具”左側的“+”號,展開“本地用戶和組”,右鍵選擇“用戶”選擇“新用戶”,完成Windows系統用戶創建。
Windows登錄賬號創建好后,就可以使用該賬號登錄到Windows服務器,如果要訪問SQL Server服務器,還需要通過SQL Server登錄賬號與SQL Server服務器建立連接。具體操作方法如下:右擊“登錄名”選擇快捷菜單中的“新建登錄名”命令,在彈出的“登錄名N建”對話框中單擊“搜索”按鈕,在彈出的“選擇用戶和組”對話框中輸入新建立的Windows賬號,再單擊“檢查名稱”,單擊“確定”。在選擇"Windows身份驗證”模式內容中,可為用戶選擇需要連接的默認數據庫。同時可以為新創建的賬號設置“服務器角色”,“用戶映射”,“安全對象”等內容,最后單擊“確定”完成用戶創建。
SQL Server中定義了9個服務器角色,服務器角色名稱和描述如表1所示。系統管理員可以為登錄賬號設置服務器角色,也可以根據需要建立所需要的角色。系統默認已將sa賬號和Windows登錄賬號設置為public和sysadmin服務器角色。在“登錄屬性”對話框中,可以為用戶設置“用戶映射”,映射到用戶登錄名下的數據庫在用戶登錄時進行訪問。
3.2 SQL Server登錄賬號管理
SQL Server登錄賬號的創建方法同Windows登錄賬號的創建方法類似,右擊“登錄名”選擇快捷菜單中的“新建登錄名”命令,在彈出的“登錄名一新建”,在“登錄名”處輸入新建用戶名,并選擇"SQL Server身份驗證”模式,選擇需要連接的默認數據庫,最后單擊“確定”完成用戶創建。如果需要拒絕某個賬號登錄,可以通過找到“登錄屬性”中“狀態”選項,將其中“登錄”處的內容設置為“禁用”。被禁用登錄賬號不能登錄到SQL Server服務器。為保證數據庫安全,數據庫管理員應及時對賬號進行刪除或停用。
4掌握數據庫的安全性管理
創建的服務器賬號只能連接SQL Server服務器,還不能訪問具體的數據庫。要想訪問數據庫,還需要將服務器登錄賬號映射到需要訪問的數據庫中數據庫賬號。數據庫賬號的創建方法是:展開需要訪問數據庫的“安全性”,右擊“用戶”,選擇“新建用戶”,輸入新建“用戶名”的內容,單擊“用戶名”后的按鈕,在打開的“選擇登錄名”窗口中輸入服務器登錄賬號名,單擊“檢查名稱”進行檢查服務器登錄名后,單擊“確定”按鈕,在“默認架構”中選擇“dbo”,最后在“數據庫角色成員身份”選擇“db owner”,完成數據庫用戶創建。數據庫用戶進行修改和刪除操作,需要以數據庫管理員身份登錄SQL Server進行。
SQL Server中包括兩種數據庫角色:固定數據庫角色和用戶自定義角色。固定角色存在于每個數據庫中,如表2所示,用戶不能更改。
用戶可根據權限不同定義新的角色,自定義數據庫角色是對固定角色的補充。對于新創建的自定義數據庫角色,需要先指派權限,將用戶添加到該自定義的角色中。
5掌握數據庫權限管理
權限是用戶擁有操作的能力。在SQL Server中包括對句權限、語句權限和暗示性權限三種。對象權限是指為特定對象設置權限。特定對象可以為服務器、登錄賬號和服務器角色,也可以為應用程序角色、數據庫或數據庫角色等。語句權限指創建數據庫或數據庫中對象權限時需要設置的權限。暗示性權限是系統預先授予固定角色的權限。
權限管理的操作有授予權限、權限收回和拒絕權限。授權是指把對象權限或語句權限賦予數據庫用戶或角色。權限收回是把授予用戶或角色的權限刪除。拒絕權限是使數據庫用戶或角色拒絕使用權限的操作。授予權限、權限收回和拒絕權限的操作可以使用圖形化界面或SQL語句方式實現。
6結束語
筆者從數據庫四層安全機制對數據安全進行了分析。為做好安全管理工作,充分地保障網絡用戶的信息安全,還需要對SQL Server數據庫在使用過程中的安全問題進行多角度分析,例如數據加密技術、存取控制技術、安全管理模式、備份與恢復等,只有這樣才能更好地保證數據庫的安全。