编写安全的asp.net应用程序

时间:2009-12-24 14:28:00

标签: security asp.net-3.5

我正处于涉及处理财务信息的项目中,因此我需要使用C#2008(https等)编写安全的asp.net页面

任何人都可以推荐任何教程,然后可以帮助我更多地了解编写安全的asp.net应用程序吗?

由于

3 个答案:

答案 0 :(得分:3)

有关于这个主题的整本书,Dominick Baier的Developing More-Secure Microsoft ASP.NET 2.0 Applications。它非常出色,并且拥有大量您在其他任何地方都找不到的功能和技术,至少在没有大量挖掘的情况下也是如此。我已经将这本书用于两个项目的网络安全设计,我强烈推荐它。

编辑添加:第二项建议,Writing Secure Code: Practical Strategies and Proven Techniques for Building Secure Applications in a Networked World。虽然本书中的大部分代码都是关于非托管代码的,但有关理解良好安全性开发实践,威胁建模等的部分确实告诉您在设计和评估网站安全问题时需要考虑的内容。 / p>

答案 1 :(得分:1)

如果您有兴趣使用SSL证书来保护您的网站及其网页,请记住,SSL是传输层中的一种技术,这意味着它与您正在使用的编程框架或语言无关。 SSL证书通过IIS或服务器/ PC上的MMC证书管理单元安装。

在IIS中使用SSL证书涉及以下几个步骤:

  1. 在IIS中生成证书申请
  2. 将证书申请提交给受信任的证书颁发机构(第三方供应商,如Verisign,DigiCert,Thawte等)
  3. 在服务器上安装供应商提供的证书并将其应用到您的网站
  4. 对于测试,您可以使用makecert.exe生成自签名证书。这些将在您的浏览器中用于测试您的应用程序,但绝不应该在生产中使用。这是一个很好的stackoverflow答案,适合您的需求:

    Using makecert for Development SSL

    一旦投入生产,您将需要来自真实证书颁发机构的证书。选择供应商后,他们将获得有关如何生成证书的具体说明。我最近使用DigiCert并对他们感到满意。

    除了实施SSL证书之外,您当然还需要使用身份验证,角色等来确保您的实际网站/应用程序的安全。

    这是asp.net安全功能的一个很好的入门:

    http://msdn.microsoft.com/en-us/library/aa302388.aspx

答案 2 :(得分:0)

这是一个很好的起点:

Microsoft的Anti Cross Site Scripting库:

http://channel9.msdn.com/posts/Jossie/Anti-XSS-Library-v31-Find-Fix-and-Verify-Errors/

另外,我假设你要使用Verisign。这是微软的一个很好的链接:

http://support.microsoft.com/kb/293817

编辑:我还应该补充一点,需要注意的一件事。没有任何敏感的面向Internet的数据。如果您不需要它,请不要将它收集或存储在暴露于Internet的服务器上。

Fiddler是尝试欺骗您自己的应用程序中的数据的好方法,以查看是否存在安全漏洞,有关于如何在下载站点上执行此操作的视频教程:http://www.fiddler2.com/fiddler2/

以下是一些有关Microsoft安全性的教程,包括加密: http://msdn.microsoft.com/en-us/library/ms978512.aspx

关于安全性的另一个很好的概述:http://davidhayden.com/blog/dave/archive/2005/10/23/2527.aspx

构建安全ASP.NET应用程序的最后一个好的链接:身份验证,授权和安全通信:http://msdn.microsoft.com/en-us/library/aa302387.aspx

此外,相关的stackoverflow问题:What measures should I take to secure my multi-tier ASP.NET application?