c# - 在 Intranet 应用程序中实现安全性

标签 c# wpf security sql-server-2008-r2 wcf-security

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

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

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

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

我还可以采取哪些措施来确保应用程序的安全。我仍然不清楚如何保护客户端 <--> 服务器和服务器 <--> 数据库之间的通信 channel 。

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

最佳答案

不要因为混淆而浪费时间。良好的安全性是透明的。混淆仅对保护知识产权有用,即使如此,这也是值得商榷的。

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

  1. 为您的应用程序服务器和 SQL Server 获取 SSL 服务器证书。如果您不想花钱购买,您可以创建自己的 PKI 或自签名证书颁发机构。我不建议在生产环境中进行自签名,并且也不应掉以轻心地推出自己的 PKI。

  2. Use protocol encryption to secure the connection between your application and the SQL Server instance.

  3. 使用需要传输安全性的绑定(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

  4. 审核您的身份验证例程。您是否对密码进行哈希处理和加盐处理?您是否审核安全事件(登录、注销、尝试失败)?尝试失败一定次数后,您会锁定帐户吗?等等等等。与审核您的人合作以了解他们想要什么会很有帮助。

关于c# - 在 Intranet 应用程序中实现安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10680345/

相关文章:

c# - ASP.NET GridView : Get the PageIndex from the selected Row

c# - List<> 不在 DispatcherTimer 中更新

c# - 可以广播到浏览器的桌面应用程序

java - 使用 PKCS 11 token 进行 SSL 握手

security - 我可以将方形阅读器用作通用磁条阅读器吗?

c# - Windows 通用应用程序中的反向地理编码

c# - NAudio - 如何将正弦波仅发送到插孔上的一个音频 channel

node.js - Helm CSP 无法正常工作?

c# - 即使鼠标不移动也会触发 Picturebox mousemove 事件

WPF 复选框控件不响应 MouseLeftButtonDown 事件