灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3230回复:0

流行的PHP虚拟主机安全配置

楼主#
更多 发布于:2013-01-18 09:33
 
摘要:通过构建虚拟安全测试平台,配置ASP、PHP、JSP安全测试环境,确保虚拟主机安全。本节为大家介绍流行的PHP虚拟主机安全配置。
通过构建虚拟安全测试平台,配置ASP、PHP、JSP安全测试环境,确保虚拟主机安全。本节为大家介绍流行的PHP虚拟主机安全配置。
流行的PHP虚拟主机安全配置
PHP最初是被称作Personal Home Page,后来随着PHP成为一种非常流行的脚本语言,名称也随之改变了,叫作ProfessionalHyperText PreProcessor。以PHP 4.2为例,支持它的web服务器有Apache、Microsoft IIS、MicrosoftPWS、AOLserver、NetscapeEnterprise等。它是一种跨平台的服务器端的嵌入式脚本语言,大量地借用了C、java和Perl语言的语法,并耦合PHP自己的特性,使Web开发者能够快速地写出动态生成页面。还有一点,PHP是完全免费的,不用花钱,用户可以从PHP官方站点自由下载。而且可以不受限制地获得源码,甚至可以加进自己需要的特色功能。
在PHP的安全调试实践中,使用过PHP和MySQL的结合,可以生成后门木马;就PHP本身而言,它还存在远程溢出、远程拒绝服务、safe_mode绕过漏洞以及PHP本身的安全配置问题。例如:PHP4.1.2以下的所有版本都存在文件上传远程缓冲区溢出漏洞,而且攻击程序已经广泛流传;PHP 4.2.0和PHP 4.2.1存在PHPmultipart/form-dataPOST请求处理远程漏洞,虽然不能获得本地用户权限,但是也能造成拒绝服务。因此,除了保证IIS、Apache等Web服务器的安全,还要从PHP本身的安全等方面着手,如果发现某个PHP版本存在安全问题,一定要及时升级到最新版本。在开始讲解这些安全问题之前,用户必须对PHP的调试环境有一个比较详细的了解。
对于PHP的应用,使用Linux操作系统下的Apache+PHP+MySQL配置可以达到比较满意的效果,理由很简单,PHP的原型就是基于Linux系统开发的一个Web服务工具,虽然也为了方便移植到Window系统,但是却有相当部分的功能和性能不能完全发挥。不过,对于已经习惯使用Windows系统的安全爱好者来说,Windows系统的普及性决定了Windows下的测试环境仍然是首选的整合。默认情况下,IIS是不支持PHP的,手工配置IIS的PHP调试环境相对繁琐,而且还不一定能保证配置成功。因此,很多安全爱好者原本希望测试PHP脚本,却陷入了环境配置的无尽烦恼中。那么,如何才能让IIS支持PHP呢?下面介绍一种方法,只需要简单几步就能在IIS中配置好PHP调试环境。
(1)登录http://www.php.net/downloads.php,下载最新的PHP for Windows版本。本例所测试的是PHP 5.0.4installer这个版本。
(2)安装这个软件。这时,软件会提示选择需要配置的IIS版本。当然,我们也可以选择安装Apache等Web服务器,这样也可以直接在其上安装PHP。选择后,直接单击Next按钮进入下一步,如图1所示。

图片:211049871.jpg

图1 设置PHP调试环境的参数

(3)完成安装。软件会提示安装成功的提示。在这样的环境下,我们就可以开始对PHP程序进行安全测试了。现在,在"internet服务管理器"中,右击网站目录,选择"属性",在网站目录属性对话框的"主目录"页面中,单击"配置"按钮,弹出"应用程序配置"对话框,在"应用程序映射"页面,就可以看到PHP程序的配置文件了。
小知识:如果需要其他的扩展功能,可以直接下载PHP的zip安装包,解压缩到C:PHP目录下。这可是一个最简单直接的办法了,这样很多功能都可以使用了。如果要使用MySQL数据库,还要打开C:WINNT下的php.ini文件,找到extension_dir= "./",改为extension_dir ="c:/php/ext",找到";extension=php_MySQL.dll"将";"去掉,改为"extension=php_MySQL.dll"。这样就可以直接调用MySQL的功能模块了。
(4)安装MySQL程序。打开http://www.MySQL.com/downloads/index.html下载推荐的MySQL数据库稳定版本。安装完毕,软件会提示选择ServiceName和设置Windows的环境变量,如图2所示。

图片:211132358.jpg

图2 设置PHP数据库调试环境

然后,设置默认的管理员密码。安装完毕。MySQL的执行性能非常高,运行速度非常快,并且非常容易使用,是一个优秀的免费数据库。
在PHP下面用浏览器打开http://localhost/testdb.php,如果输出"success",表示数据库连接正确。testdb.php的代码如下:
(5)测试phpMyAdmin管理程序。需要下载phpMyAdmin这个程序。首先,打开http://www.phpmyadmin.net网站,找到下载区,开始下载phpMyAdmin管理程序。然后,将程序拷贝到IIS的某个虚拟目录下。打开后的phpMyAdmin界面如图3所示。

图片:211240605.jpg

图3 phpMyAdmin界面

完成上述环境搭建之后,我们重点关注一下PHP配置的一些安全问题。PHP的配置非常灵活,可以通过php.ini、httpd.conf、.htaccess文件进行设置,还可以在脚本程序里使用ini_set()及其他的特定的函数进行设置。例如,设置注入(sql_inject)问题时,要求程序员对所有用户提交的要放到SQL语句的变量进行过滤。即使是数字类型的字段,变量也要用单引号括起来,MySQL自己会把字串处理成数字。在MySQL里不要给PHP程序高级别权限的用户,只允许对自己的库进行操作。

喜欢0 评分0
游客

返回顶部