如何在CentOS 5.0上使用Suhosin来强化PHP5
版本1.0
作者:Falko Timme
本教程将介绍如何在CentOS 5.0服务器上使用Suhosin来强化PHP5。 从Suhosin项目页面: “Suhosin是PHP安装的高级保护系统,旨在保护服务器和用户免受PHP应用程序和PHP内核中已知和未知的缺陷。Suhosin有两个独立的部分,可以单独使用或第一部分是针对PHP内核的小补丁,它实现了一些针对缓冲区溢出或格式化字符串漏洞的低级保护,第二部分是强大的PHP扩展,实现了所有其他保护。
本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
我在CentOS 5.0服务器上测试了这个IP地址为192.168.0.100
。
我将在本教程中安装Suhosin部分,Suhosin补丁(我们需要重新编译PHP5)和Suhosin PHP扩展。 要了解Suhosin可以做什么,请参阅http://www.hardened-php.net/suhosin/a_feature_list.html 。 Suhosin补丁的功能列在引擎保护(仅限补丁)下
; 所有其他功能随Suhosin扩展。
2安装Apache2和PHP5(可选)
(如果您已经安装了Apache2和PHP5,本章是可选的 - 请跳到下一章。)
如果您的服务器上没有安装Apache2和PHP5,请立即安装:
yum install httpd php php-devel
然后为Apache2创建系统启动链接并启动Apache2:
chkconfig --levels 235 httpd on
/etc/init.d/httpd start
您现在在您的服务器上具有基本功能的PHP5; 如果您需要特殊的PHP5模块,可以这样搜索:
yum search php
从输出中,选择所需的模块,像这样安装它们并重新启动Apache2:
yum install php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc
/etc/init.d/httpd restart
3获取有关您的PHP5安装的详细信息
除非您已经在Apache安装中创建了虚拟主机,否则默认网站的文档根目录是/ var / www / html
。 我们现在将在该目录中创建一个小型的PHP文件( info.php
)(如果您已经创建了虚拟主机,将其放置在启用了PHP的任何虚拟主机中),并在浏览器中调用该文件。 该文件将显示有关我们的PHP安装的许多有用的细节,例如安装的PHP版本。
vi /var/www/html/info.php
<?php phpinfo(); ?> |
现在我们在浏览器中调用该文件(例如http://192.168.0.100/info.php
):
如您所见,我们的PHP版本是5.1.6,并且Suhosin在该页面的任何地方都没有被提及,这意味着它没有被安装。