暗战:Web服务器的攻与防()
作者:
来源:《中国信息技术教育》2012年第01
        编者按:时光荏苒,又是新春,新的一年,高手论技继续伴随大家前行,身处一线的你,就那些技术上最常遇到的故障、最需要解决的难题、最成熟的应用……都可以在此畅所欲言,各抒己见。是继续围观还是现身说法,新浪微q.t.sina/264976,期待您的共同参与。
        网络四通八达,为我们带来便利的同时,也潜伏着诸多不因素。近期的数据库泄密事件大有愈演愈烈之势,作为校园网络维护者,如何清醒地认识当前的网络环境,如何有效地守护服务器的安全,本期主持人和嘉宾将就此展开激烈的讨论。
       
        Web服务器安全大家谈
        主持人:
        刘树明 广东省深圳市第二实验学校
        嘉宾:
        邱元阳 河南省安阳县职业中专
        谭剑仪 广东省广宁县广宁中学
        刘宗凡 广东省四会市四会中学
       
        刘树明:上期我们介绍了校园网Web服务器安全的一些常见漏洞及其防护策略,请大家继续谈谈Web安全方面的一些相关问题。
        谭剑仪:黑客一词,源于英文Hacker,原指热心于计算机技术、水平高超的电脑专家,尤其是程序设计人员。但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成骇客。黑客有些不成文的守则,第一条就是不恶意破坏任何的系统,第二条是不修改任何的系统档。可以看出黑客和骇
客根本的区别:黑客们建设,而骇客们破坏。
        邱元阳:谭老师说的骇客和黑客现在都被我们统称为黑客。他们攻击网站的目的可以分为好几种情况:有些人仅仅是为了向人炫耀自己的技术;有些人则是带有很明显的商业竞争彩,他们攻击网站通常是为了给竞争对手带来破坏(像拒绝服务攻击、ARP攻击)或者是期望盗取对手的商业机密;还有一些是为了给自己的产品做广告而在互联网上大量地入侵他人网站,并在这些网站上面挂马;也有一些人是期望偷窥某些著名网站上面的重要数据而攻击它们。
        ● 安全软件是否被需要
        刘树明:据大家的了解,Web服务器安全防护方面主要需要注意哪几方面的问题呢?
        谭剑仪:服务器和网站安全设置的一个最基本原则就是:最小的权限最大的安全!不对系统账号(如操作系统账号和数据库管理账号)设置它用不到的权限,对Web登录账号限制它对其他文件和数据的访问。不安装用不到的服务,如当我们的服务器不需要FTP访问时,就不要安装FTP服务。或者是虽然安装了相关服务,但是只在使用的时候才启用它们,平时不用的时候将这些服务暂时关闭。
        当然还可以考虑在服务器上安装防护软件。例如,安全狗工作室(www.safedog/)开发的服务器安全狗和网站安全狗两款软件,能够很好地保护服务器和网站。前者主要保护服务器免受DDOSARP攻击,还具有流量监测程序守护等功能;后者主要对网站内容、资源和流量进行保护,具有防SQL注入、防盗链、下载线程保护等功能。安全狗软件目前是免费的,经常受到攻击的网站不妨试一试。
        邱元阳:安全常常是有代价的。很多时候,安全措施常常以牺牲性能为代价,过多的安全手段,可能会占用系统资源,导致Web服务器性能降低。一些安全软件,也会占用过多的系统资源。以杀毒软件为例,在Linux系统下,会使系统性能急剧下降。
        由于Web服务器是专用的,我们很少会把它当作工作电脑来上网、办公、运行软件,更不会把它当作娱乐电脑来玩游戏,听音乐,在它单纯的应用环境中,我们只要不用它上网,注意常规安全措施,尽可能不在上面使用U盘和不明软件,很少会感染病毒。对于Windows服务器来说,一般都是用于非关键型应用,只安装安全卫士一类的软件即可,不用安装比较占用系统资源的杀毒软件。对于Linux服务器来说,因为基于Linux系统的杀毒软件非常少,而且会很严重地降低性能,一般都不在上面安装杀毒软件;另一方面,Linux服务的安全是依
