APP下载

学校校园网站的安全及防范

2010-08-15张代红

中小学电教 2010年5期
关键词:源代码黑客页面

☆ 张代红

(滨海县教育局,江苏滨海 224500)

学校校园网站的安全及防范

☆ 张代红

(滨海县教育局,江苏滨海 224500)

随着Internet的发展,Web技术日新月异,各类网站如雨后春笋,许多教育管理机构和学校也都建立了自己的网站,学校校园网站在信息发布、资源共享、交流沟通中发挥了重要的作用,亦已成为学校展示风采的重要窗口。如何保证网站的安全是网站管理员面临的重要任务。随着网站建设技术的不断发展,人们已经不再满足于静态HTML技术,更多的是采用动态、交互的网络编程技术。IIS+ASP架构的网站是中小型网站的首选方案,此方案是微软公司推出的一种典型的服务器网页设计技术。绝大多数教育网站均采用此解决方案。但是,该方案在为我们带来便捷的同时,也带来了严峻的安全问题。

一、动态网站的脚本安全及防范

首先,ASP程序的运行机制带来的安全隐患。ASP是解释性语言,运行的是源代码本身,这就大大降低了程序源代码的安全性。如果黑客侵入站点或利用其它一些手段,特别是对于租用服务器的用户,因个别服务器出租商的职业道德问题,都会造成ASP应用程序源代码的泄露。其次,ASP代码使用表单实现交互,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如:在浏览器中敲入“...page.asp芽x=8”,即可不经过表单页面直接进入满足“x=8”条件的页面。因此,在验证或注册页面中,必须采取特殊措施来避免此类问题的产生。

解决方案:

(1)对ASP页面进行加密处理,使黑客不能获得明文的页面源代码。可采用两种方法对ASP页面进行加密。一是使用组件技术将编程逻辑封装入DLL之中;二是使用微软的Script Encoder对ASP页面进行加密。

(2)对需要验证的ASP页面的代码开头做相应的处理,可采用Session对象进行注册验证。

(3)在IIS中设置最低的脚本运行权限。具体设置为:在“Web服务扩展”中,“禁止所有CGI扩展”、“禁止所有未知ISAPI扩展”、“禁止Internet数据连接器”、“禁止WebDAV”、“禁止在服务器端的包含文件”。在网站“属性”设置中,禁止“写入”和“目录浏览”,在“执行权限”中选择“纯脚本”。

二、支持动态网站的数据库安全及防范

动态网站是基于数据库的,数据库是一个网站的核心,如果数据库被下载或解密,黑客即可获得网站的控制权,网站就被黑了。

解决方案:

(1)必须修改默认数据库存放路径和数据库名。不要将数据库放在如datebase等人们常用的目录下,可以起一些只有你自己知道的非常规的名字并设置几层目录。数据库扩展名改为asa,数据库名可自己编写一个复杂的数字、大小写字母间隔的、中间加上@、#、$等特殊符号的名字,如将数据库名改为kdy@QG$roigh@4896#dirm.asa,这样黑客软件就扫描不到这些特殊字符后面的字符,确保数据库不会被下载。

(2)对数据库文件编码及加密。对使用IIS+ASP+Access的网站,由于Access数据库的加密机制比较简单,即使设置了密码,解密也很容易。该数据库系统通过将用户输入的密码与某一固定密钥(例如:Access 97为86 FB EC 37 5D 44 9C FA C6 5E 28 E6 13)进行“异或”来形成一个加密串,并将其存储在*.mdb文件从地址“&H42”开始的区域内。黑客可以轻松地编制解密程序,一个几十行的小程序就可以轻松地获得任何Access数据库的密码。因此,只要数据库被下载,其信息就没有任何安全性可言了,所以必须对数据库文件进行编码。在“工具→安全→加密/解密数据库”中选取数据库(如:dabase.mdb),然后按确定,接着会出现“数据库加密后另存为” 的窗口,可存为:“kdy@QG$roigh@4896#dirm.asa”。要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。接下来再为数据库加密,首先打开经过编码了的kdy@QG$roigh@4896#dirm.asa,在打开时,选择“独占”方式。然后选取功能表的“工具→安全→设置数据库密码”,接着输入密码即可。这样即使他人得到了kdy@QG$roigh@4896#dirm.asa文件,没有密码他也是无法看到kdy@QG$roigh@4896#dirm.asa中的内容。

对使用IIS+ASP+SQL架构的网站,首先特别需要注意的是SQL Server默认的管理员账号“sa”的密码是空的,这给多数服务器产生一个安全漏洞。所以要对sa账号设置密码,再另外添加一个能满足你使用要求的一般账号,给予仅仅是执行代码的权限,因为一般操作数据库不要使用像sa这样的最高权限的账号;其次,如不使用远程管理请务必关闭3389端口,如使用远程桌面管理最好更换3389端口,选择一个不常用的别人猜不到的一个端口号。看起来SQL和3389好像没有必然联系,但黑客往往会利用此端口入侵你的SQL服务器;最后,还要跟着微软打满所有补丁,以保证SQL数据库的安全。

以上仅就IIS+ASP架构的动态网站的脚本及数据库安全及防范谈了一点粗浅的看法,其实对网站的攻击还有很多,如DDOS攻击、ASP木马、SQL注入攻击等。做好以上防范措施,您的网站只能说是相对安全了,决不能因此疏忽大意,因为入侵与反入侵是一场永恒的战争选

[编辑:于翼楠]

猜你喜欢

源代码黑客页面
刷新生活的页面
欢乐英雄
多少个屁能把布克崩起来?
答案
基于TXL的源代码插桩技术研究
网络黑客比核武器更可怕
软件源代码非公知性司法鉴定方法探析
基于语法和语义结合的源代码精确搜索方法
揭秘龙湖产品“源代码”
Web安全问答(3)