如何加强PHP5与Suhosin在CentOS 5.0

如何加强PHP5与Suhosin在CentOS 5.0 本教程介绍如何在CentOS 5.0服务器上使用Suhosin强化PHP5。从Suhosin项目...

如何在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在该页面的任何地方都没有被提及,这意味着它没有被安装。