Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18680515
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-17 18:20:16

 是一种非常流行的网站脚本语言,但是它本身所固有的安全性是非常薄弱。本文讲述了PHP增强计划(Hardened-PHP project)和新的Suhosi计划,Suhosin提供了增强的PHP的安全配置。

  PHP是带有争论地但又是最流行的一种网站脚本语言。它之所以流行,是因为它低廉的价格,然而,这低廉的价格导致用PHP写的网站应用程序越来越多的同时也越来越多的展现出PHP本身在安全上的脆弱,这种安全特性显示出PHP是极不可靠,不过同时对这个脚本语言本身而言它又是非常灵活的,使用它就能很容易的实现,不过这些代码都是臃肿的且不安全的,虽然是这样它还是一直都拥有很多的使用者。你可以根据实际情况来假设,一次又一次,各种应用软件都体现了这种脆弱性:容易受到SQL注入、跨站脚本、任意执行指令等等的攻击。

  因为象safe_mode和open_basedir这样内置的PHP安全措施将被忽略,PHP增强计划创建的PHP更具有安全性,同时也对PHP进行校验检查。最初,这些是由增强的PHP补丁完成的,这些补丁需要修补并重新编译PHP自身。最近,PHP增强计划发布了一个名为Suhosin的新工程。

  Sohosin包括有两部分:第一部分是PHP的补丁,这个补丁强化了引擎自身,以免可能产生缓冲溢出,也可以防止相关的弱点。第二部分是Suhosin的扩展,这是一个PHP的独立使用模块。这两部分可以一起,或者是扩展部分单独工作。

  开发人员不希望为了达到安全性而总去维护他们自己的PHP安装设置和他们当然更喜欢直接使用销售商提供的分布系统上PHP,使用扩展模块能提供更多PHP本身所不能具有的安全特点。

  扩展模块很容易;它也能通过PECL安装,或者是下载后通过编译安装:

  $ tar xvzf suhosin-0.9.17

  $ cd suhosin-0.9.17

  $ phpize

  $ ./configure

  $ make

  $ sudo make install

  为了使用suhosin,还需要增加/etc/php.ini,如下所示:

  extension=suhosin.so

  对于大部分人来说默认的配置选项已经足够了。为了加强设置,可以在/etc/php.ini中增加相应的值。网站中详细地介绍了有关的各种配置选项,这些说明可以帮助你进行初始化配置。

  使用Suhosin,你可以得到一些错误,你能把这些日志放到系统日志中,也可以同时写到其他任意的日志文件中去;它还可以为每一个虚 拟 主 机创建黑名单和白名单;可以过滤GET和POST请求、文件上载和cookie。你还能传送加密的会话和cookie,可以设置不能传送的存储上线等等。它不像原始的PHP强化补丁,Suhosin是可以被像Zend Optimizer这样的第三方扩展软件所兼容的。

阅读(296) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~