一、简介
如今,建站已经不再是难事了,各种一键安装包,随处可见…就比如说军哥的LNMP和LNMPA,以及老外的XAMP和LAMP…
但是呢,环境搭建变得简单了,环境的安全却容易被人忽略,昨天,我就在百度上搜索了一下…前前后后10多页都是LNMP安装包的安装完成收录,其中还有许多居然可以打开…可见其安全意识…
那么php.ini的设置更不用说了…估计就是安装好就开始用…至于那些什么转义什么的估计看都不看…
今天就为大家带来Suhosin的介绍以及安装方法
<!--tongbu-->
二、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.更多的强大功能等着里去发掘哦~~!
三、安装
#!/bin/sh #首先下载 wget -c http://download.suhosin.org/suhosin-0.9.33.tgz tar zxvf suhosin-0.9.33.tgz cd suhosin-0.9.33 #这个视你的安装路径来 /usr/local/php/bin/phpize # #这个同上,也是视安装路径来的 ./configure -with-php-config=/usr/local/php/bin/php-config # make cd modules # cp suhosin.so extension_dir/ #vim 编辑php.ini 找到 extension_dir,将上面的 extension_dir 替换为找到的extension_dir的“=”后面的路径 #注意路径后面的斜杠! #然后找到许多“;extension=”的那部分,添加: extension=suhosin.so #再到最底部加入“suhosin.executor.disable_eval = on”来禁止eval函数 #然后:wq保存! #再输入: service httpd restart #重启 Apache 再看看phpinfo,是不是在Zend Engine那栏出现了 #with Suhosin v0.9.33 #OK,如果出现了,那么就代表着安装完成
如果您喜欢,那么请点一下下面的喜欢按钮或者是分享给更多的朋友!
转载请注明:神奇海域 » 使用Suhosin保护您的PHP环境!——安装Suhosin