SQL Server 安全机制.ppt_第1页
SQL Server 安全机制.ppt_第2页
SQL Server 安全机制.ppt_第3页
SQL Server 安全机制.ppt_第4页
SQL Server 安全机制.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、【SQL 新手達人】保護資料、抵禦攻擊 以 SQL Server 2005 安全機制為例,討論主題,防護伺服器層級 防護資料庫層級 權限,討論主題,防護伺服器層級 防護資料庫層級 權限,SQL Server 安全概念(一),SQL Server 安全概念(二),Window 層級 與 Windows Server 2003 整合 群組原則、軟體原則等 SQL Server 層級 關閉未使用的功能、服務,減少駭客攻擊區域 使用SQL Server 介面區組態 加密網路傳輸的資料 使用安全通訊端層(SSL)來-SQL Server 組態管理員 IPSec、VPN SQL 登入帳號的密碼原則 密碼複

2、雜性、密碼過期,減少駭客攻擊區域 - 使用SAC(1),SQL Server 介面區組態 SQL Server Surface Area Configuration(SAC) 用來啟用、停用 SQL Server 2005 的功能、服務和遠端連接 預設組態 為停用了部份功能和元件 若為升級安裝,所有功能、服務和連接會保留其升級前的設定狀態 預設: Express、Evaluation 以及 Developer 版本只允許本機用戶端連接 Enterprise、Standard 以及 Workgroup 版本可接聽透過 TCP/IP 連接的遠端用戶端,使用 SAC(2),使用 SAC(3)- 資料

3、庫引擎,資料庫引擎服務設定 停止、啟動服務 設定遠端連接、本機連接 TCP/IP、具名管道等等 功能預設值 未啟用、未設定 特定分散式查詢 CLR整合 DAC Database Mail 原生 XML Web Service OLE Automation Servcie Broker SQL Mail Web 助理 xp_cmdshell,使用 SAC(4)- Analysis Server,停止、啟動服務設定 遠端連接、本機連接 功能預設值- 未啟用 特定資料採礦查詢 是否啟用 DMX OPENROWSET 函數 匿名連接 連接物件 例如:連結維度和連結量值群組 使用者自訂函數 使用者自訂函

4、數的組件(可以是 CLR 或 COM 物件),使用 SAC(5)- Reporting Services,停止、啟動服務設定 功能預設值- 未啟用 排程的事件和報表傳遞 排程報表傳遞、報表快照集,以及報表快取逾期 Web 服務和 HHTP 存取 簡易物件存取通訊協定(SOAP)要求和 URL 存取要求 Windows 整合式安全性,使用 SAC(6)- 全文檢索,停止、啟動服務設定 建議 若是沒有使用,請停用此服務,並調整啟動類型為:手動,使用 SAC(7)- sac 公用程式,sac 公用程式 可以用於匯入和匯出 SQL Server 介面區組態 在一部電腦上設定介面區,並將相同的設定套用、

5、部署至其他電腦(整合單位、組織的安全規範),加密網路傳輸的資料(1),方法有: 利用安全通訊端層(SSL)來加密 SQL Server 與用戶端應用程式之間透過網路傳輸的資料 利用 IPSec 在傳輸期間加密;IPSec 是由用戶端和伺服器作業系統所提供的,不需設定 SQL Server。 啟用 SSL 加密 可提高其安全性。也會降低效能。需要額外的處理: 在連接時需要額外的網路往返 從應用程式傳送到 SQL Server 的封包必須利用用戶端網路程式庫來加密,並使用伺服器網路程式庫來解密 從 SQL Server 傳送到應用程式的封包必須使用伺服器網路程式庫來加密,並使用用戶端網路程式庫來解

