摘要:本文对Asp技术及用Asp技术的WEB服务器的安全问题进行分析和总结,从而提高使用ASP技术的WEB开发和应用的安全性。
关键词:ASP;Web服务器;数据库
Asp是微软推出的基于WEB编程的服务器端脚本环境,它可以完成以往CGI程序的所有功能。ASP可以轻松地实现对
页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。ASP可包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。目前,IIS+ASP+SQL(或Access)方案已成为中小型企业构建自己网上信息系统的首选方案。虽然Asp具有快速开发能力,但Asp也存在很多不容忽视的安全漏洞。
一、ASP程序设计安全技术
Asp程序设计的安全主要涉及三个方面:Asp源代码的安全、Asp程序设计的安全和数据库安全。
关键词:ASP;Web服务器;数据库
Asp是微软推出的基于WEB编程的服务器端脚本环境,它可以完成以往CGI程序的所有功能。ASP可以轻松地实现对
页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。ASP可包含HTML标签,也可以直接存取数据库及使用无限扩充的ActiveX控件,因此在程序编制上要比HTML方便而且更富有灵活性。目前,IIS+ASP+SQL(或Access)方案已成为中小型企业构建自己网上信息系统的首选方案。虽然Asp具有快速开发能力,但Asp也存在很多不容忽视的安全漏洞。
一、ASP程序设计安全技术
Asp程序设计的安全主要涉及三个方面:Asp源代码的安全、Asp程序设计的安全和数据库安全。
1.ASP源代码的安全:
(1)保证ASP源码的安全的主要技术是Asp脚本加密技术。常用方法有两种:一是ASP2DLL技术。其基本思想是利用VB6.0提供的Activexdll对象将Asp代码进行封装,编译为DLL文件,在Asp程序中调用该DLL文件。二是利用微软提供的Script Encoder加密软件对Asp页面进行加密。
(2)置合适的脚本映射。应用程序的脚本映射保证了Web服务器不会意外地下载Asp文件的源代码,但不安全或有错误的脚本映射易导致Asp源代码泄漏。因此,应将用不到的有一定危险性的脚本映射删掉(如*.htr文件及*.htw,*.ida,*.idq等索引文件)。
2.程序设计中的安全
(1)用户名、口令机制。用户名、口令是最基本的安全技术,在Asp中常采用Form表单提交用户输入的帐号和密码,与用户标识数据库中相应的字段进行匹配,在必要的场合可以使用MD5算法来加密用户输入的密码,可以保证在线路被窃听的情况下依然保证数据的安全,保护用户口令的安全。
(2)注册验证。为了网站资源的安全性和易于管理,可以对用户进行分级,给定权限,使特定用户访问特定的资源,也可以阻止未授权用户使用网站的资源,这就需要对用户
(1)保证ASP源码的安全的主要技术是Asp脚本加密技术。常用方法有两种:一是ASP2DLL技术。其基本思想是利用VB6.0提供的Activexdll对象将Asp代码进行封装,编译为DLL文件,在Asp程序中调用该DLL文件。二是利用微软提供的Script Encoder加密软件对Asp页面进行加密。
(2)置合适的脚本映射。应用程序的脚本映射保证了Web服务器不会意外地下载Asp文件的源代码,但不安全或有错误的脚本映射易导致Asp源代码泄漏。因此,应将用不到的有一定危险性的脚本映射删掉(如*.htr文件及*.htw,*.ida,*.idq等索引文件)。
2.程序设计中的安全
(1)用户名、口令机制。用户名、口令是最基本的安全技术,在Asp中常采用Form表单提交用户输入的帐号和密码,与用户标识数据库中相应的字段进行匹配,在必要的场合可以使用MD5算法来加密用户输入的密码,可以保证在线路被窃听的情况下依然保证数据的安全,保护用户口令的安全。
(2)注册验证。为了网站资源的安全性和易于管理,可以对用户进行分级,给定权限,使特定用户访问特定的资源,也可以阻止未授权用户使用网站的资源,这就需要对用户
进行注册验证操作。在ASP中,我们可以利用Session对象和Http头信息来实现此类安全控制。当访问者通过身份验证页面后,就把Session对象的Sessionid属性作为一个Session变量存储起来,当访问者试图导航到一种有效链接的页面时,可将当前的Sessionid与存储在Session对象中的ID进行比较,如果不匹配,则拒绝访问。如在Session(“id”)中保存着第一次链接的Sessionid,<%if session.sessionid<>session(“id”) d%>’拒绝访问。
(3)网页过期管理。考虑到有可能用户在使用网页的过程中,有可能会长时间离开计算机处理别的事情,这样会给别有用心的人有可乘之机,所以应该给网页一个过期时间。这样不仅保证了用户的安全,也可以减少服务器的链接数,减少服务器压力。可以使用session.timeout=时间,过了这么长时间网页就失效了,前提是你用一个session值来判断登录状态如session.timeout=20。
(4)页面缓冲管理:页面缓冲可以加快网站的浏览速度,但也会给非法用户提供了越权浏览的机会。因此,重要的Web页面(如身份验证页面)必须禁止页面缓存,强制浏览器每次向Web服务器请求新页面。利用Asp的Response对象的Expires属性和Clear方法可解决此问题。具体设置:pires=0Rsponse.clear,expires表示缓存页面的有效期,
(3)网页过期管理。考虑到有可能用户在使用网页的过程中,有可能会长时间离开计算机处理别的事情,这样会给别有用心的人有可乘之机,所以应该给网页一个过期时间。这样不仅保证了用户的安全,也可以减少服务器的链接数,减少服务器压力。可以使用session.timeout=时间,过了这么长时间网页就失效了,前提是你用一个session值来判断登录状态如session.timeout=20。
(4)页面缓冲管理:页面缓冲可以加快网站的浏览速度,但也会给非法用户提供了越权浏览的机会。因此,重要的Web页面(如身份验证页面)必须禁止页面缓存,强制浏览器每次向Web服务器请求新页面。利用Asp的Response对象的Expires属性和Clear方法可解决此问题。具体设置:pires=0Rsponse.clear,expires表示缓存页面的有效期,
0表示立即过期,clear表示清空缓冲区。
(5)程序错误管理:错误的执行参数和意外的执行过程,都可以导致页面出现错误提示,而这些错误提示会提供给别人很多网站的信息,比如使用数据库的类型,表中所含字段的名称等等。会造成程序的不安全。所以在编程过程中要注意对异常数据的处理和意外事件的控制,才能保证网站的安全性。
3.数据库的安全。
(1)ACCESS数据库:在一些小型程序中,常用到ACCESS数据库,ACCESS数据库易于管理而安全性低,应注意在命名时不要采用常规的*.mdb的后缀名,而应该用*.asp,*.inc文件的后缀名,这样,即使数据库路径即使被别人发现,也不能下载数据库而导致信息的不安全。
(2)SQL SERER数据库:首先应更改sa口令,取消guest帐号。并且不能把sa帐号的密码写在应用程序或者脚本中。其次,应加强数据库访问日志的监视,定期备份数据库。同时,制订完整的数据库备份策略,在必要的时候能够实现对数据库的恢复。
(3)屏蔽数据库路径信息。为防止数据库路径和名称随ASP源代码失密而失密,常使用ODBC数据源。使用ODBC数据源连接数据库的命令是Conn.open “DSN名”。 二、WEB服
(5)程序错误管理:错误的执行参数和意外的执行过程,都可以导致页面出现错误提示,而这些错误提示会提供给别人很多网站的信息,比如使用数据库的类型,表中所含字段的名称等等。会造成程序的不安全。所以在编程过程中要注意对异常数据的处理和意外事件的控制,才能保证网站的安全性。
3.数据库的安全。
(1)ACCESS数据库:在一些小型程序中,常用到ACCESS数据库,ACCESS数据库易于管理而安全性低,应注意在命名时不要采用常规的*.mdb的后缀名,而应该用*.asp,*.inc文件的后缀名,这样,即使数据库路径即使被别人发现,也不能下载数据库而导致信息的不安全。
(2)SQL SERER数据库:首先应更改sa口令,取消guest帐号。并且不能把sa帐号的密码写在应用程序或者脚本中。其次,应加强数据库访问日志的监视,定期备份数据库。同时,制订完整的数据库备份策略,在必要的时候能够实现对数据库的恢复。
(3)屏蔽数据库路径信息。为防止数据库路径和名称随ASP源代码失密而失密,常使用ODBC数据源。使用ODBC数据源连接数据库的命令是Conn.open “DSN名”。 二、WEB服
务器的安全
Asp技术中常用微软自带的IIS架设WEB服务器。WEB服务器的安全包括了系统的安全和IIS的安全。
1.系统的安全:
(1)目录文件的保护:NTFS权限。NTFS文件系统提供了比Fat32更为安全的文件管理方式,它通过文件访问控制表(ACL)定义了用户访问文件和目录的权限级别,如果用户具有打开文件的权限,计算机则允许该用户访问文件。通过设定目录和文件的访问权限,禁止无关用户对目录文件进行复制、修改、删除等操作,限制对系统的入侵。
(2)防火墙技术。可以根据WEB服务器的应用范围,决定防火墙的位置。
(3)审核与监视技术。安全审核负责监视系统中各种与安全有关的事件,生成安全日志,并提供查看安全日志的方法。通过分析安全日志,可以发现并阻止各种危及系统安全的行为。除了安全日志,系统日志和应用程序日志也是很好的监视工具,它们记录了用户自登录开始直到退出的整个操作过程,为网络安全分析提供可靠的依据。
(4)关闭不用的服务和协议,堵上系统的漏洞和后门。“尽量少开没用到的服务”,如果
Asp技术中常用微软自带的IIS架设WEB服务器。WEB服务器的安全包括了系统的安全和IIS的安全。
1.系统的安全:
(1)目录文件的保护:NTFS权限。NTFS文件系统提供了比Fat32更为安全的文件管理方式,它通过文件访问控制表(ACL)定义了用户访问文件和目录的权限级别,如果用户具有打开文件的权限,计算机则允许该用户访问文件。通过设定目录和文件的访问权限,禁止无关用户对目录文件进行复制、修改、删除等操作,限制对系统的入侵。
(2)防火墙技术。可以根据WEB服务器的应用范围,决定防火墙的位置。
(3)审核与监视技术。安全审核负责监视系统中各种与安全有关的事件,生成安全日志,并提供查看安全日志的方法。通过分析安全日志,可以发现并阻止各种危及系统安全的行为。除了安全日志,系统日志和应用程序日志也是很好的监视工具,它们记录了用户自登录开始直到退出的整个操作过程,为网络安全分析提供可靠的依据。
(4)关闭不用的服务和协议,堵上系统的漏洞和后门。“尽量少开没用到的服务”,如果
开启了某个服务,就要提防该服务可能引起的漏洞。同时要定期下载操作系统、IIS、ASP和DBMS最新漏洞的补丁,将可能发生的安全隐患减到最少。
2.IIS的安全
(1)不要将IIS安装在系统分区上
默认情况下,IIS与操作系统安装在同一个分区中,这是一个潜在的安全隐患。因为一旦入侵者绕过了IIS的安全机制,就有可能入侵到系统分区。如果管理员对系统文件夹、文件的权限设置不是非常合理,入侵者就有可能篡改、删除系统的重要文件,或者利用一些其他的方式获得权限的进一步提升。将IIS安装到其他分区,即使入侵者能绕过IIS的安全机制,也很难访问到系统分区
(2)修改IIS的安装默认路径
IIS的默认安装的路径是\inetpub,Web服务的页面路径是\inetpub\wwwroot,这是任何一个熟悉asp 源代码IIS的人都知道的,入侵者也不例外,使用默认的安装路径无疑是告诉了入侵者系统的重要资料,所以需要更改。
(3)删除危险的IIS组件
默认安装后的有些IIS组件可能会造成安全威胁,例如 Internet服务管理器(HTML)、SMTP
2.IIS的安全
(1)不要将IIS安装在系统分区上
默认情况下,IIS与操作系统安装在同一个分区中,这是一个潜在的安全隐患。因为一旦入侵者绕过了IIS的安全机制,就有可能入侵到系统分区。如果管理员对系统文件夹、文件的权限设置不是非常合理,入侵者就有可能篡改、删除系统的重要文件,或者利用一些其他的方式获得权限的进一步提升。将IIS安装到其他分区,即使入侵者能绕过IIS的安全机制,也很难访问到系统分区
(2)修改IIS的安装默认路径
IIS的默认安装的路径是\inetpub,Web服务的页面路径是\inetpub\wwwroot,这是任何一个熟悉asp 源代码IIS的人都知道的,入侵者也不例外,使用默认的安装路径无疑是告诉了入侵者系统的重要资料,所以需要更改。
(3)删除危险的IIS组件
默认安装后的有些IIS组件可能会造成安全威胁,例如 Internet服务管理器(HTML)、SMTP
Service和NNTP Service、样本页面和脚本,大家可以根据自己的需要决定是否删除。
三、结束语
Asp环境下的安全问题应从系统的全局进行分析和考虑,既要保证系统安全,又要取得良好的系统性能。本文从服务器端、、Asp程序设计两个方面对Asp安全技术进行分析和总结,但随着新的攻击手段和方法不断涌现,要构建一个面面俱到的安全体系是很困难的,因为一种技术只能解决一或几个方面的问题。因此,Asp的安全应侧重于预防,规范自己的编程习惯,及时地堵上系统漏洞,定期进行风险评估,安装入侵检测系统等预防措施能及时有效地进行入侵防范。
参考文献
[1]陈婧,等.基于ASP技术的MIS安全机制研究[J].情报杂志,2003,(8).[2]华军,等.基于ASP技术网站建设的安全性研究[J].计算机工程和应用,2003,(33)。
三、结束语
Asp环境下的安全问题应从系统的全局进行分析和考虑,既要保证系统安全,又要取得良好的系统性能。本文从服务器端、、Asp程序设计两个方面对Asp安全技术进行分析和总结,但随着新的攻击手段和方法不断涌现,要构建一个面面俱到的安全体系是很困难的,因为一种技术只能解决一或几个方面的问题。因此,Asp的安全应侧重于预防,规范自己的编程习惯,及时地堵上系统漏洞,定期进行风险评估,安装入侵检测系统等预防措施能及时有效地进行入侵防范。
参考文献
[1]陈婧,等.基于ASP技术的MIS安全机制研究[J].情报杂志,2003,(8).[2]华军,等.基于ASP技术网站建设的安全性研究[J].计算机工程和应用,2003,(33)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论