2024年3月30日发(作者:)
龙源期刊网
暗战:Web服务器的攻与防(下)
作者:
来源:《中国信息技术教育》2012年第01期
编者按:时光荏苒,又是新春,新的一年,“高手论技”继续伴随大家前行,身处一线的
你,就那些技术上最常遇到的故障、最需要解决的难题、最成熟的应用……都可以在此畅所欲
言,各抒己见。是继续围观还是现身说法,新浪微群/264976,期待您的共
同参与。
网络四通八达,为我们带来便利的同时,也潜伏着诸多不安定因素。近期的数据库泄密事
件大有愈演愈烈之势,作为校园网络维护者,如何清醒地认识当前的网络环境,如何有效地守
护服务器的安全,本期主持人和嘉宾将就此展开激烈的讨论。
Web服务器安全大家谈
主持人:
刘树明 广东省深圳市第二实验学校
嘉宾:
邱元阳 河南省安阳县职业中专
谭剑仪 广东省广宁县广宁中学
刘宗凡 广东省四会市四会中学
刘树明:上期我们介绍了校园网Web服务器安全的一些常见漏洞及其防护策略,请大家
继续谈谈Web安全方面的一些相关问题。
谭剑仪:黑客一词,源于英文Hacker,原指热心于计算机技术、水平高超的电脑专家,尤
其是程序设计人员。但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的
家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。黑客有些不成文的守则,第
一条就是不恶意破坏任何的系统,第二条是不修改任何的系统档。可以看出黑客和骇客根本的
区别:黑客们建设,而骇客们破坏。
龙源期刊网
邱元阳:谭老师说的骇客和黑客现在都被我们统称为“黑客”。他们攻击网站的目的可以分
为好几种情况:有些人仅仅是为了向人炫耀自己的技术;有些人则是带有很明显的商业竞争色
彩,他们攻击网站通常是为了给竞争对手带来破坏(像拒绝服务攻击、ARP攻击)或者是期
望盗取对手的商业机密;还有一些是为了给自己的产品做广告而在互联网上大量地入侵他人网
站,并在这些网站上面挂马;也有一些人是期望偷窥某些著名网站上面的重要数据而攻击它
们。
● 安全软件是否被需要
刘树明:据大家的了解,Web服务器安全防护方面主要需要注意哪几方面的问题呢?
谭剑仪:服务器和网站安全设置的一个最基本原则就是:最小的权限─最大的安全!不对
系统账号(如操作系统账号和数据库管理账号)设置它用不到的权限,对Web登录账号限制
它对其他文件和数据的访问。不安装用不到的服务,如当我们的服务器不需要FTP访问时,
就不要安装FTP服务。或者是虽然安装了相关服务,但是只在使用的时候才启用它们,平时
不用的时候将这些服务暂时关闭。
当然还可以考虑在服务器上安装防护软件。例如,安全狗工作室
(/)开发的服务器安全狗和网站安全狗两款软件,能够很好地保护服务
器和网站。前者主要保护服务器免受DDOS和ARP攻击,还具有流量监测程序守护等功能;
后者主要对网站内容、资源和流量进行保护,具有防SQL注入、防盗链、下载线程保护等功
能。安全狗软件目前是免费的,经常受到攻击的网站不妨试一试。
邱元阳:安全常常是有代价的。很多时候,安全措施常常以牺牲性能为代价,过多的安全
手段,可能会占用系统资源,导致Web服务器性能降低。一些安全软件,也会占用过多的系
统资源。以杀毒软件为例,在Linux系统下,会使系统性能急剧下降。
由于Web服务器是专用的,我们很少会把它当作工作电脑来上网、办公、运行软件,更
不会把它当作娱乐电脑来玩游戏,听音乐,在它单纯的应用环境中,我们只要不用它上网,注
意常规安全措施,尽可能不在上面使用U盘和不明软件,很少会感染病毒。对于Windows服
务器来说,一般都是用于非关键型应用,只安装安全卫士一类的软件即可,不用安装比较占用
系统资源的杀毒软件。对于Linux服务器来说,因为基于Linux系统的杀毒软件非常少,而且
会很严重地降低性能,一般都不在上面安装杀毒软件;另一方面,Linux服务的安全是依靠安
全配置而非杀毒软件来保障的,厂商一般都做了非常专业的安全配置,不需要再安装杀毒软件
和安全软件。
● 安全配置是否安全
刘树明:很多服务器漏洞都是在安全配置环节出现的,大家在服务器配置方面有没有什么
建议?
龙源期刊网
谭剑仪:我认为外网服务器应当将ping功能禁掉,这样可以防止黑客嗅探服务器。
不仅是DOS自带有ping这个命令,在Unix和Linux下同样有。ping是一个通信协议,是
IP协议的一部分。该命令是用来测试网络连通情况和网络连接速度的,可以帮助分析判定网络
故障,非常有用。但它也是把“双刃剑”。很多人在寻找攻击目标时,首先就是用ping工具来探
测网络上的机器。同时,ping命令会抢占网络资源,导致系统和网速变慢。所以服务器要严格
禁止其他电脑来ping它。
防ping的方法有很多,其中可以使用IPSec安全策略防ping,更加简单的办法是启用防火
墙的防ping功能。如果要让整个局域网内的电脑防ping,可以购买专用的企业级网络防火
墙。对于小型局域网来说,使用“路由与远程访问”组件来防ping能节省购买专业设备的昂贵费
用。
不管服务器是采用Windows还是Linux系统,不管是使用IIS还是Apache等服务器软件
以及各种CMS、论坛等软件,都存在不少漏洞。很多黑客的攻击手段都是利用各种漏洞来进
行攻击的。所以,我们一定要有良好的安全意识,及时将各种软件进行升级,修补漏洞,减少
被黑客工具攻击的可能性。
邱元阳:服务器安装设置问题和网站漏洞泄露同样重要。近来,360公司推出了一项非常
重要的免费Web服务器安全扫描服务(/),我们可以利用它来对自己的
Web服务器进行一次严格的安全体检,这对服务器的安全防护是很有用的。
据统计,安全隐患最多的是敏感目录(如admin、manage等)泄露和本地路径暴露,前者
危害不是很大,后者很可能会造成数据泄露。有很多网站管理人员为了图方便,将网站的程序
和数据库备份文件压缩打包后,放在网站可以直接通过HTTP下载访问到的目录里面,以方便
自己随时下载,殊不知为自己带来方便的同时也方便了黑客,别人可能通过特殊技术扫描获得
相关下载地址,这样极易造成数据泄露。
另外360网站安全检测还可以帮我们检出大部分的SQL注入漏洞和跨站脚本漏洞。SQL
注入漏洞上期我们已经充分讨论过了,我再来说说什么叫做跨站脚本漏洞。所谓跨站脚本漏
洞,是指当我们的程序代码对输入数据可能包含的Java Script脚本未加过滤,攻击者可以利用
经过特殊构造的URL链接,在链接中采用十六进制或者URL-Encode方式加密,发给网站具
有管理员权限的用户,该用户如果保存了具备管理员身份的登录Cookies信息在本地电脑,他
点击了这个链接后,可能会在他本人不知情的情况下泄露网站的相关信息,甚至是完成对其他
非法用户授予管理员权限等操作,攻击者再利用新获得的管理员权限,大肆进行危害网站安全
的活动。因为跨站脚本漏洞利用方式非常隐蔽,而且是新近出现的攻击手法,很多不了解其攻
击原理的网站管理员往往疏于防范,越来越成为黑客喜欢采用的攻击手法之一。
● 密码是否足够“密”
龙源期刊网
邱元阳:然而网站系统的安全,常常会由于Web服务器本身不够安全而使各种措施前功
尽弃,比较突出的表现即是系统密码问题。除了更改管理员账号的名称,还要注意不要使用密
码字典中可能会出现的单词。一个简单的方法,可以使密码既复杂又好记,那就是用一句自己
容易记住的比较长的一句话,如两句唐诗宋词等,取它们的拼音首字母,组成一个没有任何意
义的英文单词作为密码。还不放心,可以在拼音输入法中用首字母整句输入检验一下,看是否
会出现原文。更保险的,在这个无意义单词的分句处,加上一串有意义又好记的数字,但输入
这些数字时加上Shift键,也就是变为特殊符号。这样处理的结果就是一个很好记却非常复杂
的密码,几乎不可能被猜解,暴力破解也需要很夸张的长时间。加上定期更换密码,不要记
录、传输和泄露密码,几乎可以高枕无忧了。
刘树明:对,比较好记的密码通常都在黑客的攻击字典中有碰撞现象。我曾经自以为是本
人独创的简易密码asdffdsa,结果在CSDN网站泄露出来的数据库中,发现居然有143人使用
这个密码!采用古诗的首字声母做密码是一个好方法,曾经有个小笑话,说一个人因为出差,
想让同事帮忙在办公电脑上找一个文件,说他的开机密码是“月黑雁飞高,单于夜遁逃”的首字
母大写,同事打入YHYFGCYYDT,但始终提示密码不对,后来费尽周折后才知道原来正确的
密码是YHYFGDYYDT,原来是诗中“单”字给他念成了dan!
邱元阳:说起网站用户密码在数据库中的存放问题,据我所知很多网站都采用了加密方
式,如MD5加密等。但即使是通过MD5加密存放的密码,如果用户数据库能够被下载下来,
别人一样也是有办法暴力破解的,同样也是非常危险。除非你不给人暴数据库,但是据说,国
内有点影响力的网站,2/3都被别人下载过数据库。我们永远不要认为自己的网站安全万无一
失,防暴库是安全架构里非常重要的一点。防暴库不仅仅是防止别人拿到你的数据库,还要做
最坏的打算,万一别人拿到会怎样?密码明文存储的,万万是不行的;可逆加密的,只要黑客
用点心,也是能破解的,腾讯QQ本地聊天记录,加密不可谓不强吧,结果QQ2009以前版本
的本地聊天记录解密算法,照样是网上四处都能抓到一大把,QQ2009以后的暂时没有曝出解
密算法,但只能保一时不能保一世,一样不能认为是牢不可破的。至于不可逆的算法,像
MD5、SHA、Mysql的password函数加密等,很多工程师会以为可以高枕无忧了,但是这就是
碰撞库的范畴。类似于/这样的碰撞库,其碰撞库的规模号称是达到了数
以TB计了,而且貌似所言不虚。在这样远远超出了早期的字典档规模的碰撞库面前,常规不
可逆算法如MD5之类加密的密码,在碰撞库里被破解的几率,大于95%。
谭剑仪:MD5算法以其优良散列性能,作为密码认证的优点还是不容置疑的,尽管有碰
撞库,但是如果我们采用多次MD5甚至是多次加盐MD5,那数以TB计的碰撞库就
全废掉啦。前几年听说山东大学数学系的王小云教授提出了一个著名的MD5逆向算法,轰动
了计算机密码学界。虽然这个逆向算法至今没有公开,但是可以肯定的是,她的算法只能是找
出同等MD5值的一个字符串,并不可能找回原来的加密前的数据。这是因为MD5只是一个摘
要算法,它并不是对数据的完整加密,密码集和原码集不能形成一一对应。所以从理论上来说
它是不存在可逆算法的,就像是二次函数在实数域内没有反函数一样,函数值和自变量之间的
龙源期刊网
对应关系是一对多的关系。如果我们利用这一点,对用户的密码进行加盐MD5算法甚至是多
次MD5加盐加密,就很难再找一个等价的密码来冒充用户的密码了。
邱元阳:怎样才叫加盐MD5算法呢?
谭剑仪:就是在普通的MD5算法输入数据里面人为地加入一些额外的数据,如你的密码
是pass变量,按正常的加密算法是md5(pass),考虑到别人很可能根据加密后的结果暴力倒推
出pass,我们在进行加密时人为地加入另一个变量salt,算法变为md5(pass+salt),别人要倒推
出原来的pass就不能采用现有的MD5碰撞库了,必须得重新挂上salt暴力跑一轮才行,前提
条件还必须要知道你的salt变量的值才能行得通,否则就算想暴力都是不行的。多次重复
MD5加密就是md5(md5(pass+salt)+salt),也可以第一次加盐第二次不加盐、第一次不加第二次
加、两次加的盐不相同等等各种组合都行。黑客拿到经过我们做过这种特别处理后的密文,根
本无法探知原文是什么,因为可能性实在是太多了。就算是想要暴力也根本不可行,因为就算
他找对了方法,也需要非常大的碰撞库,更何况他很可能根本找不到正确的暴力方法。
刘树明:这个主意非常好。不论我们的安全措施做得多好,我们都无法保证用户密码数据
不被别人拿走,必须要做好最坏的打算,就是即使别人拿走了密码数据库,他也无法利用。加
盐MD5不但可以跳出现有的MD5碰撞库的范畴,而且可以防止采用类似山东大学王教授的逆
向算法。就好比你能配到一把和原来一模一样的钥匙来开锁,但是假如这锁匙开锁前必须要先
套上某个配件后才能开,你就很难配制一把一模一样的钥匙来套同样的配件了。
邱元阳:按正常的常识,用户信息都必须要加密后才能保存在数据库里面,作为IT人聚
集度最高的国内编程爱好者网站,其管理人员不可能不知道这个道理。他们故意保存用户的明
文密码,本身就有偷窥用户密码的嫌疑,网站管理人员的道德品质本身就值得怀疑!从另一方
面来说,他们也对自己网站的安全性能盲目自信,认为自己的数据不可能被别人盗走。
刘树明:正是这个道理,他们保存明文很可能就是想方便自己随时查阅用户的密码!另外
据说这次泄漏的密码库仅仅是2009年的一个备份数据库,也就是说黑客可能并没有实际攻陷
CSDN的网站,而仅仅是利用了邱老师上面说到的“本地路径暴露”漏洞。很可能是CSDN的工
程师将网站数据库的备份文件放在了网站某个目录下,正好被黑客扫描到了,于是就下载到
了,同样像人人网、多玩网等这次同一批曝出来的用户库,都很可能是通过这样的途径泄露出
去的。
● 技术以外的道德和法律规范
刘宗凡:另外,我想说说网络安全方面的道德教育与法律规范。网络安全不仅仅只依靠技
术,对学校来说,正确的教育引导与强大的法律规范是网络安全的有效保障。
在广大青少年中,有一个错误的观点,就是对黑客的盲目崇拜与学习,但对黑客的宗旨与
守则却不了解,认为入侵、破坏网络系统很有成就感,在不知不觉中触犯了法律法规。我们应
龙源期刊网
该在中小学信息技术课堂教学中正确引导学生,以建设为荣,以破坏为耻,让学生逐渐遵守网
络规范。另一方面,还要加强网络安全教育,保护好自己的电脑系统,不让自己的电脑成为
“肉鸡”,让不法份子有机可乘,成为网络攻击的武器。
道德是自律的规范,法律是他律的规范。针对日益猖獗的计算机犯罪,我国也出台了相关
的一些法律法规,来制裁违法犯罪的行为。其中1997年修订的《中华人民共和国刑法》第二
百八十五条规定了非法侵入计算机信息系统罪,第二百八十六条规定了破坏计算机信息系统
罪。《刑法修正案(七)》在刑法第285条中增加两款详细说明,包括了非法窃取计算机信息
数据罪和非法控制计算机信息系统罪及非法提供控制计算机系统程序、工具罪。
法律法规的出台,势必对日益猖獗的网络犯罪起到震慑作用。
Web服务器的安全是网络安全范畴里面非常重要的一环。现在的网络和社会环境,决定了
安全攻防之战越来越复杂。我们需要做的事情的确是很多,首先我们需要从道德方面教育学
生,让他们明白自己在网络上的行为其实也是受到法律约束的,另外还要培养学生正确的是非
观,不要盲目崇拜非法入侵的行为,我们学习计算机知识并不是为了破坏。除此之外,我们还
要多掌握网络安全知识,提高网络安全意识。很多情况下,并不是黑客有多高明,而是我们太
疏于防范,给了黑客可乘之机。如果我们严格遵守相关的安全规范,并且多与外界交流,学习
更多的安全知识,那么网络安全带来的痛苦就不会降临到我们的头上。
发布评论