程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL Server 2012 平安概述

SQL Server 2012 平安概述

編輯:MSSQL

SQL Server 2012 平安概述。本站提示廣大學習愛好者:(SQL Server 2012 平安概述)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server 2012 平安概述正文


在保密你的辦事器和數據,戒備以後龐雜的進擊,SQL Server有你須要的一切。但在你能有用應用這些平安功效前,你須要懂得你面臨的威逼和一些根本的平安概念。這篇文章供給了基本,是以你可以對SQL Server裡的平安功效充足應用,不消在面臨特定威逼,不克不及掩護你數據的功效上糟蹋時光。

從讓人目眩紛亂的客戶端應用銜接,經由過程隨處散布的收集,特別是互聯網,關系數據庫在各類運用法式裡普遍應用。這使數據對任何人,在任何處所都可拜訪。數據庫可以保留人類常識的很年夜部門,包含高度敏感的小我信息和讓國際商務任務的症結數據。

關於想要盜取數據或經由過程改動數據來損害數據的具有者的人來講,這些功效使數據庫成為有吸引力的目的。確保你的數據平安是SQL Server設置裝備擺設和應用它來保留數據的法式的主要部門。這個系列會探訪SQL Server 2012平安的根本,如許的話你可以掩護你的數據和辦事器資本,按你須要的平安品級來掩護數據,免受這些威逼對你數據的影響。年夜部門信息對SQL Server的晚期版本也實用,回到SQL Server 2005也能夠,由於那是微軟在產物裡完全檢討平安的時刻。但我也談判論只在SQL Server 2012和後續版本裡才有的功效。

在保密你的辦事器和數據,戒備以後龐雜的進擊,SQL Server有你須要的一切。但在你能有用應用這些平安功效前,你須要懂得你面臨的威逼和一些根本的平安概念。這篇文章供給了基本,是以你可以對SQL Server裡的平安功效充足應用,不消在面臨特定威逼,不克不及掩護你數據的功效上糟蹋時光。

威逼

在懂得若何設置裝備擺設和應用SQL Server來掩護你的數據,辨認特定命據集和它的辦事器的威逼是主要的第一步。你創立的用來治理你的小學足球隊的裝備清單極可能不須要嚴厲的平安辦法。極可能你會想供給最小的拜訪掌握,如許的話,足球隊成員不克不及隨機修正他具有哪一個足球盒的記載。即便這些數據被盜或改動也不會是世界末日。

另外一方面,假如數據庫有關於足球隊孩子的小我信息,例如家庭地址和接洽德律風,極可能你想增強平安掩護(也許司法上也請求你這麼做)。能夠你會經由過程隔離拜訪來掩護數據的隱私,如許的話,簡直任何可以拜訪數據庫來修正裝備數據,但只要一些人可以拜訪小我數據。假如數據包含家長的信譽卡號,你會須要極端當心的掩護誰人數據。

