浅谈ASP网站的安全防护

时间:2022-10-06 02:44:50

浅谈ASP网站的安全防护

摘要:主要介绍了ASP网站的安全问题,针对常见的安全漏洞和安全隐患,给出了需要注意的安全防护措施与注意事项。

关键词:ASP;安全防护;数据库

中图分类号:TP393.08文献标识码:A文章编号:1007-9599 (2010) 10-0000-02

Discussion on the Safety and Protection of ASP Website

Wang Xin1,Li Hui2

(1.School of Continuing Education,Yanshan University,Qinhuangdao066004,China;2.E&A College of HeBei Normal University of Science&Technology, Qinhuangdao066004,China)

Abstract:This paper introduces the problem of ASP website,for common security vulnerabilities and security risks,therefore,given the security measures and precautions.

Keywords:ASP;Safety and Protection;Database

ASP(Active Server Page)是微软公司开发的服务器端的脚本编写程序,可以用它来创建动态WEB页或生成功能强大的WEB应用程序。[1]ASP内置于IIS(Internet Information Service)或者PWS(Personal Web Service)中。由于ASP的语法非常简单,同时支持Vbscript和Javascript等多语言脚本,因此受到许多爱好者的青睐。

一、ASP网站的安全问题

ASP网站的安全问题大体可以归结成两个大类:

(一)是硬件安全问题,包括:环境因素主要指服务器所在地应该有防静电、防尘设备、温度,湿度,洁净度在一定的控制范围内;设备安全问题指计算机信息系统设备的安全保护。[2]

(二)是软件安全问题,也是我们主要研究的问题。它包括服务器安全问题,如服务器是否存在安全漏洞,系统要随时更新,保证没有病毒、木马进入服务器,给网站运行提供一个“干净”的运行环境。另一方面,网站的安全性,包括ASP网页设计过程中的安全性,ASP连接数据库(ACCESS MSSQL)的安全性等。

二、服务器的安全漏洞和安全防护

针对我们现在主要使用的服务器系统(Windows Server 2000;Windows Server 2003)我们提出如下几个方面需要注意的地方。

(一)及时给系统打补丁,防止一些系统漏洞被利用,安装正版杀毒软件监控病毒、木马入侵。

(二)取消系统默认共享和一些不必要的客户组权限,如(Guest,user组)。只保留Administrators和Systems组的权限,同时改名Administrator账户,并新建个Administrator同名账户设个复杂的密码作为陷阱账户,账户下所有所属组全部删除。另外改名cmd.exe,del.exe,format.exe,net.exe,at.exe,netstat.exe等有可能提升用户权限的文件,或者将这些文件的权限全部删除,包括Administrator和Systems组。注意:Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行

(三)禁用掉不需要的服务,如(Remote Registry Service)允许远程注册表操作,(Removable storage)管理可移动媒体、驱动程序和库,(Routing and Remote Access)在局域网以及广域网环境中为企业提供路由服务,(Error Reporting Service)收集、存储和向Microsoft报告异常应用程序(Messenger)传输客户端和服务器之间的NET SEND和警报器服务消息,(Telnet)允许远程用户登录到此计算机并运行程序。

(四)关闭不需要的端口,只保留TCP的80和TCP3389端口,Web使用80端口,远程桌面使用3389端口,如果不需要3389端口,可以只保留80端口。

(五)合理设置IIS安全权限。不要使用默认的Web站点,重新设置IIS的虚拟目录;删除不必要的IIS扩展名映射;去掉不必要的应用程序映射;同时更改IIS日志的存储路径。

三、数据库安全性和防护

数据库是网站的关键部分,针对数据库的攻击也是多种多样。

(一)针对常用的手段我们做一下分析:网络扫描主要包括PING、操作系统探测、端口扫描、漏洞扫描等,其中端口扫描和漏洞扫描是核心技术。[3]

用户密码破解也是黑客比较热衷的技术之一,主要有口令破解,放置木马程序,www的欺骗技术,寻找系统漏洞等。

SQL注入式攻击就是在服务器CGI程序中注入攻击者构造的脚本(主要是数据库查询语句),以获取服务器上的信息或执行攻击指令,SQL注入具有高风险性、广泛性、频发性的特点。[4]

缓冲区溢出技术是一种基于改变远程系统进程流程的渗透技术。也就是当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢出的数据覆盖在合法数据上,从而达到破坏目的

(二)针对以上的攻击手段,我们需要注意的几个防范措施。

对SQL Server进行必要的安全配置,在服务器正式处理之前对提交数据的合法化进行检查;改变SQL Server的端口号。目前针对SQL Server的攻击主要扫描1433端口,改变端口不能根本解决问题,但是可以防止一般的端口扫描。

对数据库中存储的重要数据进行加密处理。可以采用MD5算法或者字段加密,以实现数据存储的安全保护,提高了关键数据的安全性。

身份认证技术是在计算机网络中确认操作者身份的过程而产生的解决方法。 计算机网络世界中一切信息包括用户的身份信息都是用一组特定的数据来表示的,计算机只能识别用户的数字身份,所有对用户的授权也是针对用户数字身份的授权。身份认证技术是系统提供的最外层安全保护措施。

用户访问权控制是数据库管理系统内部对已经进入系统的用户控制,可防止系统安全漏洞,模块功能化使每个模块有不同的权限,不同的用户访问服务器时需要认证用户的身份、确认用户是否被授权。通常数据库管理系统主要使用的是基于角色的访问控制。

采取必要的防注入技术,目前流行的SQL Injection即“SQL注入”,就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的[4]。我们要采取一定措施避免发生,如:替换或删除敏感字符或者字符串,可以对用户输入的字符进行过滤,或者自己编写防注入程序;对用户输入数据的合法化进行判断的时候不要提示错误信息,避免泄露数据库目录。还有就是可以建立一个防注入账号,一个管理员账号,然后修改管理员账号类型,即使被Sql注入成功也不能对网站构成威胁。

针对缓冲区溢出技术我们可以采用程序指针完整性检查,堆栈保护(这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现),数组边界检查(所有的针对数组的读/写操作都应该在正确的范围内进行)等方法。

四、结束语

系统架设时的不小心,程序编写时的不注意,都是导致系统不安全的隐患。为了减少这些不安全的因素,程序员要确定你的系统没有任何泄露信息的程序和操作系统的漏洞,只安装需要的软件,定期对服务器进行检查并安装补丁,随时了解最新的网络安全信息和知识,不断更新知识储备,防患于未然。

参考文献:

[1]邹天思,孙明丽.ASP数据库系统开发完全手册[M].人民邮电出版社.2006,12,13-3.

[2]许皓月.基于ASP技术开发的网站安全防护分析[J].农业图书情报学刊.2009,3,21,3

[3]侯德艳.数据库系统安全检测的几个关键技术研究[J].电脑知识与技术.2009

[4]田丹,刘申菊.浅谈数据库安全技术研究[J].信息科学,2006

作者简介:王新,燕山大学继续教育学院实验师,主要从事计算机网络技术;李晖,河北科技师范学院欧美学院助教,主要从事计算机技术与应用。

上一篇:烟草行业企业信息化管理研究 下一篇:SQL Server的主动通知和应用