C# 在intranet应用程序中实现安全性

C# 在intranet应用程序中实现安全性,c#,wpf,security,sql-server-2008-r2,wcf-security,C#,Wpf,Security,Sql Server 2008 R2,Wcf Security,我使用WPF、WCF、EF4和SQLServer2008R2组合创建了一个桌面应用程序 现在我必须为安全审计准备我的软件,我需要知道我能做什么来确保应用程序中的安全参数。目前,我正在对Active Directory使用WCF服务身份验证 据我所知,我可以采取以下措施使我的应用程序更加安全: 代码混淆——保护代码库 可以使用TDE——保护数据库并加密机密表 可以使用SSL——来保护通信通道(关于这方面的任何好文章都会有很大帮助,因为我没有发现任何好东西可以解释如何为intranet桌面应用程序

我使用WPF、WCF、EF4和SQLServer2008R2组合创建了一个桌面应用程序

现在我必须为安全审计准备我的软件,我需要知道我能做什么来确保应用程序中的安全参数。目前,我正在对Active Directory使用WCF服务身份验证

据我所知,我可以采取以下措施使我的应用程序更加安全:

  • 代码混淆——保护代码库
  • 可以使用TDE——保护数据库并加密机密表
  • 可以使用SSL——来保护通信通道(关于这方面的任何好文章都会有很大帮助,因为我没有发现任何好东西可以解释如何为intranet桌面应用程序这样做)
我还可以做些什么来保护应用程序。我仍然不清楚如何保护客户端服务器和服务器数据库之间的通信通道


任何帮助都将不胜感激。谢谢..

不要把时间浪费在混淆上。良好的安全性是透明的。模糊处理只对保护知识产权有用,即便如此,这也是有争议的

不管怎样,听起来你想专注于几件事:

  • 获取应用程序服务器和SQL server的SSL服务器证书。如果您不想把钱花在一个上面,您可以创建自己的PKI或自签名证书颁发机构。我不建议在生产中使用自签名,也不应轻视使用自己的PKI

  • 使用需要传输安全性的绑定使WCF通信使用SSL

  • 审核您的身份验证例程。你是在对密码进行哈希和盐析吗?您是否审核安全事件(登录、注销、失败的尝试)?您是否在一定次数的尝试失败后锁定帐户?诸如此类。与任何审核你的人一起工作会很有帮助,从而了解他们将寻找什么

  • +1用于从“模糊”和其他一般良好信息转向过于宽泛的问题。