.net & sql server连接字符串相关


一连接字符串的加密 概要

1,自己写的加密代码进行加密
2,asp.NET 受保护的配置,可以在配置文件的节点级别进行定义

尽量使用windows身份验证,而不是SQLserver验证

访问IIS时,外部应用程序选择集成验证的时候(就是windows验证)
,通过asp.NET用户(虚拟)进行访问,需要把asp.net用户设置为DB的可访问用户,
在win2003中该用户名称为 Network service

如果使用SQL server验证的话,可以让每个用户将自己的用户名密码,绑定到IE,通过该用户访问sqlserver
但是每一个用户互相独立独立的连接池,不能共享。

相对的windows验证相对很安全,别的用户看不到

关联:SQL Server 2008 的序列号,在购买时,需要同时购入服务器序列号和CAL
      通过windows身份验证访问时可能是只计算为一个CAL
      而通过将用户绑定IE进行访问时 可能是分开计算的,序列号规则太复杂,不知道有没有人详细的了解啊

二 windows 身份验证定义方式
SQLClient Intergrated Security = TRUE
          Intergrated Security = SSPI 
         
三,SQL Server身份验证

强制实施密码安全策略
强制密码过期
用户在下次登录是必须更改密码


四,定义连接字符串

• Persist Security Info 关键字的默认设置为
false。
• 如果将其设置为true 或yes,则允许在打
开连接后通过连接获取安全敏感信息(包
括用户ID 和密码)。
• 保持将PersistSecurity Info 设置为false,
以确保不受信任的来源不能访问敏感的连
接字符串信息。

五,避免连接字符串注入式攻击
System.Data.SqlClient.SqlConnectionStringBuilder builder = new
System.Data.SqlClient.SqlConnectionStringBuilder();
builder["Data Source"] = "(local)";
builder["integrated Security"] = true;
builder["Initial Catalog"] = "AdventureWorks;NewValue=Bad";
Console.WriteLine(builder.ConnectionString);
输出结果:
data source=(local);Integrated Security=True; initial
catalog="AdventureWorks;NewValue=Bad"

六,存储连接字符串
• 连接字符串可以存储在
–配置文件
– COM+ Catalog
– Windows 注册表
– 自定义文件结构

配置文件的放置

System.Configuration.ConnectionStringSettings settings = System.Configuration.ConfigurationManager.ConnectionStrings["connString"];

七,※ 加密连接字符串
• .NET 当中的加密算法
–对称算法(3DES)
– 非对称算法(RSA)
–数据保护(DPAPI)

受保护配置方法

创建配置
• ASP.NET IIS 注册工具(Aspnet_regiis.exe)
– 对Web.config 文件的节进行加密和解密、创建或删除
密钥容器、导出和导入密钥容器信息以及管理对密钥
容器的访问
• System.Configuration 命名空间中的受保护配置

– DPAPIProtectedConfigurationProvider。使用
Windows 数据保护API (DPAPI) 对数据进行加密和解

– RsaProtectedConfigurationProvider。使用RSA 加密
算法对数据进行加密和解密

加密与解密Web 配置节
• 加密Web 配置节
– aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider“
connectionStrings  节点
/SampleApplication 应用程序名称
RsaProtectedConfigurationProvider 使用的方法

• 解密Web 配置节
– aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值