人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統 > 網絡技術教程 > 詳細頁面

IIS服務、ASP.NET引擎以及SQLServer的安全問題

IIS服務、ASP.NET引擎以及SQLServer的安全問題

更新時間:2021-02-04 文章作者:未知 信息來源:網絡 閱讀次數:

網絡技術是從1990年代中期發展起來的新技術,它把互聯網上分散的資源融為有機整體,實現資源的全面共享和有機協作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數據資源、信息資源、知識資源、專家資源、大型數據庫、網絡、傳感器等。 當前的互聯網只限于信息共享,網絡則被認為是互聯網發展的第三階段。
SQL Server、Internet 信息服務器和 ASP.NET 引擎都提供了堅實可靠的安全模型,它們可以很好地在一起協同工作。為了保證用戶數據和應用程序的安全,Microsoft 還為每項服務的默認設置設置了相當低的值。大多數開發人員面臨的挑戰是如何使用 SQL Server、IIS 和 ASP.NET 在應用程序和數據之間設置適當的信任級別,而不會留下可被別人輕易攻入的安全漏洞。由于涉及三類服務(SQL Server、IIS 和 ASP.NET),所以需要采取三個關鍵的步驟來確保解決方案的安全。本部分討論一種為 Web 應用程序設置足夠權限和信任級別的更常用(且可靠)的方法。

定義 DotNetKB 自定義 IIS 用戶帳戶

保證 Web 應用程序安全性的最安全的方法是定義一個權限有限的自定義用戶,然后對 IIS 進行配置,使之能夠在執行您的 Web 應用程序時能作為自定義用戶運行。這是相當容易實現的,可以確保訪問您的 Web 應用程序的每個訪問者都只具有您希望他們具有的權限。

第一步是生成一個新的 Windows 用戶(本例中稱為 DotNetKB),為其設置一個增強型密碼,然后將其添加到 Windows 來賓組 (Guest Windows Group) 中。同時,確保選中 Password never expires(密碼永不過期)和 User cannot change password(用戶不能更改密碼)復選框。這樣將生成一個權限有限的用戶,在 IIS 中運行您的 Web 應用程序時,您可以將其用作標識(參見圖 1)。


 圖1:生成的權限有限的用戶

然后,調用 Internet 信息服務器管理員并選擇承載這些網頁的 Web 應用程序。在本例中,您可以選擇承載前文所生成的測試頁的 Web 應用程序 (DotNetKB_WebSite)。在樹視圖中的 Web 應用程序上單擊鼠標右鍵,然后從上下文相關菜單中選擇 Properties...(屬性...)。然后選擇 Directory Security(目錄安全性)并單擊該對話框 Anonymous access and authentication control(匿名訪問和驗證控制)部分中的 Edit(編輯)按鈕。最后,輸入自定義用戶名 (DotNetKB),取消選擇 Allow IIS to control password(允許 IIS 控制密碼)復選框,并輸入該自定義用戶帳戶的密碼。完成所有這些工作之后,單擊 OK(確定)按鈕,將這些更改保存到 IIS 配置數據庫中(參見圖 2)。


圖2:Authentication Methods(驗證方法)對話框

此時,IIS 將在一個權限有限的自定義帳戶下運行。任何訪問者訪問您應用程序的網頁時,都將以這個自定義用戶身份運行,且只具有該自定義用戶的驗證權限。

授權 DotNetKB 用戶帳戶訪問 SQL Server

然后,您需要為該自定義用戶授予訪問數據庫 (DotNetKB) 的相應權限。為此,您可以使用 Microsoft SQL Server 企業管理器或編寫一個自定義腳本,以創建一個這樣的用戶并授予其訪問特定對象的權限。本文介紹如何使用 SQL Server 企業管理器完成此操作。

注意:盡管 Visual Studio .NET 2003 具有與 SQL Server 兼容的許多強大的集成功能,但也不允許從 Visual Studio .NET 2003 中輕松管理用戶和用戶權限。在大型的組織和團隊中,這些高級任務通常由數據庫管理員完成。

因此,啟動 SQL Server 企業管理器之后,您可以按照以下步驟將自定義用戶 (DotNetKB) 添加數據庫中(參見圖 3):

