如何加强PHP5与Suhosin在OpenSuSE 10.2

如何加强PHP5与Suhosin在OpenSuSE 10.2 本教程介绍如何在OpenSuSE 10.2服务器上使用Suhosin强化PHP5。从Suhosin p ...

如何在OpenSuSE 10.2上使用Suhosin来强化PHP5

版本1.0
作者:Falko Timme

本教程将介绍如何在OpenSuSE 10.2服务器上使用Suhosin来强化PHP5。 从Suhosin项目页面: “Suhosin是PHP安装的高级保护系统,旨在保护服务器和用户免受PHP应用程序和PHP内核中已知和未知的缺陷。Suhosin有两个独立的部分,可以单独使用或第一部分是针对PHP内核的小补丁,它实现了对缓冲区溢出或格式化字符串漏洞的一些低级保护,第二部分是强大的PHP扩展,可实现所有其他保护。

本文档不附带任何形式的保证! 我不会保证这将为您工作!

1初步说明

我在一个OpenSuSE 10.2服务器上测试了这个IP地址为192.168.0.100

本教程有点不典型,因为如果您安装了PHP5,因此OpenSuSE 10.2中安装了Suhosin,因为默认情况下OpenSuSE的PHP5已经附带了Suhosin功能。 无论如何,我认为仍然值得编写本教程,因为它回答了“我需要做什么来安装Suhosin?” - 没有,如果PHP5已经安装。

2安装Apache2和PHP5(可选)

(如果您已经安装了Apache2和PHP5,本章是可选的,以检查您的PHP5中是否启用了Suhosin,请跳到下一章。)

如果您的服务器上没有安装Apache2和PHP5,请立即安装:

yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-devel

现在配置您的系统在启动时启动Apache:

chkconfig --add apache2

然后启动Apache2:

/etc/init.d/apache2 start

您现在在您的服务器上具有基本功能的PHP5; 如果您需要特殊的PHP5模块,您可以启动YaST并搜索PHP5软件包:

yast2

转到软件>软件管理

然后使用搜索功能并搜索php5

然后,您可以标记所需的软件包进行安装:

或者,您可以在命令行上安装软件包,如下所示:

yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mhash php5-mysql php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm

然后重新启动Apache:

/etc/init.d/apache2 restart

3获取有关您的PHP5安装的详细信息

除非您已经在Apache安装中创建了虚拟主机,否则默认网站的文档根目录是/ srv / www / htdocs 。 我们现在将在该目录中创建一个小型的PHP文件( info.php )(如果您已经创建了虚拟主机,将其放置在启用了PHP的任何虚拟主机中),并在浏览器中调用该文件。 该文件将显示有关我们的PHP安装的许多有用的细节,例如安装的PHP版本。

vi /srv/www/htdocs/info.php

<?php
phpinfo();
?>

现在我们在浏览器中调用该文件(例如http://192.168.0.100/info.php ):

如您所见,我们的PHP版本是5.2.0。

如果一切顺利,您现在应该在页面的两个地方看到Suhosin:

而已。 如果您喜欢,可以配置Suhosin(请参阅http://www.hardened-php.net/suhosin/configuration.html ),虽然Suhosin将使用其默认配置开箱即用,因此请确保您知道您的“重新做