如何保护ASP.NET程序

asp.net|程序

从安全的角度上讲,相对于自身的前一版本,ASP.NET已经表现出很大的改进。使用这一新的开发平台,程序员可以很容易地设计用户输入验证,同时,这一平台增加了很多特性,比如锁住程序功能等。除此之外,.NET运行时间能够支持垃圾收集和安全字符串的功能,这些都能预防外部的各种攻击。一个合适安全的.NET程序不仅能够阻止外部攻击,并且能够最大程度地减少各种形式的垃圾。

但是,不管ASP.NET具有多么完善的功能,在安全问题上它也不是完美无缺。安全分析专家H.D. Moore,也就是四月份的CanSecWest研讨会上的ASP.NET部分的three fairly major security holes(三个主要安全突破口)的作者,他说,这些强大的功能特性将会毫无价值,除非开发人员经常使用它们。Moore建议使用以下简单的安全技巧,以保护你的ASP.NET程序。

使用一些简单的设置控制

作为一种通用规则,请不要随便将任何信息放置在网络,因为这些信息将成为黑客攻击的线索。除非是一些与ISAPI处理程序相映射的文件扩展名,比如文件扩展名为:.aspx, .cs,及.vb。相反,以.txt, .csv, 及.xml的文件将不会自我保护,任何访问网站的人都可以访问这些文件。

在发布任何一个新的程序之前,一定要确认将支持跟踪和调试的功能去掉,并注意将web.config文件中的customErrors标签不要设置为“off”。这些安全措施有助于防止信息暴露到程序外面,特别是当程序发生错误的时候,这些信息包括:文件名,路径,以及可能的源代码等。

同时,在发布新程序之前,一定要清除程序的相关路径。请确认去掉Visual Studio项目和程序路径中的临时文件。与ISAPI访问过滤器不相映射的.sln和.slo文件将有可能从因特网上被看到,因为有些人可以猜想到程序的名称,这样就有可能导致巨大的攻击。

避免使用cookieless会议管理

Moore在评论中指出,ASP.NET的其中一个显著缺点是在程序中使用了"cookie-less session management"(cookie-less会议管理)方案而出现的"hijack"(抢劫)攻击。这一方案将会议标识符嵌入到每一个URL,让服务器能够识别每一个客户。这样就有可能出现问题:当使用这一功能的服务器收到一个不认识但合法的会议标识符,它就会生成一个可以参加的会议,这样一个“聪明的”黑客就会充分利用这一破绽,冒充合法用户,合法会议标识符,就可以访问系统内容。

这是一个阴险的攻击,Moore说到,因为URL不会觉得用户可疑,只有会议ID是可以伪造的。他建议开发人员尽可能地避免使用cookieless会议管理,直到微软把这一缺陷去掉。

“躲在砂盒(sandbox)里”

有时候.NET运行时间管理环境也会遭到如缓冲溢出的攻击,Moore指出,这是由于诸如使用StateServer类而导致的问题,随意调用这些管理不良的类有时候会为黑客提供攻击的线索。

Moore说道,开发人员应该尽可能地只限于使用.NET管理"sandbox" API函数,因为调用任何管理不良的类都有存在很大风险。然而,有时候你也可以使用一些特别的功能,如下面所示的技巧。

验证,验证,验证

尽管推出很多优异的功能,一些传统的特性还是深受应用,比如用户输入的验证。开发人员应该充分的利用强大的Validator(验证器)功能。这一功能可以从System.Web.UI.Validator扩展而来。如果你从未听说过.NET's validators,你自己可以阅读这方面的内容。

使用数据匹配功能

当在一个数据库程序中使用数字域时,在使用变量之前一定要确定将变量与合适的数据类型匹配起来。这样做可以预防产生SQL内部攻击,特别是当用户将一些非数字变量输入数据库时产生的异常。更重要的是,这样做可以生成警报,或写入日志,这很象是一个小型的非法闯入侦查系统。

更进一步的措施

如果你要在操作系统中安装一个网络程序,你最好充分利用web.config文件中的设置来运行程序,这样才能确保不同的用户验证。除此之外,你可以利用网络服务管理器来设置程序的信任级别,这样可以提高程序的安全性。

时间: 2024-10-28 17:24:18

如何保护ASP.NET程序的相关文章

ASP应用程序的安全

千万不要轻视正确配置安全设置的重要性.如果不正确配置安全设置,不但会使您的 ASP 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件. Web 服务器提供了各种方法来保护您的 ASP 应用程序免受未授权的访问和篡改.在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的 Win dows NT 和 Web 服务器安全性文档. NTFS 权限 您可以通过为单独的文件和目录应用 NTFS 访问权限来保护 ASP 应用程序文件.NTFS 权限是 Web 服务器安全性的基础,

