我在一个涉及处理金融信息的项目上,因此我需要使用C# 2008 (https等)编写安全的asp.net页面
任何人可以重新评论任何教程,这样可以帮助我更多地了解如何编写安全的asp.net应用程序?
谢谢
发布于 2009-12-24 22:53:32
关于这个主题有一整本书,Dominick Baier's Developing More-Secure Microsoft ASP.NET 2.0 Applications。它非常出色,并且有大量的功能和技术,这些都是你在其他地方找不到的,至少在没有大量挖掘的情况下是找不到的。我已经在两个项目中使用了这本书进行web安全设计,我强烈推荐它。
编辑并添加:第二个建议,Writing Secure Code: Practical Strategies and Proven Techniques for Building Secure Applications in a Networked World。虽然本书中的大部分代码都是关于非托管代码的,但了解良好的安全开发实践、威胁建模等部分真正告诉了您在设计和评估网站的安全问题时需要考虑的问题。
发布于 2009-12-24 22:52:05
如果您对使用SSL证书来保护站点及其页面的安全感兴趣,请记住SSL是传输层上的一种技术,这意味着它独立于您正在使用的编程框架或语言。SSL证书通过IIS或MMC证书管理单元安装在服务器/pc上。
在IIS中使用SSL证书有几个步骤:
为了进行测试,您可以使用makecert.exe生成自签名证书。这些将在您的浏览器中用于测试您的应用程序,但不应在生产中使用。下面是一个很好的stackoverflow解决方案,可以满足您的需求:
Using makecert for Development SSL
一旦投入生产,您将需要来自真正的证书颁发机构的证书。一旦您选择了供应商,他们就会有关于如何生成证书的具体说明。我最近使用了DigiCert,并且对它们很满意。
除了实现SSL证书之外,您当然还需要使用身份验证、角色等来确保您的实际网站/应用程序的安全。
下面是asp.net安全特性的入门读物:
http://msdn.microsoft.com/en-us/library/aa302388.aspx
发布于 2009-12-24 22:42:48
这里是一个很好的起点:
Microsoft提供的反跨站点脚本库:
http://channel9.msdn.com/posts/Jossie/Anti-XSS-Library-v31-Find-Fix-and-Verify-Errors/
另外,我假设你会使用Verisign。这是来自微软的一个很好的链接:
http://support.microsoft.com/kb/293817
编辑:我还应该补充一点,有一件事需要注意。不要有任何面向互联网的敏感数据。如果您不需要它,请不要将其收集或存储在暴露在Internet上的服务器上。
Fiddler是一个很好的方法,可以尝试在你自己的应用程序中欺骗数据,看看是否存在安全漏洞。下载网站上有视频教程,介绍如何做到这一点:http://www.fiddler2.com/fiddler2/
下面是来自微软的更多关于安全的教程,包括crypto: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
另外,还有一个相关的堆栈溢出问题:What measures should I take to secure my multi-tier ASP.NET application?
https://stackoverflow.com/questions/1958513
复制相似问题