维普资讯 http://www.cqvip.com 第21卷第3期 电脑开发与应用 网络数据库安全性研究 浙江经济职业技术学院信息技术系 王 巍 随着网络技术在社会各个行业尤其 是电子商务领域的广泛应用,其安全性和 *指定应用程序开发者的环境; 访问控制。因此,必然会带来很大的安全 *授权free和controlled应用程序 漏洞。 2.4 filesystemobject组件引起的数据库 安全问题 可管理性具有十分重要的意义。数据库是 开发。网络信息系统的重要组成部分,涉及来自 2网络数据库安全技术分析 网络环境下的多方面安全威胁,譬如面对 本节以比较常用的Acces数据库为 使用ASP程序中filesystemobject组 件可以修改或下载FAT分区上的任何文 件。filesystemobject是ASP具有很强功 数据库中信息的窃取、篡改、破坏、计算机 例进行分析,其他数据库可以作为参考。 病毒等的渗透和攻击行为。 2.1 Access数据库地址、路径过于简单 1网络数据库安全性策略分析 1.1系统安全性策略 1.1.1 管理数据库用户 Access数据库被下载,主要是存放数 能的一个组件,它可以实现文本文件读 据库的路径和数据库名称,容易被获知, 写、目录操作、文件复制、更名和删除、修 例如:用户建立的xuesheng.mdb(学生信 改和下载FAT分区上的任何文件等功 udent下,如果没 能。由于Wi按照数据库系统的大小和管理数据 息库)放在虚拟目录/stndows NT/200()目录权限的 库用户所需的工作量,数据库安全性管理 有事先对xuesheng.mdb进行安全加密处 默认设置安全性较差的原因,大量使用 那么在浏览器的地址栏键入 http//用 filesystemobject组件也会使系统存在较 者可能只是拥有create,alter、或delete权 理,P地址/student/xuesheng. 大安全漏洞和隐患。 限的数据库用户的一个特殊用户,或者是 户网站主I拥有这些权限的一组用户。应注意的是, mdb”,xuesheng.mdb整个文件就会被轻 3安全对策及其实现 只有那些值得信任的用户才应该具有管 易下载,文件中所有的重要数据信息就会 3.1屏蔽源代码 被别人轻易窃取。操作流程如图1所示。 理数据库用户的权限。 虽然ASP作为服务器端运行的脚本 1.1.2用户身份确认 即使对Access.mdb的文件夹作了变动, 语言,其程序代码对于客户端完全保密 数据库用户可以通过操作系统、网络 文件路径也会暴露无疑。但一般的ASP结合在HTML中使用时, 服务以及数据库系统进行身份确认,通过 主机操作系统进行用户身份认证。 1.1.3操作系统安全性 H蘸l 全问题 H 还是可以通过单击鼠标右键查看到部分 源代码。克服此缺陷的方法是在ASP文 件或HTML文件的表头部分加上下面的 图1 网络环境下数据库下载流程 *数据库管理员必须有create和 2.2使用下载ASP文件所导致的数据安 语句实现屏蔽。 delete文件的操作系统权限; *一般数据库用户不应该有create <script language一”JavaScript”> <j—functionc click 0 各单位的网络服务器一般都存有大 或delete与数据库相关文件的操作系统 量的应用系统账号及密码,如电子邮件、 权限; (if(event.button==2)(alert(’欢迎光临 ))) 聊天室、BBS、留言簿、新闻发布系统等。由 本站,你可能不能看到我!‘document.onmousedown=click//一> </script> *如果操作系统能为数据库用户分 于网络管理员没有足够的时间与精力开 配角色,那么必须具有修改操作系统账户 发这些应用程序,所以多是采用直接从网 安全性区域的权限。 上下载的方法来满足急用。这些程序的源 这样虽然部分用户还可以通过转存 代码是公开的,所使用的数据库名,存放 HEML文件得到源代码,但大多数用户无 *一般用户通过密码和权限管理实 路径没有任何秘密,如果安全措施不力, 法打开源代码进行查看。现系统的安全性保障; 会给Access DB的安全带来非常大的危 3.2对文件名加密和隐藏数据库路径 1.2用户安全性策略 *必须针对终端用户制定安全性策 险。如从网上下载了一个ASP应用程序, 窃取文件首先要知道窃取文件对象 略。例如,对于一个有很多用户的大规模 且Access.mdb的连接文件是conn.inc, 的路径及文件名。因此,对于重要的 与Access.mdb连接的代 Access数据库,应取个不易被破译的、非 数据库,管理员可以决定用户组分类,您 在ASP程序中,可以使用“角色”对终端用户进行权限管 码是:<!一#include file conn.inc , 常规的、相对复杂的文件名,并把它放在 理。 则.inc文件很容易被通过网络下载。 2.3服务器操作系统的安全隐患 几层目录下,且对目录进行隐藏.例如,对 于招生录取的数据库文件,不要简单地命 1.3管理员安全性策略 *保护作为服务器和用户的连接; *保护管理者与数据库的连接; 现在使用WindowsNT /2000 Sever 名为gaokao.mdb”或”zhaosheng.mdb , 作为服务器操作系统的用户非常主流,由 而是要以非常规的名字命名。例如:hsh.mdb,或用其对应的ASCI码 *使用角色对管理者权限进行管理。 于Win2000 Sever目录权限的默认设置安 wmdgkz1.4应用程序开发者的安全性策略 k/askl/ 全性较差,很多网管只知道让Web服务 字符加8后,再把它放在如/as些通过猜测的方式得到Access数据库 e2/nba之类的深层目录下,这样,对于 *明确应用程序开发者和他们的权 器运行起来,很少对NTFS进行权限设 ans限; 置。有的服务器甚至未禁止对文件目录的 一维普资讯 http://www.cqvip.com ・78・ (总248) 网络数据库安全性研究 2008拒 crosoft Access程序打 文件名的非法访问方法就起到了有效的 入DLL文件中,由于数据库的连接信息 文件可以使用Minternet信息服 防止作用。另外还可以更改ASP文件结 封装在DLL文件中,因此具有很好的安 开,那么我们可以使用“Iipt 务”指定站点目录下打开。*.mdb文件的 构,将数据库连接部分单独剪切出来。文 全性。另一种是使用微软的Scr件名命名为inc.asp.在ASP文件中加入 Enconder对ASP页面进行加密;Script 执行程序为abc.exe,该文件可以使用记 <j一#includefi le一”inc.asp” inc.asp Enconder只加密在HEML页面中嵌入的 事本随便填写一些代码,然后保存为abc.ASP代码,其他部分仍保持不变。这就使 exe就行。 得我们仍然可以使用FrontPage或 3.6 filesystemobject组件引起的安全问 Dreamweaver等常用网页编辑工具对 HTMI 部分进行修改,只是不能对ASP 题解决方法 远程客户端可以通过ASP的 >,文件常规内容如下: dim conn connstr connstr一”DBQ一 +server.mappath( 用 户使用的数库mdb )+ ; DefaultDir=; ilesystemobject组件,对目录进行操作、 加密部分进行修改,否则将导致文件失 f效。Script Enconder还可以对当前目录中 文件复制、更名、删除、修改或下载FAT 的所有ASP文件进行批量加密,并把加 分区上的任何文件等。为防止此种危害发 密后的文件统一输出到相应的目录中。 3.4设置用户组和用户权限 DRIVER={Microsoft Access Driver(*. mdb)):, Set conn—server.creatobject( ADODB. C0NNECT10N’) conn.open connstr 生,应将Access DB建立在NTFS分区 上,只设置读取、更改权限,避免将Web set rs—conn.execute(sg1) 为用户组和用户设置权限和级别,规 目录设定为everyone fullcontrol,也可以 定其操作对象和使用范围。如普通用户只 把filesystemobject组件删除或者改名。 对于下载的ASP文件,要更改其数 s DB的安全性的其他技 据库连接文件名,不能使用下载程序中 能读取工资表中的记录项而无权修改其 3.7提高Acces术手段 工资项,非授权人员不能调阅人事档案 的.inc文件作为ASP文件的包含文件。把 数据库连接文件的扩展名.inc修改为 .等。在设置密码的基础上,进一步提高了 通过0DBC中对数据源进行设置后, ASP,窃取者便无法从服务器上下载数 Access DB的安全系数。其设置可在“工 在程序中写入代码:conn.open” 具”、“安全”、“用户/组权限”选项下完成。 shujiyuan”,其数据库的安全性即可大大 3.5对服务器进行必要的安全设置 据库连接文件。 3.3对ASP文件加密 提高。另一种增强网络数据库安全性的方 为有效地防止ASP源代码泄露,可 以对ASP页面进行加密,方法一般有两 种:一种是使用组件技术将编程逻辑封装 为防止Access数据库被下载打开,可 法是将数据库连接代码封装到DLL的 在服务器上故意设置打开,.mdb类型文 ActiveX组件中,从而实现网络数据库安 件的错误程序。一般情况下*.mdb类型 全性。 (上接第76页) 通常使用的文件和数据库都是基于 必须做从UNIC0DE到GBK的转换。用 件header.jsp和footer.jsp中,使用时用 GB2312或BIG5等方式编码的。从Java 法是< @page ContentType一”text/ include指令把头和尾包含在其他页面 源代码到得到正确的结果,要经过“Java html;charset:gb2312” >。中l_2]。使用方法如下所示: < @include file一”header.jsp” > 源代码一Java字节码一虚拟机一操作系 5 结束语 统一显示设备”的过程。在上述过程中的 要注意的是,在运行JSP程序之前, 每一步骤,必须正确地处理汉字的编码, 首先在\jswk一1.0.1\目录下执行 < @include file一”footer.jsp” > 否则就会出现乱码。 startserver.bat,就可启动一个JSP网页 在页面中调用JavaBeans使用以下方 式: < @page language: java import一 java.sq1.*” > <jsptuseBean id一 OpenBean scope: page class: XX.Opendb”f> 在Java源代码一Java字节码的过程 技术的Web服务器。为了不与现有的 中,标准Java编译器javac使用的字符集 web服务器(例如IIS、PWS等)冲突, 是系统默认的字符集,比如在中文 jswdk的Web服务器使用了8080端口。 Windows操作系统上就是GBK,而在 要关闭jswdk的Web服务器则需运行 Linux操作系统上就是ISO一8859—1,解决 的办法就是在编译的时候加encoding参 数,这样才能够与平台无关。用法是javac encoding GBK。 stopserver.bat。 在设计查询系统的页面时,首先用 HTML语言设计所需页面,然后用上面的 方法把头、尾、JavaBeans包含在页面中, 参考文献 [1] 鲁夫创意工作室,何雄编著.JSP网络 最后写出java程序片段加入JSP程序中。 在Java字节码一虚拟机一操作系统 的过程中,Java开发工具包(JDK)支持非 程序设计EM3.北京:人民邮电出版社, 2000. 4汉字问题的分析及解决 在基于Java语言的编程中,经常碰到 英文字符,所以要安装JDK。 在操作系统一显示设备的过程中,要 求使用的是汉字操作系统。 另外,向网页输出中文字符的时候, E23 [美]Phil Hanna著.闻道工作室译. JSP技术大全EM3.北京:机械工业出版 社,2000. 汉字的处理及显示的问题。Java语言默认 的编码方式是UNIC0DE,而我们中国人