维护ASP应用程序的安全

安全|程序 千万不要轻视正确配置安全设置的重要性.如果不正确配置安全设置,不但会使您的 ASP 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件. Web 服务器提供了各种方法来保护您的 ASP 应用程序免受未授权的访问和篡改.在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的 Windows NT 和 Web 服务器安全性文档.详细信息,请参阅 安全性. NTFS 权限 您可以通过为单独的文件和目录应用 NTFS 访问权限来保护 ASP 应用程序文件.NTFS

如何配置安全的 ASP 应用程序

安全|程序 asp 应用程序的安全 千万不要轻视正确配置安全设置的重要性.如果不正确配置安全设置,不但会使您的 asp 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件. web 服务器提供了各种方法来保护您的 asp 应用程序免受未授权的访问和篡改.在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的 windows nt 和 web 服务器安全性文档.详细信息,请参阅 安全性. ---ntfs 权限 您可以通过为单独的文件和目录应用 ntfs 访问权限来保护 a

维护 ASP 应用程序的安全

安全|程序 千万不要轻视正确配置安全设置的重要性.如果不正确配置安全设置,不但会使您的 ASP 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件. Web 服务器提供了各种方法来保护您的 ASP 应用程序免受未授权的访问和篡改.在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的 Windows NT 和 Web 服务器安全性文档. NTFS 权限 您可以通过为单独的文件和目录应用 NTFS 访问权限来保护 ASP 应用程序文件.NTFS 权限是 Web 服务器安全

ASP 应用程序的安全

千万不要轻视正确配置安全设置的重要性.如果不正确配置安全设置,不但会使您的 ASP 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件. Web 服务器提供了各种方法来保护您的 ASP 应用程序免受未授权的访问和篡改.在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的 Windows NT 和 Web 服务器安全性文档.详细信息,请参阅 安全性.NTFS 权限 您可以通过为单独的文件和目录应用 NTFS 访问权限来保护 ASP 应用程序文件.NTFS 权限是 Web

ASP 应用程序开发原则指南

简介 "Active Server Page (ASP)"应用程序的成功常常取决于对体系结构和设计这两方面的取舍.考虑到 ASP 技术的范围之广和当前应用程序固有的复杂性,这种取舍是非常困难的.本文中,我将为您提供一些特定的指导方针,以助您成功开发基于 ASP 的应用程序. 我已将指导方针整理成一组开发原则.在评估解决方案和技术时,可以应用以下原则帮助您做出决策.以下原则是我长期以来从成功的开发模式所得的经验积累. 原则 1:采用标准方法 建立命名约定并使目录结构标准化,可以帮助您大大

如何写出优秀的ASP应用程序

程序 怎样创建鲁棒性.正确性.可维护性和性能俱佳的ASP应用程序?要做什么?不做什么?本文以提纲的形式,给出了主要的Check-Points(检查点). 什么是ASP Active Server Page,简称ASP,是: l连接网友界面(HTML)和商业逻辑(Business Logic): l提供一致的.容易使用的.有状态保持的.基于WEB的客户端: l为那些需要事务处理的WEB 应用提供应用程序环境. ASP不是: l 实现商业逻辑(Business Logic)的地方:商业逻辑应该通过C

《圣殿祭司的ASP.NET4.0专家技术手册》----1-12 ASP.NET程序的编译模型

1-12 ASP.NET程序的编译模型 圣殿祭司的ASP.NET4.0专家技术手册 ASP.NET 4.0支持两种编译模型:动态编译(Dynamic Compilation)与预编译(Precompilation),让你来决定不同网站何时该用何种编译模型,不但灵活性提升,且若采用预编译网站,执行性能还可以更高. 1-12-1 ASP.NET网站动态编译 动态编译是用户第一次浏览网站时,ASP.NET会将网站程序编译成一个dll组件文件,后续的请求就会以此组件来响应,而编译过后的网站执行性能明显较

改进ASP应用程序中的字符串处理性能

程序|性能|字符串 摘要:大多数 Active Server Pages (ASP) 应用程序都要通过字符串连接来创建呈现给用户的 HTML 格式的数据.本文对几种创建此 HTML 数据流的方法进行了比较,在特定情况下,某些方法在性能方面要优于其他方法.本文假定您已经具备一定的 ASP 和 Visual Basic 编程方面的知识. 简介 编写 ASP 页面时,开发人员实际上是创建一个格式化的文本流,通过 ASP 提供的 Response 对象写入 Web 客户端.创建此文本流的方法有多种,而您