你的數據很輕易遭到許多威逼,以下清單是罕見的幾個。在收集上有許多資本可以針對你的特定情形幫你剖析。這個清單只想贊助你開端斟酌這些威逼,若何應用SQL Server的功效來應對它們,或許至多削減裸露數據給他們。

  1. 數據盜取:數據盜取包含各類對你數據的未受權拜訪,不管經由過程黑入你收集的外界人員,照樣在主要人物上不法掃描的外部人員。它會觸及到讀取到制止信息的高興,或許被經由過程發賣盜取的信譽卡號的好處所驅動。
  2. 數據損壞:獲的你數據拜訪權限的可以修正它,它會帶來一系列的成績,包含封閉你的一切營業讓你在"眼前為難(當你一切的客戶記載被刪除時就會產生)。
  3. 數據改動:在關系數據庫裡存儲數據的一個最年夜利益是數據庫自己可以贊助掩護數據的完全性。數據完全性包含每一個定單有聯系關系的客戶,在日期列存儲的日期代表日歷上的日期,百分比字段只包括0和100之間的值等這些束縛。當你斟酌平安的時刻,數據完全性不會是第一個想到的,但倒是你的數據掩護的主要部門。
  4. 不法存儲:在曩昔,在貿易進程時代,你搜集的數據只是你小我的事。但選擇在美國,普及歐盟和可以掌握你存儲的各類小我信息,你若何存儲它,你若何掩護它的其他國度裡的都有對應的司法存在。守法的處分是嚴厲的——包含罰款和對你公司的公共抽象喪失費。
  5. 這個系列文章談到的SQL Server 2012的功效可以幫你減緩這些各類威逼和其他方面。你必需懂得對你數據的威逼,才可以曉得若何掩護它們。不要在不克不及避免你特定命據威逼的辦法上糟蹋時光。你永久不克不及斟酌到一切的假定情形,但最為最壞的情形你要包管你的數據庫辦事器對它的面向客戶是完整弗成用的。平安老是個讓步,對時光的風險和完成保證的需要金錢之間的均衡。

    平安設計理念

    早在2012年,比爾蓋茨宣布了他污名昭著的盤算機可托備忘錄,即微軟在產物裡若何斟酌和完成平安的,可以證實是個轉機點。依據微軟官方網站,可托盤算機政策啟動了。“基於優越的貿易理論,專注創立和帶來平安,隱私和靠得住的盤算體驗。我們的目的是更平安、更可托的互聯網”。

    話句話說,微軟在十多年前就變得異常存眷平安。關於這個修正的第一個版本是SQL Server 2005,微軟開端在產物斟酌充足的平安。自那今後,SQL Server的每一個版本都邑保存新的平安架構,同時增強它,增長新的功效來同時進步平安來應對新湧現的威逼。

    如微軟在SQL Server 2005時代裡所描寫的,經由過程界說產物平安的四年夜支柱來影響SQL Server可托盤算成長。

    1. 平安設計(Secure by design):微軟停止普遍的威逼剖析和代碼設計與交互的平安審計,來肯定進擊者可以容身取得辦事器和數據的處所。如許讓微軟設計的SQL Server可以掩護你在辦事器上存儲的數據的保密性,完全性和可用性。
    2. 默許平安(Secure by default):SQL Server發明性的默許裝置並激活症結的焦點數據庫組件。這就是說不是焦點的數據庫的功效不會裝置,或許裝置以後不會啟用。沒有裝置的功效不裝置就不會作為進擊目的。你必需蘇醒認識裝置或啟用的非焦點功效。這會阻攔你能夠不曉得卻裝置功效的許多進擊,你認為從未用過它們。
    3. 安排平安(Secure in deploymen):微軟供給對象,支撐裝置SQL Server的平安並堅持它的平安。SQL辦事器設置裝備擺設對象贊助你設置裝備擺設辦事器平安。最主要的是,SQL Server的更新曾經是微軟在線更新的一部門,是以很輕易取得平安的更新和補釘。
    4. 互動平安(Secure through communication):微軟曾經樹立了完美的基本舉措措施來手機它產物中的破綻。但這些信息假如只留在微軟外部的話是沒有任何用途的。是以公司努力於新破綻的互動,積極打補釘來修改它們,按期宣布更新到它的在線贊助體系來表現新的平安信息。
    5. “它是平安的”的理念曾經影響了全部產物。雖然SQL Server一翻開就是相當平安的,當你創立數據庫和裝置辦事時,你必需做出明智的平安選擇來堅持SQL Server的平安。作出並包管臨盆數據庫辦事器的平安須要行為和小心。

      記住有時刻掩護數據的最好辦法是直接不把它不放到數據庫裡——例如,只保留你必需相對保持有用的信譽卡信息(如許的人其實不多)。假如你沒有如許的需求,你應當處置信譽卡事務,保留成果,而不是信譽卡信息自己。你不會蒙受你沒稀有據上的平安風險。

      平安的2個階段

      SQL Server的平安模子,像Windows一樣,是個2個階段的進程,許可用戶和其它登錄的拜訪辦事器裡受掩護的資本。

      1. 身份驗證(Authentication):一個用戶登錄勝利,是有用的,可以拜訪辦事器。身份驗證答復成績,“你是誰?“須要用戶去證實它,平日須要用戶供給用戶名和對應的暗碼,但其它情勢的證據變得加倍風行。
      2. 受權(Authorization):用戶可以和SQL Server對象互動——例如數據庫,表和存儲進程——哪一個用戶有權限。受權答復成績,”你可以做甚麼?“。
      3. 用戶可以登錄到SQL Server,但除非它們有權限做甚麼,例如拜訪數據庫,它就做不了甚麼。是以你不只須要為你的用戶供給受權憑證,你還要受權它們拜訪數據,在每一個它們須要應用的數據庫裡為它們受權一次,界說賬號。

        當你斟酌它的時刻,在每一個數據庫裡須要一個用戶賬號更成心義。否則的話,甚麼可以阻攔用戶登錄到SQL Server並可以拜訪想拜訪任何數據庫。這個概念有分歧的寄義來完成分歧的場景,但這是平安的根本狀況。

        在這個系列的接上去文章談判到驗證和受權,你會學到在SQL Server裡若何完成各類平安功效來敷衍你對數據曾經辨認的威逼。

        SQL Server平安術語

        當你與SQL Server和其它產物打交道時,你會碰著各類特定的專業術語。這裡有一些最多見的術語,還有在數據庫平安高低文裡它們的寄義。

        1. 驗證(Authentication):如下面提到的,驗證是積極辨認一小我的進程,經由過程須要證實它是可以登錄的人。它答復成績:你是誰?
        2. 受權(Authorization):一旦體系驗證你為一個有用用戶,受權(如上所述)決議用戶在辦事器或數據庫具有的權限。它答復成績,這裡如今你能做甚麼?
        3. 組(Group):在Windows裡,組是已登錄後與它聯系關系的主體。任何受權到組都邑受權到組裡相干聯的登錄。
        4. 模仿(Impersonation):一切的Windows過程,包含各類SQL Server過程,在特定的平安高低文裡運轉,平日是主體惹起過程啟動。當過程暫時在分歧的平安高低文時會產生模仿。這長短常壯大的切必須的才能,但會惹起潛伏的濫用。
        5. 登錄(Login):登錄是具有辦事器實例裡的對象一些拜訪級其余主體。平日,登錄經常使用來與用戶交互。然則SQL Server登錄是一個用來從裡面拜訪辦事器的賬號。有時刻登錄包含拜訪辦事器級其余對象,例如設置裝備擺設信息,但不會授與數據庫裡的任何權限。
        6. 允許(Permission):允許是拜訪掩護資本的權力,例如從表讀取數據或在辦事器級別創立新的數據庫。一個學科平日意味著其他允許,取決於對象允許的規模。
        7. 主體(Principal):主體是可以吸收拜訪SQL Server裡掩護資本的任何用戶或代碼組件。
        8. 權限(Privilege):權限是主體具有的普遍權力和允許。這個詞有時刻和允許瓜代應用,平日意味著特定、廣義的權力。權力意味著一組普遍的允許。
        9. 腳色(Role):SQL Server腳色相似於Windows用戶組,但只限於SQL Server實例規模。關於一個組,你可以分派登錄和用戶到腳色,這就是這個腳色具有登錄和用戶的一切允許。
        10. 用戶(User):用戶是在特定命據庫裡具有對象的一些拜訪級其余主體。用戶平日會映照到登錄。簡略來講,登錄可以拜訪SQL Server實例,用戶可以拜訪數據。
        11. 在這個系列的文章裡你會看到年夜部門這些術語的應用。

          SQL Server平安治理和完成

          正如SQL Server裡年夜多半把持和治理義務,平日平安功效簡直都有許多治理和完成辦法,包含應用SSMS的圖形界面,編寫和履行T-SQL代碼,應用在敕令行編寫PowerShell與SQL Server停止交互。應用PowerShell曾經不是本系列文章的評論辯論規模,但在這個系列文章裡,你會看到別的2個技巧的許多例子。

          應用SSMS的平安功效,平日你可以在對象閱讀器裡右擊適合的對象,選擇【屬性】,然後在對話框裡應用適合的頁來做你想要的修正。例如,在AdventureWorksLT2012示例數據庫上設置平安,在對象閱讀器裡右擊數據庫名,選擇【屬性】,然後選擇【權限】頁,如插圖1.1所示。

          插圖1.2:用來修正AdventureWorksLT2012數據庫平安的權限頁

          同時在數據庫和辦事器級別,對象閱讀器包含了平安節點,讓你治理和完成其他各類平安功效。插圖1.2顯示了對AdventureWorksLT2012數據庫和辦事器實例級其余這個節點。這2個高亮的節點包含各類子節點,給你在選擇規模內拜訪適合的平安對象。

          插圖1.2:在對象閱讀器裡,在辦事器和數據庫級其余平安對象

          你會在SSMS和它各個窗體裡找到各類隱蔽的平安功效,是以你可以好好點開這些平安性節點。

          在SQL Server 2005完全安檢裡別的一個轉變是可以許可更顆粒度的方法分派平安。在接上去的文章裡你就會學到,你會對各類主體分派各類允許來完成“最小特權”的主要平安准繩——這個設法主意是每一個主體只能有它們須要的允許:不多也很多。跟著這個轉變,微軟加強了T-SQL,在說話上有壯大的支撐,可以直接把持平安對象。

          代碼1.1展現了你可使用T-SQL創立平安對象的簡略例子。代碼起首創立鏈接到現存體系登錄的辦事器級其余登錄。然後在AdventureWorksLT2012數據庫裡,代碼創立了個用戶映照到登錄,分派了默許架構給用戶。最初的一點代碼向你展現了你若何在數據庫裡刪除用戶和創立另外一個用戶映照到異樣的登錄。很做秀,固然,然則它展現了在代碼裡你能做甚麼。或許你也能夠在SSMS的圖形界面裡完成,假如你愛好的話。

          -- Add a Windows login to SQL Server
          CREATE LOGIN [PC201602202041\woodytu] FROM WINDOWS;
          GO
          
          USE AdventureWorksLT2012;
          GO
          
          -- Name the user the same name as login
          CREATE USER [PC201602202041\woodytu] FOR LOGIN [PC201602202041\woodytu]
           WITH DEFAULT_SCHEMA = Production;
          GO
          
          -- Or, rename the user in the database
          DROP USER [PC201602202041\woodytu];
          GO
          CREATE USER woody FOR LOGIN [PC201602202041\woodytu];
          GO
          
          -- Query metadata to show that user was created
          SELECT * FROM sys.database_principals WHERE name = 'PC201602202041\woodytu';
          SELECT * FROM sys.database_principals WHERE name = 'woody';

          代碼1.1:創立辦事器登錄和數據庫用戶的示例代碼

          假如你想運轉這個代碼,起首你要做些修改。除非你的盤算機稱號和我的一樣,且有一個woodytu的用戶存在,你須要在代碼裡修正稱號。這個代碼在AdventureWorksLT2012數據庫創立數據庫用戶,並應用它的Production架構,是以你要末須要裝置這個數據庫,要末修正代碼應用另外一個數據庫和它外面存在的架構。但我照樣建議你裝置AdventureWorks數據庫,由於接上去的文章會頻仍用到它。

          小結

          這個系列的第一篇文章給你歸納綜合引見了SQL Server 2012裡的根本平安概念。你學到了一些罕見的數據威逼,探訪了SQL Server面前的設計理念。你學到了平安的2個階段——身份驗證和受權,進修了在全部系列文章看到的一些平安術語,目擊了你可使用SSMS圖形界面和T-SQL代碼來治理和完成平安。

          鄙人一篇文章裡,你會學到SQL Server裡身份驗證若何任務和身份驗證可用選項的更多信息。

          原文鏈接:

          http://www.sqlservercentral.com/articles/Stairway+Series/109941/

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved