机房360首页
当前位置:首页 » 服务器资讯 » 如何才能打好WEB服务器安全攻坚战

如何才能打好WEB服务器安全攻坚战

来源:计世网 作者:机房360转载 更新时间:2010-10-9 11:46:30

摘要:大部分时候,我们若只是站在WEB管理员的角度上考虑问题,可能就发现不了Web服务器的漏洞。

  一、脚本安全管理
  
  根据以往经验,其实很多Web服务器因为被攻击而瘫痪,都是由于不良的脚本所造成的。特别是,攻击者非常喜欢利用CGI程序或者PHP脚本,利用他们的脚本或者程序漏洞,进行攻击。
  
  如我们的网站就遇到个几次攻击,他们利用CGI程序的漏洞,让外部攻击者向Web服务器传递了一些不可靠的参数。一般来说,WEB应用需要传递一些必要的参数,才能够正常访问。而这个参数又可以分为两类,一个是可值得信任的参数,另外一类是不值得信任的参数。如企业可能是自己管理Web服务器,而不是托管。他们就把服务器放置在企业的防火墙内部,以提高Web服务器的安全性。所以一般来说,来自于企业防火墙内部的参数都是可靠的,值得信任的;而来自于企业外部的参数,都是不值得信任的。但是,也不是说不值得信任的参数或者说,来自于防火墙外部的参数Web服务器都不采用。而是说,在Web服务器设计的时候,需要注意,采用这些不值得信任的参数的时候,需要进行检查,看其是否合法;而不能向来自于企业内部的参数那样,不管三七二十一,都照收不误。这明显会对Web服务器的安全带来威胁。如有时会,攻击者利用TELNET连接到80端口,就可以向CGL脚本传递不安全的参数。
  
  所以,在CGI程序编写或者PHP脚本编辑的时候,我们要注意,一定不能让其随便接受陌生人的参数,不要随便跟陌生人打交道。在接受参数之前,一定要先检验提供参数的人或者参数本身的合法性。在程序或者脚本编写的时候,可以预先加入一些判断条件。当服务期认为若提供的参数不合法的时候,及时通知管理员。这也可以帮助我们,尽早的发现可能存在的攻击者,并采取相应的措施。
  
  对于脚本的安全性来说,要注意以下问题:
  
  1、在脚本或者程序编写的时候,不应该把任何不信任的参数直接保存为会话变量。因为根据WEB应用的设计原理,会话变量只保存信任变量。也就是说,会话变量中的值,WEB服务都认为其是值得信任的,会不加思索的采用。一般的设计思路是,先设置一个临时变量进行存储,然后编写一个检验其合法性的过程或者函数,来验证其合法性。只有通过验证的时候,这个值才能够被传给会话变量。根据笔者的经验,要是没有亲身经历过惨痛教训的WEB管理员,可能对此不屑一顾。但是,那些有过这方面教训的人,则会非常看重这个合法性的检验过程。毕竟是吃一堑长一智,所以新手还是需要多听听过来人的建议,不会吃亏的。
  
  2、在没有充分必要的时候,不要采用脚本,尽量使得网页的简单化。其实,企业的网站跟个人网站有个很大的不同,企业的网站只要朴素就好,不需要过多的渲染。一方面,过度渲染的网站会降低用户网站访问的速度;另一方面,这也会降低网络的安全性能。故,在没有充分必要的情况下,不要共脚本或者程序在渲染网站的华而不实的功能。
  
  3、对脚本或者程序的执行情况要进行持续的跟踪。在万不得已网站采用了程序或者脚本的时候,则需要定时不定时的对这些脚本或者程序的运行情况进行稽核,看看其有没有被非法利用的嫌疑。

本文地址:http://www.jifang360.com/news/2010109/n487010958.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
更多
推荐图片