网络安全

位置:IT落伍者 >> 网络安全 >> 浏览文章

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


发布日期:2018年09月21日
 
用Suhosin加强PHP脚本语言安全性

PHP是一种非常流行的网站脚本语言但是它本身所固有的安全性是非常薄弱本文讲述了PHP增强计划(HardenedPHP 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

$ cd suhosin

$ phpize

$ /configure

$ make

$ sudo make install

为了使用suhosin还需要增加/etc/phpini如下所示

extension=suhosinso

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

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

上一篇:理解PHP及其安全问题的入门知识

下一篇:PHP在安全方面的另类应用