捍卫数据安全

2017-01-09 12:47:06来源:cnblogs.com作者:cherrytree人点击

当应用服务器受到攻击,我们采取的措施大致分为以下几个步骤:

1、服务器隔离

   检查端口,禁掉网卡

2、修改账号、密码,防火墙策略等

3、杀毒

4、应用重新部署

 

当然,这些工作大部分是由服务器维护人员来做,对于我们开发人员来说,也是可以贡献自己一份力量的,

比如部署应用配置项的时候数据库连接采用加密手段(本文以entity framework从数据库自动生成实体数据模型为例):

 

项目中添加完实体数据模型edmx以后,配置文件会生成如下的连接字符串:

<connectionStrings>    <add name="testEntities" connectionString="metadata=res://*/TestDb.csdl|res://*/TestDb.ssdl|res://*/TestDb.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=192.198.110.123;initial catalog=test;persist security info=True;user id=sa;password=Password01!;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />  </connectionStrings>

 

这样的写法部署到服务器上以后,数据库的IP地址,连接数据库的用户名、密码全都暴露出来,这样对于数据来说是很不安全的

我们将数据库的连接字符串配置成如下的写法:

<appSettings>    <add key="testEntities" value="res://*/TestDb.csdl|res://*/TestDb.ssdl|res://*/TestDb.msl;System.Data.SqlClient;192.198.110.123;test;ExUeYbu5sxY=;QMpp1xTZ0ROSl1JNeGawDEmFJWg="   />  </appSettings>

 

其中,value由metadata;Provider;data source;initial catalog;user;password6个部分组成,分号隔开,后面2个是用户和密码,配置成加密的字符串。

 

edmx里面需修改的配置如下:

 1、修改

public testEntities() : base("name=testEntities")        {        }

 

public testEntities() : base(Config.DbCon)        {        }

 

 

2、Config类(连接数据库用户名、密码此处采用xxtea加密算法,也可选用其他加密算法):

 

  public class Config    {        private static string m_dbcon = string.Empty;        public static string DbCon        {            get            {                if (m_dbcon == string.Empty)                {                    m_dbcon = ConfigurationManager.AppSettings["testEntities"];                    string[] m_dbcon_arr = m_dbcon.Split(';');                    m_dbcon = string.Format("metadata={0};provider={1};provider connection string='data source={2};initial catalog={3};persist security info=True;user id={4};password={5};MultipleActiveResultSets=True;App=EntityFramework';",                        m_dbcon_arr[0], m_dbcon_arr[1], m_dbcon_arr[2], m_dbcon_arr[3],XXTeaHelper.Decrypt( m_dbcon_arr[4]),XXTeaHelper.Decrypt( m_dbcon_arr[5])                        );                }                return m_dbcon;            }        }    }

 

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台