可以使用受保護(hù)配置來(lái)加密 Web 應(yīng)用程序配置文件(如 Web.config 文件)中的敏感信息(包括用戶名和密碼、數(shù)據(jù)庫(kù)連接字符串和加密密鑰)。對(duì)配置信息進(jìn)行加密后,即使攻擊者獲取了對(duì)配置文件的訪問,也可以使攻擊者難以獲取對(duì)敏感信息的訪問,從而改進(jìn)應(yīng)用程序的安全性。
針對(duì)asp.net 2.0的應(yīng)用程序的數(shù)據(jù)庫(kù)鏈接字符串進(jìn)行加密:例如,未加密的配置文件中可能包含一個(gè)指定用于連接到數(shù)據(jù)庫(kù)的連接字符串的節(jié),如下面的示例所示:
<configuration>
<connectionStrings>
<add name="SampleSqlServer" connectionString="Data
Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;" />
</connectionStrings>
</configuration>
ASP.NET 2.0 中有一個(gè)新的安全特性.可以對(duì) Web.config 文件中的任何配置節(jié)進(jìn)行加密處理,可以通過(guò)手工運(yùn)行工具aspnet_regiis或者編程來(lái)完成這個(gè)工作。如果你可以直接訪問你的Web 服務(wù)器,你可以通過(guò)運(yùn)行如下的命令行:
cd %windows%\Microsoft.NET\Framework\versionNumber
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" ?Cprov RsaProtectedConfigurationProvider
-pd section
對(duì)配置節(jié)進(jìn)行解密。此參數(shù)采用下面的可選參數(shù):
· -app virtualPath 指定應(yīng)該在包含路徑的級(jí)別進(jìn)行解密。
· -location subPath 指定要解密的子目錄。
· -pkm 指定應(yīng)該對(duì) Machine.config 而非 Web.config 文件進(jìn)行解密。
-pdf section webApplicationDirectory
對(duì)指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節(jié)進(jìn)行解密。
-pe section
對(duì)指定的配置節(jié)進(jìn)行加密。此參數(shù)采用下面的可選修飾符:
· -prov provider 指定要使用的加密提供程序。
· -app virtualPath 指定應(yīng)該在包含路徑的級(jí)別進(jìn)行加密。
· -location subPath 指定要加密的子目錄。
· -pkm 指定應(yīng)該對(duì) Machine.config 而非 Web.config 文件進(jìn)行加密。
-pef section webApplicationDirectory
對(duì)指定物理(非虛擬)目錄中的 Web.config 文件的指定配置節(jié)進(jìn)行加密。
如果你是使用虛擬主機(jī)等不能訪問物理的服務(wù)器,你仍然能夠通過(guò)編程方式加密的連接字符串:
1 Configuration config = Configuration.GetWebConfiguration(Request.ApplicationPath);
2 ConfigurationSection section = config.Sections["connectionStrings"];
3 section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");;
4 config.Update ();
現(xiàn)在, 使用受保護(hù)配置對(duì)連接字符串值進(jìn)行加密的配置文件不以明文形式顯示連接字符串,而是以加密形式存儲(chǔ)它們,如下面的示例所示:
<configuration>
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
xmlns="http://www.w3.org/2001/04/xmlenc#">
<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
本新聞共
2頁(yè),當(dāng)前在第
1頁(yè)
1 2