如何使用Suhosin(Debian Etch / Ubuntu)来强化PHP5
版本1.0
作者:Falko Timme
本教程将介绍如何使用Debian Etch和Ubuntu服务器上的Suhosin来强化PHP5。 从Suhosin项目页面: “Suhosin是PHP安装的高级保护系统,旨在保护服务器和用户免受PHP应用程序和PHP内核中已知和未知的缺陷。Suhosin有两个独立的部分,可以单独使用或第一部分是针对PHP内核的小补丁,它实现了一些针对缓冲区溢出或格式化字符串漏洞的低级保护,第二部分是强大的PHP扩展,实现了所有其他保护。
本文档不附带任何形式的保证! 我想说,这不是设立这样一个制度的唯一办法。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
我已经在Debian Etch服务器上测试了这个IP地址192.168.0.100
。
我将在本教程中安装Suhosin部分,Suhosin补丁(我们需要重新编译PHP5)和Suhosin PHP扩展(可作为Debian / Ubuntu软件包使用)。 要了解Suhosin可以做什么,请参阅http://www.hardened-php.net/suhosin/a_feature_list.html 。 Suhosin补丁的功能列在引擎保护(仅限补丁)下
; 所有其他功能随Suhosin扩展。
2安装Apache2和PHP5(可选)
(如果您已经安装了Apache2和PHP5,本章是可选的 - 请跳到下一章。)
如果您的服务器上没有安装Apache2和PHP5,请立即安装:
apt-get install libapache2-mod-php5 php5 apache2-mpm-prefork php5-dev
这将安装具有基本功能的PHP5; 如果您需要特殊的PHP5模块,可以这样搜索:
apt-cache search php5
从输出中,选择所需的模块,并像这样安装:
apt-get install php5-auth-pam php5-clamavlib php5-common php5-curl php5-gd php5-idn php5-imagick php5-imap php5-json php5-ldap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-odbc php5-pgsql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-uuid php5-xapian php5-xmlrpc php5-xsl
您将看到以下问题:
没有Maildir支持,继续安装libc-client?
< - 是的
如果您选择安装php5-clamavlib
,您现在还应该安装ClamAV:
apt-get install clamav
3获取有关您的PHP5安装的详细信息
除非您已经在Apache安装中创建了虚拟主机,否则默认网站的文档根目录是/ var / www
。 我们现在将在该目录中创建一个小型的PHP文件( info.php
)(如果您已经创建了虚拟主机,将其放置在启用了PHP的任何虚拟主机中),并在浏览器中调用该文件。 该文件将显示有关我们的PHP安装的许多有用的细节,例如安装的PHP版本。
vi /var/www/info.php
<?php phpinfo(); ?> |
现在我们在浏览器中调用该文件(例如http://192.168.0.100/info.php
):
如您所见,我们的PHP版本是5.2.0-8 + etch1
。