2

我使用 WPF、WCF、EF 4 和 SQL Seerver 2008 R2 的组合创建了一个桌面应用程序。

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

据我所知,我可以做以下事情来使我的应用程序更安全:

  • 代码混淆——保护代码库
  • 可以使用 TDE -- 保护数据库和加密机密表。
  • 可以使用 SSL -- 来保护通信通道(任何关于此的好文章都会有很大帮助,因为我没有找到任何可以解释的好东西,比如如何为 Intranet 桌面应用程序执行此操作)

我还能做些什么来保护应用程序。我仍然不清楚如何保护客户端 <--> 服务器和服务器 <--> 数据库之间的通信通道。

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

4

1 回答 1

3

不要在混淆上浪费时间。良好的安全性是透明的。混淆只对保护知识产权有用,即使那样也是有争议的。

无论如何,听起来您想专注于几件事:

  1. 为您的应用程序服务器和 SQL Server 获取 SSL 服务器证书。如果您不想把钱花在一个上,您可以创建自己的 PKI 或自签名证书颁发机构。我不建议将自签名用于生产,也不应掉以轻心推出自己的 PKI。

  2. 使用协议加密来保护您的应用程序和 SQL Server 实例之间的连接。

  3. 使用需要传输安全的绑定以使您的 WCF 通信使用 SSL。http://msdn.microsoft.com/en-us/library/ms734679.aspx

    http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/b361ee9e-2f37-4ecf-ba8b-96c6d6e6118a

  4. 审核您的身份验证例程。你在散列和加盐密码吗?您是否审核安全事件(登录、注销、尝试失败)?您是否在一定次数的失败尝试后锁定帐户?等等等等。与审核您的人一起工作以了解他们将要寻找的内容会很有帮助。

于 2012-05-21T07:44:36.283 回答