基于ASP信息系统的网络安全措施

2022-09-12

ASP是微软开发的一套服务端脚本环境, 它是一系列对象和组件的集合。它把脚本、HTML、ActiveX组件有机地结合在一起, 形成动态、交互、高效的Web服务器应用程序。随着信息技术的高速发展, 国内有许多企业、部门使用ASP技术建立了自己的信息管理系统。但是, 由于ASP本身存在一些安全漏洞, 稍不小心就会给黑客提供可乘之机, 下面从ASP程序设计、服务器端、数据库端三个方面讲解基于ASP信息系统的安全防范措施。

1 ASP程序设计的安全措施

1.1 注意Cookie的安全性

为防止非法用户访问合法用户的会话变量, 服务器为每个SessionID指派一个随机生成号码。每当用户的Web浏览器返回一个SessionIDCookie时, 服务器取出SessionID被赋予的数字, 检查与存储在服务器上的生成号码是否一致, 假如不一致则不答应用户访问会话变量。同时, 应加密重要的SessionidCookie。以防止一旦黑客截获了用户的SessionidCookie, 就能假冒该用户开始一个活动会话。

1.2 使用注册验证

为防止未注册用户绕过注册界面直接进入应用系统, 常利用Session对象和Http头信息来实现安全控制。当访问者通过身份验证页面后, 就把Session对象的Sessionid属性作为一个Session变量存储起来, 当访问者试图导航到一种有效链接的页面时, 可将当前的Sessionid与存储在Session对象中的ID进行比较, 假如不匹配, 则拒绝访问。

1.3 治理页面缓存

假如浏览器设置了“浏览网页时首先查看本地缓冲区里的页面”, 就给非法用户提供了越权浏览的机会。因此, 重要的Web页面必须禁止页面缓存, 强制浏览器每次向Web服务器请求新页面。利用ASP的Response对象的Expires属性和Clear方法可解决此问题。可以这样设置:

expires表示缓存页面的有效期, 0表示立即过期, clear表示清空缓冲区。

1.4 设置合适的脚本映射

应用程序的脚本映射保证了Web服务器不会意外地下载ASP文件的源代码, 例如, 即使您为包含了某个ASP文件的目录设置了“读”权限, 只要该ASP文件隶属于某个脚本映射应用程序, 那么您的Web服务器就不会将该文件的源代码返回给用户。因此, 应将用不到的有一定危险性的脚本映射删掉。

2 Web服务器端的安全措施

2.1 使用N T F S设定目录和文件的访问权限来保护A S P应用程序文件

NTFS权限是Web服务器安全性的基础, NTFS文件系统提供了比Fat32更为安全的文件治理方式, 它定义了一个或一组用户访问文件和目录的不同级别。当拥有Windows有效帐号的用户试图访问一个有权限限制的文件时, 计算机将检查文件的访问控制表。通过NTFS设定目录和文件的访问权限, 防止无关用户对目录文件进行复制、修改、删除等操作, 减少系统被入侵的可能性。

2.2 通过限制机制控制用户访问

IIS提供了对站点资源进行匿名访问与验证控制设置, Web服务器根据设置对用户的身份进行验证, 阻止未授权用户与受限制内容建立Http连接。匿名访问响应客户端以IUSR-Computername为帐号与Web服务器建立连接。当禁止匿名访问时, 有三种验证方式:基本验证, 答应用户名及密码以未加密方式发送;简要验证, 仅在域控制器的域中被支持, 它通过网络发送经过混编的值而不是密码进行验证;集成Windows验证, 使用安全套接字层自动加密用户身份信息。

2.3 使用SSL安全机制

SSL是一个运行在Http层和TCP层间的安全协议, 提供了一种安全的虚拟透明方式来建立与用户的加密通讯连接, 确保传递信息的安全性。目前, SSL已被视为Internet上Web浏览器和服务器的标准安全性措施。SSL保证了Web内容的验证, 并能可靠地确认访问被限制的Web站点的用户的身份。通过SSL, 您可以要求试图访问被限制的ASP应用程序的用户与您的服务器建立一个加密连接;以防用户与应用程序间交换的重要信息被截取。

3 数据库系统安全技术

在ASP环境中, 常用的后台数据库是Access和SQLServer, 下面分别对它们在ASP环境下常用的安全技术进行分析。

3.1 Access数据库的安全

第一, 为数据库文件编码及加密。为防止他人使用其他工具查看数据库文件, 可以对数据库文件进行编码, 具体做法是选择“工具→安全→编码/解码数据库”。为数据库设置密码的具体做法:以“独占”的方式打开数据库, 在功能表中选择“工具→安全→设置数据库密码”。但是, Access的加密机制比较简单, 因此还必须借助于其他安全措施来保证数据库的安全。第二, 使用ODBC数据源。在ASP程序设计中, 如果有条件, 应尽量使用ODBC数据源, 不要把数据库名写在程序中, 否则, 数据库名将随ASP源代码的失密而一同失密, 即使数据库名字起得再怪异, 隐藏的目录再深, ASP源代码失密后, 也很容易被下载下来。如果使用ODBC数据源, 就不会存在这样的问题了。

3.2 SQLServer数据库的安全

首先, 设置一个强健的SA密码。SA具有对SQLServer数据库操作的全部权限, 但在安装SQLServer时SA缺省口令为空, 为SQLServer带来了潜在的隐患, 应记得为SA分配一个复杂的口令, 同时不能把SA帐号的密码写在应用程序或者脚本中。其次, 定义用户和角色对数据库、数据表和数据列的访问权限, 限制用户对表拥有直接的查询、更改、插入、删除权限, 可以通过给用户访问视图和执行存储过程的权限, 以保证数据库的安全。最后, 加强数据库访问日志的监视, 定期备份数据库。审核数据库登录事件的“失败和成功”, 在实例属性中选择“安全性”, 将其中的审核级别选定为全部这样在数据库系统日志里就具体记录了所有帐号的登录事件, 一旦出现问题能够查出原因, 及时补救。同时, 制订完整的数据库备份策略, 在必要的时候能够实现对数据库的恢复。

虽然基于ASP技术的信息管理系统安全性措施目前已经比较成熟, 但我们切不可马虎大意。ASP环境下的安全问题应从系统的全局进行分析和考虑, 既要保证系统安全, 又要取得良好的系统性能。本文分析了ASP程序设计、服务器端、数据库端三个方面一些安全措施, 但随着新的攻击手段和方法不断涌现, 要构建一个面面俱到的安全体系是很困难的, 因为一种技术只能解决一或几个方面的问题。因此, ASP的安全应侧重于预防, 规范自己的编程习惯只有不断学习新的网络安全知识、采取日新月异的网络安全措施, 才能保证我们的网络安全。

摘要:本文从ASP环境的Web服务端出发, 从ASP程序设计、Web服务器端、数据库端三个方面介绍了基于ASP信息系统的网络安全防范措施。

关键词:ASP,网络安全,措施

上一篇:智能建筑弱电系统施工常见的问题及其防范下一篇:发展智能电网助力能源革命