[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 安全子站 > 评论分析

打好WEB服务器安全攻坚战

作者: 佚名,  出处:IT专家网论坛, 责任编辑: 郭秋爽, 
2008-07-31 09:34
  把一些作战方法共享出来,虽然不敢说百战百胜,但是,至少能够给大家一些参考作用。

  一、转换角色,把自己当作可能的攻击者

  大部分时候,我们若只是站在WEB管理员的角度上考虑问题,可能就发现不了WEB服务器的漏洞。相反,我们此时若能够换个角度,把自己当作可能的攻击者,从他们的角色出发,想想他们可能会利用那些手段、哪些WEB服务器的漏洞进行攻击,或许,我们就可以发现WEB服务器可能存在的安全漏洞,从而早先一步,修补安全漏洞,防止被木马或者病毒攻击。

  从公司外面访问自己的WEB服务器,进行完正的检测,然后模拟攻击自己的网站,看看,会有什么样的结果。这对于WEB的安全性来说,可能是一种很好的方法。如我们可以假当攻击者,利用扫描工具,对WEB服务器进行扫描,看看有否存在可以被攻击的服务。有些东西我们平时可能不会引起我们重视,但是,利用黑客常用的工具进行扫描,就会发现一些可能会被他们利用的服务或者漏洞。如在服务器安装的时候,操作系统会默认的安装并启动一些不需要的服务;或者在服务器配置的时候,需要启动一些服务,但是事后没有及时的关闭,从而给了不法攻击者一个攻击的机会。最常见的如SNMP服务,又称简单网络管理协议。这个服务在系统安装完毕后,默认情况下是开启的。但是,这个服务可以为攻击者提供服务器系统的详细信息,如WEB服务器是采用了什么操作系统,在服务器上开启了什么服务与对应的端口等等宝贵的信息。攻击者只有了解这些最基本的信息之后,才能够开展攻击。

  我们安全管理人员,在平时的时候可能不会发现这个问题,但是,若能够利用黑客的扫描工具一扫描,就能够发现问题的所在。故笔者认为在必要的时候,需要换个角度,从攻击的角色出发,考虑他们会采用什么样的攻击方法。如此的话,我们才可以避免“当局者迷”的错误,保障WEB服务器安全

  二、合理的权限管理

  有时候,在一台服务器上,不仅运行了WEB服务器,而且还会运行其他的诸如FTP服务器之类的网络服务。在同一台服务器上应用多种网络服务的话,很可能造成服务之间的相互感染。也就是说,攻击者只要攻击一种服务,就可以利用相关的技术,攻陷另一种应用。因为攻击者之需要攻破其中一种服务,就可以利用这个服务平台,从企业内部攻击其他服务。而一般来说,从企业内容进行攻击,要比企业外部进行攻击方便的多。

  那或许有人会说,那不同服务采用不同服务器就可以了。其实,这对于企业来说,可能是种浪费。因为从性能上讲,现在的服务器上同时部署WEB服务与FTP服务的话,是完全可行的,性能不会受到影响。为此,企业从成本考虑,会采取一个服务器。而现在给我们安全管理员出了一个难题,就是在两种、甚至两种以上的服务同时部署在一台服务器上,如何保障他们的安全,防止他们彼此相互之间感染呢?

  笔者现在就遇到这个问题。笔者现在的WEB服务器上运行着三种服务。一个是传统等WEB服务;二是FTP服务;三是OA(办公自动化)服务,因为该服务是WEB模式的,互联网上也可以直接访问OA服务器,所以也就把他部署在这台服务器上。由于这台服务器的配置还是比较高的,所以,运行这三个服务来说,没有多少的困难,性能不会有所影响。现在的问题是,如号来保障他们的安全,FTP服务器、OA服务器与WEB服务器之间安全上不会相互影响呢?

  我现在采用的是Windows2003服务器,为了实现这个安全需求,把服务器中所有的硬盘都转换为NTFS分区。一般来说,NTFS分区比FAT分区安全性要高的多。利用NTFS分区自带的功能,合理为他们分配相关的权限。如为这个三个服务器配置不同的管理员帐户,而不同的帐户又只能对特定的分区与目录进行访问。如此的话,即使某个管理员帐户泄露,则他们也只能够访问某个服务的存储空间,而不能访问其他服务的。如把WEB服务装载分区D,而把FTP服务放在分区E。若FTP的帐户泄露,被攻击利用;但是,因为FTP帐户没有对分区D具有读写的权利,所以,其不会对WEB服务器上的内容进行任何的读写操作。这就可以保障,其即时攻陷FTP服务器后,也不会对WEB服务器产生不良的影响。

  虽然说微软的操作系统价格昂贵,而安全漏洞又比较多,但是,其NTFS分区上的成就表现还是不差的。在NTFS分区上,可以实现很大程度的安全管理,保障相关服务于数据的安全性。所以最后还是采用了微软的2003操作系统作为服务器系统,而没有采用Linux系统。

  三、脚本安全管理

  根据以往经验,其实很多WEB服务器因为被攻击而瘫痪,都是由于不良的脚本所造成的。特别是,攻击者非常喜欢利用CGI程序或者PHP脚本,利用他们的脚本或者程序漏洞,进行攻击。

  如我们的网站就遇到个几次攻击,他们利用CGI程序的漏洞,让外部攻击者向WEB服务器传递了一些不可靠的参数。一般来说,WEB应用需要传递一些必要的参数,才能够正常访问。而这个参数又可以分为两类,一个是可值得信任的参数,另外一类是不值得信任的参数。如企业可能是自己管理WEB服务器,而不是托管。他们就把服务器放置在企业的防火墙内部,以提高WEB服务器的安全性。所以一般来说,来自于企业防火墙内部的参数都是可靠的,值得信任的;而来自于企业外部的参数,都是不值得信任的。但是,也不是说不值得信任的参数或者说,来自于防火墙外部的参数WEB服务器都不采用。而是说,在WEB服务器设计的时候,需要注意,采用这些不值得信任的参数的时候,需要进行检查,看其是否合法;而不能向来自于企业内部的参数那样,不管三七二十一,都照收不误。这明显会对WEB服务器的安全带来威胁。如有时会,攻击者利用TELNET连接到80端口,就可以向CGL脚本传递不安全的参数。

  所以,在CGI程序编写或者PHP脚本编辑的时候,我们要注意,一定不能让其随便接受陌生人的参数,不要随便跟陌生人打交道。在接受参数之前,一定要先检验提供参数的人或者参数本身的合法性。在程序或者脚本编写的时候,可以预先加入一些判断条件。当服务期认为若提供的参数不合法的时候,及时通知管理员。这也可以帮助我们,尽早的发现可能存在的攻击者,并采取相应的措施。

  对于脚本的安全性来说,要注意以下问题:

  1、在脚本或者程序编写的时候,不应该把任何不信任的参数直接保存为会话变量。因为根据WEB应用的设计原理,会话变量只保存信任变量。也就是说,会话变量中的值,WEB服务都认为其是值得信任的,会不加思索的采用。一般的设计思路是,先设置一个临时变量进行存储,然后编写一个检验其合法性的过程或者函数,来验证其合法性。只有通过验证的时候,这个值才能够被传给会话变量。根据笔者的经验,要是没有亲身经历过惨痛教训的WEB管理员,可能对此不屑一顾。但是,那些有过这方面教训的人,则会非常看重这个合法性的检验过程。毕竟是吃一堑长一智,所以新手还是需要多听听过来人的建议,不会吃亏的。

  2、在没有充分必要的时候,不要采用脚本,尽量使得网页的简单化。其实,企业的网站跟个人网站有个很大的不同,企业的网站只要朴素就好,不需要过多的渲染。一方面,过度渲染的网站会降低用户网站访问的速度;另一方面,这也会降低网络的安全性能。故,在没有充分必要的情况下,不要共脚本或者程序在渲染网站的华而不实的功能。

  3、对脚本或者程序的执行情况要进行持续的跟踪。在万不得已网站采用了程序或者脚本的时候,则需要定时不定时的对这些脚本或者程序的运行情况进行稽核,看看其有没有被非法利用的嫌疑。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅


    • 解析Windows密码安全问题(第三部分)评论
      在前两部分文章中,我们讨论了Windows密码政策的问题以及它是如何在Active Directory环境被控制等问题,大家应该还记得在默认情况下密码政策和相关的设置位于默认域策略中(Default Domain Policy)。另外同样探讨了可以使用哪些技术破获windows密码,以及每种攻击方式的限制问题。那么,在本文中,我们将讨论如何让windows密码变得更加安全,以及如何能够解决在前两部分文章中出现的所有问题。本文将涉及Windows2002/2003/2008Active Directory默认安装带来的可能性以及其他能够整体提高密码安全的技术。
    • IDC创新和安全白皮书:合作或竞争评论
      业务创新是业务发展战略非常重要的一部分,并而日益成为公司保持竞争优势的决定性因素。由于创新的战略重要性,导致了我们越来越关注信息安全机制在抑制甚至扼杀业务创新方面起到的作用。IDC认为公司不仅是需要找到业务创新和有可能扼杀这种创新的信息安全机制,而且需要在这两者之间找到一个简洁的平衡来满足自己的业务需求。成功的企业能够在商业竞争中占有优势,是因为他们懂得去合理的利用两者使之成为一种具有杠杆作用的机制,而其它的企业只是单单强调其中的一个。
    • 预防企业数据丢失的6种最佳实践评论
      根据“私有权清算中心”(一家非赢利性消费者信息和倡导组织)的统计,自2005年1月以来,有将近2200万条记录遭到破坏。数据失窃和丢失案件数量惊人,这不仅是因为安全入侵事件正在以惊人的速度持续增长,数据丢失引发的财产损失事件也同样在飞速增加。根据美国政府的估计,所谓的“企业数据丢失”在去年使商业界损失了近1050亿美元。根据波尼蒙研究所(Ponemon Institute)的统计,仅仅内部人士导致的数据受损一项,每年给商业界造成的损失为平均每家公司3-4百万美元。产业分析公司Gartner集团估计,恢复数据的开销可以达到每条破坏记录150美元之高——这一数字还没有包括重拾客户信任和重建品牌价值、可能的罚款以及法律诉讼代理费的资金投入。在企业数据丢失案件有增无减的同时,公司也正在不断搜集更多数据,以求优化商业流程,改善客户服务,以及提升与合作伙伴的关系。更多的数据转化为相关数据在整个企业中数量不断增多的信息系统之间更广泛的传播。其结果就是——随着公司内外越来越多的用户获得接入系统的权限,敏感数据遭到破坏的风险也在不断增大。
    • RSA白皮书:管理银行的信息风险评论
      信息是银行的基础,但直到现在,金融机构还往往满足于以业务封闭式的方式管理风险。然而,行业的压力促使银行开始对这种战略展开思考。