自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

分析概括ADO.NET連接信息安全

開(kāi)發(fā) 后端
為了幫助限制對(duì)數(shù)據(jù)源的訪問(wèn),必須保護(hù)諸如用戶(hù)ID、密碼和數(shù)據(jù)源名稱(chēng)等ADO.NET連接信息的安全,文章有詳細(xì)的介紹。

ADO.NET經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,很多用戶(hù)都很了解ADO.NET了,這里我發(fā)表一下個(gè)人理解,和大家討論討論ADO.NET連接信息。保護(hù)應(yīng)用程序時(shí),最重要的目標(biāo)之一是保護(hù)對(duì)數(shù)據(jù)源的訪問(wèn)。如果連接字符串未受保護(hù),那么它就是一個(gè)潛在漏洞。如果以純文本形式存儲(chǔ)ADO.NET連接信息或者使連接信息持續(xù)位于內(nèi)存中,則可能會(huì)損害整個(gè)系統(tǒng)??梢允褂肕SIL反匯編程序(Ildasm.exe)讀取嵌入在源代碼中的連接字符串,以查看已編譯的程序集中的Microsoft中間語(yǔ)言(MSIL)。

根據(jù)以下因素可能會(huì)出現(xiàn)與連接字符串有關(guān)的安全漏洞:所使用的身份驗(yàn)證類(lèi)型,連接字符串持久地位于內(nèi)存和磁盤(pán)中的方式,以及在運(yùn)行時(shí)構(gòu)造連接字符串所采用的技術(shù)。
使用Windows身份驗(yàn)證

#T#為了幫助限制對(duì)數(shù)據(jù)源的訪問(wèn),必須保護(hù)諸如用戶(hù)ID、密碼和數(shù)據(jù)源名稱(chēng)等ADO.NET連接信息的安全。為避免公開(kāi)用戶(hù)信息,建議盡可能使用Windows身份驗(yàn)證(有時(shí)也稱(chēng)為“集成安全性”)。使用IntegratedSecurity或Trusted_Connection關(guān)鍵字在連接字符串中指定Windows身份驗(yàn)證后,不必再使用用戶(hù)ID和密碼。在使用Windows身份驗(yàn)證時(shí),用戶(hù)由Windows進(jìn)行身份驗(yàn)證,通過(guò)對(duì)Windows用戶(hù)和組授予權(quán)限來(lái)確定他們是否可訪問(wèn)服務(wù)器和數(shù)據(jù)庫(kù)資源。

在不能使用Windows身份驗(yàn)證的情況下必須格外小心,因?yàn)榇藭r(shí)用戶(hù)憑據(jù)在連接字符串中是公開(kāi)的。在ASP.NET應(yīng)用程序中,您可以將Windows帳戶(hù)配置為用于連接到數(shù)據(jù)庫(kù)和其他網(wǎng)絡(luò)資源的固定標(biāo)識(shí)。您可以在web.config文件中的標(biāo)識(shí)元素中啟用模擬,并指定用戶(hù)名和密碼。

  1. <identityimpersonateidentityimpersonate="true" 
  2. userName="MyDomain\UserAccount" 
  3. password="*****"/> 

固定標(biāo)識(shí)帳戶(hù)應(yīng)是低權(quán)限帳戶(hù),僅被授予數(shù)據(jù)庫(kù)中的必要權(quán)限。此外,您還應(yīng)該加密配置文件,從而使用戶(hù)名和密碼不會(huì)以明文形式公開(kāi)。

不要使用通用數(shù)據(jù)鏈接(UDL)文件

不要在通用數(shù)據(jù)鏈接(UDL)文件中存儲(chǔ)OleDbConnection的連接字符串。UDL以明文形式存儲(chǔ),無(wú)法加密。因?yàn)閁DL文件對(duì)您的應(yīng)用程序來(lái)說(shuō)是一個(gè)基于文件的外部資源,所以無(wú)法使用.NETFramework保護(hù)或加密該文件。

利用連接字符串生成器避免注入攻擊

當(dāng)動(dòng)態(tài)字符串串聯(lián)根據(jù)用戶(hù)輸入的內(nèi)容構(gòu)建連接字符串時(shí),會(huì)發(fā)生連接字符串注入攻擊。如果用戶(hù)輸入的內(nèi)容未經(jīng)驗(yàn)證,并且惡意文本或字符串未被轉(zhuǎn)義,則攻擊者可能會(huì)訪問(wèn)敏感數(shù)據(jù)或服務(wù)器上的其他資源。為解決此問(wèn)題,ADO.NET2.0引入了新的連接字符串生成器類(lèi),以驗(yàn)證連接字符串語(yǔ)法并確保不會(huì)引入附加參數(shù)。有關(guān)更多信息,請(qǐng)參見(jiàn)連接字符串生成器(ADO.NET)。

使用PersistSecurityInfo=False

PersistSecurityInfo的默認(rèn)值為false;建議在所有連接字符串中使用此默認(rèn)值。如果將PersistSecurityInfo設(shè)置為true或yes,則允許在打開(kāi)連接后通過(guò)連接獲取安全敏感信息(包括用戶(hù)ID和密碼)。如果將PersistSecurityInfo設(shè)置為false或no,則在使用安全信息打開(kāi)連接后會(huì)丟棄安全信息,這可確保不受信任的來(lái)源不能訪問(wèn)安全敏感信息。

加密配置文件

您還可以在配置文件中存儲(chǔ)連接字符串,從而不必將它們嵌入到應(yīng)用程序的代碼中。配置文件是標(biāo)準(zhǔn)XML文件,.NETFramework已為這些文件定義了一組常用的元素。配置文件中的連接字符串通常存儲(chǔ)在Windows應(yīng)用程序的app.config的<connectionStrings>元素中,或存儲(chǔ)在ASP.NET應(yīng)用程序的web.config文件中。有關(guān)在配置文件中存儲(chǔ)、檢索和加密連接字符串的基本知識(shí)的更多信息,請(qǐng)參見(jiàn)連接字符串和配置文件(ADO.NET)。

責(zé)任編輯:田樹(shù) 來(lái)源: 博客
相關(guān)推薦

2009-11-12 16:04:42

ADO.NET對(duì)象查詢(xún)

2009-11-12 14:26:34

ADO.NET執(zhí)行事務(wù)

2009-11-04 17:03:55

ADO.NET Exc

2009-09-09 10:23:59

ADO.NET連接

2009-11-12 10:53:57

ADO.NET連接My

2009-11-04 11:02:23

ADO.NET Dat

2009-11-04 13:51:46

ADO.NET性能

2009-11-12 10:45:45

ADO.NET連接測(cè)試

2009-11-12 11:38:03

ADO.NET連接事件

2009-12-25 10:25:59

2009-12-21 17:02:19

ADO.NET Sql

2009-12-31 11:07:33

連接ADO.NET

2009-12-24 16:09:42

ADO.NET數(shù)據(jù)源

2010-01-04 09:03:57

ADO.NET連接對(duì)象

2009-12-21 14:14:08

ADO.NET類(lèi)文件

2009-12-22 16:16:18

ADO.NET Deb

2009-10-29 11:18:47

ADO.NET SQL

2009-10-29 10:10:10

ADO.NET數(shù)據(jù)集類(lèi)

2009-11-03 15:47:10

ADO.NET數(shù)據(jù)異步

2009-12-25 16:56:36

ADO.NET建立連接
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)