·在左側的樹視圖中,展開節點以顯示 DotNetKB 數據庫。在我的計算機上,樹視圖的結構如下:Console Root | SQL Server Group | (LOCAL) (Windows NT) | Databases | DotNetKB。
·然后,在數據庫下的 Users(用戶)節點上單擊鼠標右鍵,并選擇 New Database User...(新建數據庫用戶...)。顯示 Database User Properties - New User(數據庫用戶屬性 - 新建用戶)對話框時,從 Login name(登錄名)下拉框中選擇 (<新建>)。
·顯示 SQL Server Login Properties - New Login(SQL Server 登錄屬性 - 新建登錄)對話框時,選擇 General(常規)選項卡,并在 Name(名稱)輸入框中輸入 DotNetKB。確保選中 Windows Authentication(Windows 驗證)單選按鈕,并從 Domain(域)下拉框中選擇自定義用戶帳戶所在的計算機的名稱。然后從 Database(數據庫)下拉框中選擇 DotNetKB。
·現在,選擇 Databases(數據庫)選項卡,在對話框頂部的列表中找到 DotNetKB 數據庫并選中它。然后,確保選中對話框底部列表中的 public(公共)角色。最后,單擊對話框底部的 OK(確定)按鈕,保存您的更改。

圖3:在數據庫中添加自定義用戶

然后,您需要為 DotNetKB 數據庫中的所有存儲過程和自定義函數添加執行權限。為此,您只需為 public(公共)角色授予權限。您可以將權限授予 DotNetKB 用戶,這樣將使以后的登錄(當這些用戶獲得訪問 DotNetKB 的權限時)更容易執行存儲過程,而不需要為每個用戶添加新的權限。

下面是為 DotNetKB 數據庫中的存儲過程和函數授予執行權限的步驟:

·突出顯示樹視圖中 DotNetKB 數據庫下的 Users(用戶)節點,以顯示此數據庫的用戶列表。找到 DotNetKB 用戶并在其上雙擊,打開 Database Users Properties(數據庫用戶屬性)對話框。
·突出顯示(選中)public(公共)角色時,單擊 Properties...(屬性...)按鈕,打開 Database Role Properties(數據庫角色屬性)對話框。然后單擊 Permissions...(權限...)按鈕,顯示數據庫對象和權限設置列表。
·選中對話框頂部 Database role(數據庫角色)下拉列表中的 public(公共)角色之后,找到為此數據庫定義的所有存儲過程和自定義函數(可能需要展開對話框才能看到全名),并確保選中各項旁邊的 EXECUTE(執行)復選框。您可能會發現某些系統對象的其他一些復選框也被選中了,請不要更改這些選項。
·最后,設置所有的 EXECUTE(執行)權限后,單擊 OK(確定)按鈕,保存更改并關閉對話框。依次單擊 OK(確定)按鈕,直到所有對話框均被關閉。

至此,您已為 IIS 創建了自定義用戶,并設置了該用戶在 SQL Server 中的相應權限。現在,您需要在 ASP.NET Web 項目中進行一個配置更改,確保 ASP.NET 使用同一個用戶帳戶執行對 SQL Server 的所有調用。

設置您的 ASP.NET 應用程序以模擬 DotNetKB 用戶

為 IIS 下運行的 ASP.NET Web 應用程序生成堅實可靠的配置的最后一個步驟是:配置 ASP.NET Web 應用程序,使之能夠接受來自 IIS 的 Windows 用戶標識并能用于訪問其他操作系統資源。為此,您只需在 web.config 根文件中輸入一行代碼。

修改后的 web.config 文件如下所示:

<configuration>
  <system.web>
    ... 其他要素 ...
    <identity impersonate="true"/> <!-- 假設 IIS 用戶標識 -->
    ... 其他要素 ...
  </system.web>
</configuration>

 


請注意,您只需添加 元素并將模擬特性設置為 true(真)。不必輸入用戶帳戶或密碼,因為這些信息將由 IIS 提供。也就是說,即使其他人能夠讀取您的配置文件,他們也無法確定使用哪些標識憑據來執行您的 Web 應用程序。至此,您已生成了自定義用戶,并為其設置了訪問 SQL Server 和 IIS 的相應權限。



網絡的神奇作用吸引著越來越多的用戶加入其中,正因如此,網絡的承受能力也面臨著越來越嚴峻的考驗―從硬件上、軟件上、所用標準上......,各項技術都需要適時應勢,對應發展,這正是網絡迅速走向進步的催化劑。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 尤溪县| 叶城县| 湘潭市| 西城区| 玉龙| 新蔡县| 达孜县| 赤壁市| 惠来县| 南溪县| 贡觉县| 沙洋县| 宜阳县| 阿巴嘎旗| 桑日县| 万源市| 宿州市| 家居| 墨玉县| 高安市| 庆城县| 全椒县| 宁蒗| 海兴县| 五华县| 阳泉市| 太康县| 巴中市| 汶川县| 华容县| 抚宁县| 晋中市| 宁晋县| 子长县| 兴隆县| 车致| 临西县| 广南县| 阿拉善左旗| 奉化市| 满洲里市|