Suhosin介绍

用Suhosin加强PHP脚本语言安全性

PHP是一种非常流行之网站脚本语言,但是它本身所固有之安全性是非常薄弱。本文讲述了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之补丁,这个补丁强化了Zend引擎自身,以免可能产生缓冲溢出,也可以防止相关之弱点。第二部分是Suhosin之扩展,这是一个PHP之独立使用模块。这两部分可以一起工作,或者是扩展部分单独工作。

 

开发人员不希望为了达到安全性而总去维护他们自己之PHP安装设置和他们当然更喜欢直接使用销售商提供之Linux分布系统上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这样之第三方扩展软件所兼容之。

Tags: , ,

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word