我开发了一个桌面应用程序,该应用程序是使用 WPF、WCF、EF 4 和 SQL Seerver 2008 R2 的组合创建的。
现在我必须准备我的软件进行安全审核,我需要知道我能做些什么来确保我的应用程序中的安全参数。目前我正在将 WCF 服务身份验证与 Active Directory 结合使用。
据我所知,我可以采取以下措施来使我的应用程序更加安全:
- 代码混淆 - 确保代码库安全
- 可以使用 TDE - 保护数据库并加密 secret 表。
- 可以使用 SSL - 保护通信 channel (任何关于此的好文章都会有很大帮助,因为我没有找到任何可以解释如何为 Intranet 桌面应用程序执行此操作的好东西)
我还可以采取哪些措施来确保应用程序的安全。我仍然不清楚如何保护客户端 <--> 服务器和服务器 <--> 数据库之间的通信 channel 。
任何帮助将不胜感激。谢谢..
最佳答案
不要因为混淆而浪费时间。良好的安全性是透明的。混淆仅对保护知识产权有用,即使如此,这也是值得商榷的。
无论如何,听起来您想专注于几件事:
为您的应用程序服务器和 SQL Server 获取 SSL 服务器证书。如果您不想花钱购买,您可以创建自己的 PKI 或自签名证书颁发机构。我不建议在生产环境中进行自签名,并且也不应掉以轻心地推出自己的 PKI。
使用需要传输安全性的绑定(bind)以使 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
审核您的身份验证例程。您是否对密码进行哈希处理和加盐处理?您是否审核安全事件(登录、注销、尝试失败)?尝试失败一定次数后,您会锁定帐户吗?等等等等。与审核您的人合作以了解他们想要什么会很有帮助。
关于c# - 在 Intranet 应用程序中实现安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680345/