6、密 無法支援加密的用戶端將遭到拒絕存取 登入封包已經加密 若未安裝憑證 SQL Server 會在啟動時產生自我簽署憑證 此自我簽署憑證可用來代替信任的憑證授權單位發行的憑證,但它並不提供認證或不可否認性,加密網路傳輸的資料(2),設定 SQL Server 的 SSL 在伺服器上提供(安裝)憑證 設定伺服器接受加密的連接 執行 SQL Server 組態管理員SQL Server 2005 網路組態 的通訊協定滑鼠右鍵內容。 在 憑證下拉式清單選取所需的憑證確定。 在 旗標強制加密選是確定。 重新啟動 SQL Server 服務。 設定用戶端要求加密的連接 將原始憑證或匯出的憑證檔複製到用戶

7、端電腦。 在用戶端電腦上,使用 憑證 嵌入式管理單元安裝根憑證或匯出的憑證檔。 執行 SQL Server 組態管理員SQL Native Client 組態滑鼠右鍵內容。 在 旗標強制通訊協定加密選 是。 使用Management Studio 加密連接 在 物件總管連接Database Engine。 在 連接到伺服器選項。 在 連接屬性勾選加密連接。,加密網路傳輸的資料(3),SQL 登入帳號的密碼原則,SQL 與 Window 登入帳號,都可套用 Windows 2003 的帳號原則來處理,包含: 強制執行密碼原則 阻止暴力攻擊而設計,方法是儘可能地增加密碼長度與強度 建議使用 強制執

8、行密碼逾期 當密碼過期原則時,使用者必須變更舊密碼,否則系統將停用有過期密碼的帳戶。 應用程式必須設計提供 修改與資料庫連線帳號資訊的功能 使用者必須在下次登入變更密碼 第一次使用新的登入帳號時,系統將提示使用者輸入新密碼。 應用程式必須設計提供 修改與資料庫連線帳號資訊的功能,SQL Server 安全概念(三),資料庫層級,命名慣例 SQL Server 名稱和 SQL-92 標準名稱,所用的名稱不同 關聯性:,結構描述(Schema) 單一命名空間的資料庫實體集合;包含了資料庫的各物件:資料表、檢視表、預存程序等等 使用結構描述,可以幫助管理、設計人員,移除資料庫使用者時,無須修改影響到

9、應用程式,系統檢視(System Views),系統檢視 保護系統資訊,提供管理、開發人員存取中繼資料(meta data)的安全途徑,提高系統的穩定 包含 目錄檢視、相容性檢視、資訊結構描述檢視、複寫檢視 、動態管理檢視和函數等等 相容性 舊版的許多系統資料表,在SQL Server 2005 都實作為的一組:相容性檢視(Compatibility Views) 相容性檢視所公開的中繼資料與舊版是相同的 不包含 SQL Server 2005 相關的中繼資料 例如: sysobjects(SQL Server 2000 系統資料表),對應sysobjects(SQL Server 2005

10、相容性檢視) 建議改用: sys.objects(SQL Server 2005 目錄檢視),常用的目錄檢視(Catalog Views),更安全的檢視機制 依執行者的權限來顯示中繼資料,例如: 需是物件擁有者 或 ALTER、CONTROL、TAKE OWNERSHIP 或VIEW DEFINITION 任一權限的被授與者,才看得到使用者物件的定義 常用的目錄檢視 sys.databases 顯示伺服器上,各個資料庫的相關資訊 sys.sql_modules 顯示由 SQL 語言定義的模組物件之 SQL 指令碼 sys.objects 顯示以結構描述為範圍的各個物件之相關資訊 但不顯示 DD

11、L 觸發程序,因為不是以結構描述為範圍 搭配 OBJECT_ID()、OBJECT_NAME 和 OBJECTPROPERTY() 內建函數 sys.triggers 顯示各個觸發程序(包含:DDL、DML 觸發程序)的相關資訊,SQL Server 安全概念(四),防護伺服器層級,原生 XML Web Service 端點,端點(endpoints) 是新增加的連線機制。讓 SQL Server 2005 可直接接收原生 HTTP SOAP 要求的 Web Services(TCP 通訊埠:80 的要求) 無須安裝 IIS 透過 Windows Sever 2003 作業系統的 HTTP 接

