乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      建立一個安全的MSSQL SERVER的啟動賬號

       intruder 2005-12-16
      建立一個安全的MSSQL SERVER的啟動賬號


      SQL SERVER的安全問題一直是困擾DBA的一個難題,作為開發(fā)者和用戶希望自己的權(quán)限越大越好,最好是SA,而作為DBA希望所有的用戶權(quán)限越小越好,這總是一對矛盾。一般來說,我們會考慮采用WINDOWS驗證模式,建立安全的用戶權(quán)限,改變SQL SERVER TCP/IP的默認端口...等安全措施,但很多DBA還是忽略了MSSQL SERVER服務的啟動賬號,這也是一個非常值得重點關(guān)注的問題。特別是MSSQL SERVER提供了許多操作系統(tǒng)和注冊表擴展存儲過程,比如:xp_cmdshell, xp_regdeletekey, xp_regdeletevalue 等等。



      我們先來回顧一下MSSQL SERVER執(zhí)行這些擴展存儲過程的步驟。MS SQL SERVER提供的擴展存儲過程使你可以向T-SQL一樣調(diào)用一些動態(tài)鏈接庫的內(nèi)部函數(shù)邏輯,而且這些擴展存儲過程可以包括WIN32和COM的大多數(shù)功能。

      當關(guān)系數(shù)據(jù)庫引擎確定 Transact-SQL 語句引用擴展存儲過程時:

      關(guān)系數(shù)據(jù)庫引擎將擴展存儲過程請求傳遞到開放式數(shù)據(jù)服務層。
      然后開放式數(shù)據(jù)服務將包含擴展存儲過程函數(shù)的 DLL 裝載到 SQL Server 2000 地址空間(如果還沒有裝載)。
      開放式數(shù)據(jù)服務將請求傳遞到擴展存儲過程。
      開放式數(shù)據(jù)服務將操作結(jié)果傳遞到數(shù)據(jù)庫引擎。
      uploads/200511/07_163232_sql.gif

      [quote[從上圖中我們可以清楚的看到SQL Server 2000的數(shù)據(jù)庫引擎通過擴展存儲過程和Windows Resources進行交互。而擴展存儲過程可以完成處理操作系統(tǒng)任務的關(guān)鍵是要有一個自己的身份SID,這個SID就來自MSSQL SERVER服務啟動賬號。所以如果這個MSSQL SERVER服務啟動賬號是administrators組的用戶,我們就可以通過這些擴展存儲過程做任意想做的事情:刪除系統(tǒng)信息,破壞注冊表等等。如果我們限制MSSQL SERVER服務啟動賬號的權(quán)限,這樣即使“黑客”或懷有惡意的開發(fā)人員獲得數(shù)據(jù)庫的管理員權(quán)限,也不會對操作系統(tǒng)造成很大的影響。只要有數(shù)據(jù)庫的備份我們可以非常方便的恢復數(shù)據(jù)庫,而不要重新安裝系統(tǒng)。所以為了更安全的保護我們的系統(tǒng),我們希望MSSQL SERVER服務啟動賬號的權(quán)限越低越好。

      作為系統(tǒng)的一個服務,啟動MSSQL SERVER 2000服務的用戶賬號也需要一些必要的權(quán)限,下面我們就通過一個具體的實例來解釋這些權(quán)限(本實例只針對成員服務器,如果是DC和啟動了活動目錄Active Directory還需要其它的配置):[/quote]1. 通過本地用戶管理,建立一個本地用戶sqlserver,密碼:123456;//最好換個難猜的用戶名并且設強密碼...不要純數(shù)字,易被嗅探及破解.

      2. 如果現(xiàn)在就我們打開SERVICES配置通過該用戶啟動,系統(tǒng)會報錯誤:

      Source:Service Control Manager
      Event ID:7000
      Description:
      The %service% service failed to start due to the following error:
      The service did not start due to a logon failure.
      No Data will be available.

      這是因為作為一個普通用戶是無法啟動服務的,我們需要給sqlserver用戶分配必要的權(quán)限。

      SQL Server服務啟動賬號必須有3個基本權(quán)限:
        數(shù)據(jù)庫本地目錄的讀寫權(quán)限;
        啟動本地服務的權(quán)限;
        讀取注冊表的權(quán)限;
      3. 賦予sqlserver用戶MSSQL目錄的讀寫權(quán)限;

      因為我的SQL SERVER是安裝在D盤,所以我在權(quán)限管理中,將D:\PROGRMAM FILE\Microsoft SQL Server\MSSQL讀寫權(quán)限賦予sqlserver用戶。//最好不要裝在系統(tǒng)盤
      uploads/200511/07_163744_sql.jpg

      4. 分配sqlserver用戶啟動本地服務的權(quán)限;

      這個比較復雜,我只舉例作為成員服務器的情況。
        l 啟動“Local Security Setting” MMC 管理單元。 //控制面板------>管理工具---->本地安全策略

        l 展開Local Policy,然后單擊User Rights Assignment。 //本地策略-------->用戶權(quán)限指派

        l 在右側(cè)窗格中,右鍵單擊Log on as Service,將用戶添加到該策略,然后單擊OK。 //作為服務登陸

        l 在右側(cè)窗格中,右鍵單擊Log on as a batch job,將用戶添加到該策略,然后單擊OK //作為批處理作業(yè)登陸

        l 在右側(cè)窗格中,右鍵單擊Locks pages in memory,將用戶添加到該策略,然后單擊OK //內(nèi)存中鎖定頁

        l 在右側(cè)窗格中,右鍵單擊Act as part of the operating systme,將用戶添加到該策略,然后單擊OK //以操作系統(tǒng)方式操作

        l 在右側(cè)窗格中,右鍵單擊Bypass traverse checking,將用戶添加到該策略,然后單擊OK //跳過遍歷檢查

        l 在右側(cè)窗格中,右鍵單擊Replace a process level token,將用戶添加到該策略,然后單擊OK //替換進程級記號

        l 關(guān)閉“Local Security Setting” MMC 管理單元。
      如圖

      uploads/200511/07_165752_sql.jpg

      5. 重新啟動系統(tǒng),用sqlserver用戶登陸系統(tǒng);

      6. 再重新啟動系統(tǒng),再用administrator用戶登陸,打開SERVICES管理工具,配置用該用戶啟動MSSQLSERVER服務
      uploads/200511/07_165829_sql.jpg


      這樣我們就可以通過限制SQLSERVER用戶的權(quán)限來控制SQLSERVER擴展存儲過程的權(quán)限?,F(xiàn)在sqlserver用戶只對D:\PROGRMAM FILE\Microsoft SQL Server\MSSQL目錄有寫的權(quán)限,這樣就降低了通過xp_cmdshell來刪除系統(tǒng)文件的風險。


      通過收購(原文就是"收購",不太理解,個人認為是"注冊表")來配置是比較繁瑣的,幸運的是MS SQLSERVER已經(jīng)提供了這樣的工具來配置啟動啟動賬號,你可以通過SQLSERVER的企業(yè)管理器配置,入下圖:
      uploads/200511/07_170111_sql.jpg

      PS:注意,我是在win2003下面,在上面的圖我直接輸入新建的用戶sqlserver,最后會啟動不了.只有在這里的用戶寫機器名\用戶名,如win2003\sqlserver,這樣才可以正常啟動,你們也可以試試看是否和我一樣.
      這樣SQL SERVER企業(yè)管理器會自動幫你配置好所有的必要條件。包括目錄的訪問權(quán)限,啟動服務的權(quán)限,訪問注冊表的權(quán)限等等。所以我們正確的配置順序是:

      1. 建立用戶;

      2. 在SQL SERVER企業(yè)管理器中配置該用戶啟動;

      3. 在分配其它相應的權(quán)限(如果需要復制操作);

      備注:

      通過SQL Server企業(yè)管理器增加的服務啟動賬號,會在registry中增加很多信息,即使你更換用戶也不會刪除,所以在改變服務啟動賬號不要頻繁更換,這樣會增大registry的容量。同時要注意,只有屬于sysadmin角色的用戶才可以配置SQL Server服務的啟動賬號。

      總結(jié):

      構(gòu)建一個安全高效的SQLSERVER是多方面的,深入了解SQLSERVER的運行機制是基礎。我們不但要考慮數(shù)據(jù)庫用戶的安全,也要考慮SQLSERVER服務的安全性。

      tip:
      請確認 SQL Server 實例配置為使用 Windows 身份認證和 SQL Server 身份認證。為此,請確認在正在運行 SQL Server 的計算機上存在下列注冊表項。對于默認的 SQL Server 實例:
      HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\LoginMode
      對于 SQL Server 的命名實例:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\\MSSQLServer\LoginMode
      請確認已設置下列注冊表項的值:
      身份認證類型 值
      僅限于 Windows 身份認證 1
      混合模式(SQL Server 身份認證和 Windows 身份認證) 2

      注意:如果您對注冊表進行了任何更改,必須關(guān)閉并重新啟動 SQL Server 實例使更改生效。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多