靠安全配置而非杀毒软件来保障的,厂商一般都做了非常专业的安全配置,不需要再安装杀毒软件和安全软件。
        ● 安全配置是否安全
        刘树明:很多服务器漏洞都是在安全配置环节出现的,大家在服务器配置方面有没有什么建议?
        谭剑仪:我认为外网服务器应当将pingweb服务器是什么服务器功能禁掉,这样可以防止黑客嗅探服务器。
        不仅是DOS自带有ping这个命令,在UnixLinux下同样有。ping是一个通信协议,是IP协议的一部分。该命令是用来测试网络连通情况和网络连接速度的,可以帮助分析判定网络故障,非常有用。但它也是把双刃剑。很多人在寻攻击目标时,首先就是用ping工具来探测网络上的机器。同时,ping命令会抢占网络资源,导致系统和网速变慢。所以服务器要严格禁止其他电脑来ping它。
        ping的方法有很多,其中可以使用IPSec安全策略防ping,更加简单的办法是启用防火墙的防ping功能。如果要让整个局域网内的电脑防ping,可以购买专用的企业级网络防火
墙。对于小型局域网来说,使用路由与远程访问组件来防ping能节省购买专业设备的昂贵费用。
        不管服务器是采用Windows还是Linux系统,不管是使用IIS还是Apache等服务器软件以及各种CMS、论坛等软件,都存在不少漏洞。很多黑客的攻击手段都是利用各种漏洞来进行攻击的。所以,我们一定要有良好的安全意识,及时将各种软件进行升级,修补漏洞,减少被黑客工具攻击的可能性。
        邱元阳:服务器安装设置问题和网站漏洞泄露同样重要。近来,360公司推出了一项非常重要的免费Web服务器安全扫描服务(webscan.360/),我们可以利用它来对自己的Web服务器进行一次严格的安全体检,这对服务器的安全防护是很有用的。
        据统计,安全隐患最多的是敏感目录(如adminmanage等)泄露和本地路径暴露,前者危害不是很大,后者很可能会造成数据泄露。有很多网站管理人员为了图方便,将网站的程序和数据库备份文件压缩打包后,放在网站可以直接通过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以后的暂时没有曝出解密算法,但只能保一时不能保一世,一样不能认为是牢不可破的。至于不可逆的算法,像MD5SHAMysqlpassword函数加密等,很多工程师会以为可以高枕无忧了,但是这就是碰撞库的范畴。类似于d5/这样的碰撞库,其碰撞库的规模号称是达到了数以TB计了,而且貌似所言不虚。在这样远远超出了早期的字典档规模的碰撞库面前,常规不可逆算法如MD5之类加密的密码,在碰撞库里被破解的几率,大于95%
        谭剑仪:MD5算法以其优良散列性能,作为密码认证的优点还是不容置疑的,尽管有碰撞库,但是如果我们采用多次MD5甚至是多次加盐MD5cmd5那数以TB计的碰撞库就全废掉啦。前几年听说山东大学数学系的王小云教授提出了一个著名的MD5逆向算法,轰动
了计算机密码学界。虽然这个逆向算法至今没有公开,但是可以肯定的是,她的算法只能是出同等MD5值的一个字符串,并不可能回原来的加密前的数据。这是因为MD5只是一个摘要算法,它并不是对数据的完整加密,密码集和原码集不能形成一一对应。所以从理论上来说它是不存在可逆算法的,就像是二次函数在实数域内没有反函数一样,函数值和自变量之间的对应关系是一对多的关系。如果我们利用这一点,对用户的密码进行加盐MD5算法甚至是多次MD5加盐加密,就很难再一个等价的密码来冒充用户的密码了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。