12、聽程式處理序 (Http.sys) 已應用於: 資料庫鏡像、Service Broker 等等 搭配預存程序、使用者自訂函數來應用 安全性最佳作法 使用 Kerberos 驗證。 將端點連接權限限制為特定的使用者或群組 使用安全通訊端層SSL交換敏感資料 在防火牆後面使用 SQL Server 確認伺服器上的 Windows 來賓(Guest) 帳戶已停用 依需要控制和更新端點狀態 儘可能使用安全的端點預設值,提供了下列好處 任何 Web 服務應用程式都可以存取 SQL Server 的執行個體 協力廠商 Web 開發工具集的改良式整合 為間斷連接或鬆散連接的行動用戶端提供更好的支援 伺服器內

13、建的安全性措施,可以減少實作額外防火牆的需求 不建議用於 具有即時高度並行存取與短期交易特性的應用程式 Web 伺服陣列類型、向外延展 作為中間層的取代層,討論主題,防護伺服器層級 防護資料庫層級 權限,結構描述(Schema),結構描述 結構描述(Schema)是形成單一命名空間的資料庫實體集合 資料庫使用者與結構描述(Schema)之間沒有隱含連接 在相同的結構描述中不能有同名的資料表 多位資料庫使用者可共用同一個預設的結構描述 可包含不同資料庫使用者所擁有的安全性實體,但這個資料庫使用者可以不是擁有該結構描述的資料庫使用者 預設結構描述 是用來解析所參考的安全性實體名稱,而不是使用它們的

14、完整名稱 在 SQL Server 2000 中,首先檢查的位置是呼叫資料庫使用者所擁有的結構描述,然後才是 dbo 所擁有的結構描述 在 SQL Server 2005 中,每位使用者都會有預設的結構描述 這個預設結構描述指定伺服器解析物件名稱時所搜尋的第一個結構描述 如果未定義 DEFAULT_SCHEMA,則資料庫使用者會以 dbo 作為它的預設結構描述 向前版相容,結構描述,使用者結構描述分隔(1),使用者結構描述分隔(2),使用者結構描述分隔(3),物件的名稱解析,結構描述隔離的優點,有以下的優點 各個使用者可透過角色或 Windows 群組中的成員資格擁有單一結構描述。並允許角色和

15、群組擁有物件 卸除資料庫使用者的作業,將可大幅簡化 卸除資料庫使用者並不需要重新命名該使用者之結構描述所包含的物件: 不需要修訂和測試明確參考這些安全性實體的應用程式 多位使用者可共用同一個預設的結構描述,以進行統一名稱的解析 預設結構描述(Default Schema) 可讓開發人員在特別針對特定應用程式所建立的結構描述中儲存共用物件,而不是儲存在 dbo 結構描述中 可使用比舊版更多、精確的權限管理 完整的物件名稱,有四個部份:server.database.schema.object,資料加密(1),資料加密(2),資料加密(3)- 混合加解密,資料加密(4),資料加密(5),服務主要金

16、鑰(Service Master Key) 是在安裝 SQL Server 時,利用 cryptGenKey 函數自動生成的對稱金鑰 資料保護 API(DPAPI)使用SQL Server 服務啟動帳號的密碼,產生DPAPI 加密“服務主要金鑰”時,所需要用的資訊 如果更換了啟動服務帳戶的身份,則必須使用原始金鑰憑證,先對該“服務主密鑰”進行解密。然後,再使用新的金鑰加密該“服務主密鑰” 建議: 備份服務主要金鑰,然後在一個安全且位於異地的位置存放此金鑰備份 僅使用SQL Server 組態管理員工具來更改啟動服務帳戶。此工具將自動執行必要的步驟將該“服務主要金鑰”解密,然後再重新將其加密 注

