机房360首页
  1. 武松娱乐
  2. 云计算
  3. IDC
  4. UPS
  5. 机房制冷
  6. 集中监控
  7. 发电机
  8. 防雷与接地
  9. 综合布线
  10. 服务器
  11. 存储
  12. 虚拟化
  13. 安全
  14. CIO
  15. 外包
  16. 绿色IT
  17. 文库
  18. 新闻
  19. 论坛
  20. 产品报价
  21. 更多
    1. 机房工程
    2. 机房节能
    3. 武松娱乐
    4. 企业名录
    5. 工具下载
当前位置:首页 » 硬件安全 » WEB服务器安全攻略解析

WEB服务器安全攻略解析

来源:机房360 作者:Lily编辑 更新时间:2011-9-14 11:24:45
摘要:WEB服务器是采用了什么操作系统,在服务器上开启了什么服务与对应的端口等等宝贵的信息。攻击者只有了解这些最基本的信息之后,才能够开展攻击,下面本文就来为大家讲一讲如何防御WEB服务器遭受攻击。
  WEB服务器安全攻略一:转换角色,把自己当作可能的攻击者

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

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

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

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

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

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

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

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

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

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

  WEB服务器是网站的基础,它的安全问题绝对是重中之重,所以做好防御高工作是必要的步骤,本文的三个攻略比较实用,有需要的读者就参考一下吧。

  责任编辑:Lily
本文地址:http://www.jifang360.com/news/2011914/n573728832.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  1. 我要分享
更多
推荐图片
    云计算安全问题究竟是什么问题云计算安全问题究竟是什么问题
    《哈佛商业评论》前执行主编Nick[详细]
    美联储为迎大数据挑战或聘首席美联储为迎大数据挑战或聘首席
    美国联邦储备局理事会在新的战略[详细]
    Netlix设10万美元奖 鼓励开发Netlix设10万美元奖 鼓励开发
    Netflix最近开设了一项金额为10[详细]
武松老虎机