返回列表 发帖

Suhosin安装 使用Suhosin保护您的PHP环境!

一、简介

如今,建站已经不再是难事了,各种一键安装包,随处可见…就比如说军哥的LNMP和LNMPA,以及老外的XAMP和LAMP…
但是呢,环境搭建变得简单了,环境的安全却容易被人忽略,昨天,我就在百度上搜索了一下…前前后后10多页都是LNMP安装包的安装完成收录,其中还有许多居然可以打开…可见其安全意识…
那么php.ini的设置更不用说了…估计就是安装好就开始用…至于那些什么转义什么的估计看都不看…
今天就为大家带来Suhosin的介绍以及安装方法

二、Suhosin简介

一、什么是Suhosin?

Suhosin是一个PHP程序的保护系统。它的设计初衷是为了保护服务器和用户抵御PHP程序和PHP核心中(看了下我的空间服务商的phpinfo,不知道为什么没有实用内核补丁…),已知或者未知的缺陷(感觉挺实用的,可以抵御一些小攻击)。Suhosin有两 个独立的部分,使用时可以分开使用或者联合使用。(既然空间商没用内核补丁,偶就不用啦~~)第一部分是一个用于PHP核心的补丁,它能抵御缓冲区溢出或者格式化串的弱点(这个必须的!);第二部分是一个强大的 PHP扩展(扩展模式挺好的,安装方便…),包含其他所有的保护措施。
二、功能列表

1.引擎保护(仅补丁,我这里就只讲讲以动态扩展安装的方法!)
保护内部的内存管理抵御缓冲区溢出
防止Zend哈希表被破坏
防止Zend链接列表被破坏
保护PHP核心及其扩展抵御格式化串弱点
某些libc realpath() 产生的错误
2.各种特性
模拟器保护模式
增加两个函数sha256()和sha256_file()到PHP核心中(表示还不知道这两个函数是做什么的…)
所有平台,加入CRYPT_BLOWFISH到函数crypt()中
打开对phpinfo()页的透明保护
SQL数据库用户保护(测试阶段)
3.运行时保护
加密cookies
防止不同种类的包含漏洞(不允许远程URL包含(黑/白名单);不允许包含已上传的文件;防止目录穿越攻击)
允许禁止preg_replace() /e 修改选项
允许禁止eval()函数
通过配置一个最大执行深度,来防止无穷递归
支持每个vhost配置黑白名单
为代码执行提供分离的函数黑白名单
防止HTTP响应拆分漏洞
防止脚本控制memory_limit选项
保护PHP的superglobals,对于函数extract() import_request_vars()
防止mail()函数的新行攻击
防止preg_replace()的攻击
4.Session 保护
加密session数据
防止session被劫持
防止超长的session id
防止恶意的session id
5.过滤特性
6.日志特性(略)
7.更多的强大功能等着里去发掘哦~~!
三、安装

wget  http://download.suhosin.org/suhosin-0.9.33.tgz
自己根据版本选择 推荐
wget http://download.suhosin.org/suhosin-0.9.29.tgz 稳定版
如果你使用的是 PHP 5.3 版本,可以到这里找到最新的suhosin源码下载地址
Suhosin Downloads: http://www.hardened-php.net/suhosin/download.html
在安装之前 你需要安装 安装php-devel包 yum -y install php-devel
  1. tar xvfz suhosin-0.9.29.tgz
  2. cd suhosin-0.9.29
  3. phpize
  4. ./configure
  5. make
  6. make install
复制代码
默认安装好以后的路径是 /usr/lib64/php/modules/ 当然你在 ./configure的时候可以自定义 比如: ./configure -with-php-config=/usr/local/php/bin/php-config

将suhosin扩展加入到PHP配置文件
我们用输出命令
  1. echo 'extension=suhosin.so' > /etc/php.d/suhosin.ini
复制代码
重启 Apache 以加载 suhosin 扩展
service httpd restart

确认 Suhosin 是否安装完成
php -v

看一下是不是有
with Suhosin v0.9.29, Copyright (c) 2007, by SektionEins GmbH

Suhosin安装

Suhosin安装
安装完成

返回列表