17、意:如果只是更改啟動服務帳戶密碼,則不必執行上述操作 資料庫主要金鑰(Database Master Key) 是一種對稱金鑰 不會於建立資料庫時自動建立,必須於需要自行建立 將對稱金鑰加密的方法 憑證的公開金鑰、用戶提供的密碼、另一個對稱金鑰、非對稱金鑰 注意 對稱金鑰並不存儲在資料庫中 只有對稱金鑰的加密值存儲在資料庫中 能夠存取資料的客戶端,應該先將對稱金鑰解密,否則是無法將資料解密的,選擇資料加密的演算法,演算法 對稱式 DES、TRIPLE_DES、RC2、RC4、RC4_128、DESX、AES_128、AES_192、AES_256 不建議使用 RC4 和 RC4_128 資料流

18、加密來保護機密資料 非對稱式 RSA_512、RSA_1024、RSA_2048 並沒有單一演算法適合所有情況: 強式加密通常比弱式加密耗用更多 CPU 資源 長金鑰會比短金鑰產生更強的加密 非對稱加密比使用相同金鑰長度的對稱加密更強,但速度相對比較慢 含有長金鑰的區塊密碼比串流式密碼更強 複雜的長密碼比短密碼更強 建議: 如果您要加密很多資料,應該使用對稱金鑰來加密資料,並使用非對稱金鑰來加密、保護對稱金鑰 如果您需要壓縮資料,應該在加密之前先壓縮資料 加密的資料無法壓縮,但壓縮資料可以加密,討論主題,防護伺服器層級 防護資料庫層級 權限,主體(Principals),安全性實體(Secur

19、ables),安全性實體(Securables),安全性實體 是 SQL Server 授權系統用來規定存取權的資源 有些安全性實體可以包含在其他安全性實體內 稱為範圍(scope)的巢狀階層,以保護它們自己本身的安全 安全性實體範圍 伺服器、資料庫、結構描述 有部分的主體也可以是安全性實體 例如: 登入(Logins)是實體,但是您可以利用此登入實體 grant 權限給其他的登入,讓其成為安全性實體,伺服器 包含有 端點 、登入、資料庫 資料庫 包含有 使用者、角色、應用程式角色、組件、訊息類型、 Route、服務、遠端服務繫結、全文檢索目錄、憑證、非對稱金鑰、對稱金鑰、合約、結構描述 結構

20、描述 包含有 類型、 XML 結構描述集合、物件 其中物件類別的成員有 彙總、條件約束、函數、程序、佇列、統計資料、同義字、資料表、檢視,權限(Permissions),權限(Permissions),權限 系統透過驗證主體是否已被授與適當的權限,來規範主體在安全性實體上可執行的動作 採管理階層式安全性實體集合,此集合可使用權限來確保安全性 每個安全性實體都具有可授與主體的關聯權限 大部份的安全性實體都是伺服器與資料庫,但您可以在更深入的層次設定不連續的權限 權限繼承(inherited permissions) 當您將權限賦予在上層的安全性實體範圍時,則透過繼承將取得其下層的權限,例如: 當

21、您將某主體在結構描述(Schema)上賦予 SELECT 權限時,則將自動繼承取得隸屬於此結構描述的所有物件之 SELECT 權限 DENT 敘述永遠覆蓋 GRANT 敘述 例如: 某使用者明確具備對此資料表的 SELECT 權限,但此使用者所隸屬的角色卻明確拒絕SELECT 權限,則使用者將不具備 SELECT 權限,權限的命名慣例,例如: CONTROL 將類似擁有權的能力授與給被授與者 被授與者實際上擁有安全性實體上已定義的所有權限 已被授與 CONTROL 的實體也可以將安全性實體上的權限授與其他人 因為安全性模型是階層式的,所以在特定範圍內的 CONTROL 隱含包含該範圍該範圍下所有安全性實體上的 CONTROL 權限,例如: 資料庫上的 CONTROL 權限隱含表示該資料庫上的所有權限,該資料庫中所有組件的權限、所有結構描述的權限,以及所有結構描述內所有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论