- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux系统下配置PHP服务器技巧
Linux系统下配置PHP服务器技巧 摘要: 本文主要介绍在Linux操作系统下PHP网站服务器配置的方法与技巧,从Web服务器安全、PHP本身的安全配置分别介绍配置方法,很好地解决了PHP网站在Linux系统下的应用。 关键词: Linux操作系统PHP服务器安全配置 一、Web服务器安全 PHP是Web服务器的一个模块功能,所以要想使PHP拥有较安全的配置,首先要保证Web服务器的安全,当然Web服务器要安全就必须先保证系统安全。PHP可以和各种Web服务器结合,这里只讨论Apache。笔者建议以chroot方式安装启动Apache,这样即使Apache和PHP及其脚本出现漏洞,受影响的也只有这个禁锢的系统,不会危害实际系统。但是我们使用chroot的Apache后,会给应用带来一定的麻烦,比如连接mysql时必须用“”地址,使用tcp连接而不能用localhost实现socket连接,这在效率上会稍微差一点。mail函数发送邮件也存在一定的问题,因为php.ini里的: [mail function]; For Win32 only. SMTP=localhost, For Win32 only.省略 这都是针对Win32平台的,所以我们需要在chroot环境下调整好sendmail。 二、PHP本身问题 1.远程溢出 PHP-4.1.省略/0204-exploits/7350fun http://hsj.省略/misc/php3018_exp.txt 2.远程拒绝服务 PHP-4.2.0和PHP-4.2.1存在PHP multipart/form-data POST请求处理远程漏洞,虽然不能获得本地用户权限,但是也能造成拒绝服务。 3.safe_mode绕过漏洞 PHP-4.2.2以下到PHP-4.0.5版本都存在PHP mail函数绕过safe_mode限制执行命令漏洞。从4.0.5版本开始,mail函数增加了第五个参数,设计者可以突破safe_mode的限制执行命令,其中4.0.5版本突破非常简单,只需用分号隔开后面加shell命令就可以了。 三、PHP本身的安全配置 PHP的配置非常灵活,我们可以通过php.ini、httpd.conf、.htAccess文件(该目录必须设置了AllowOverride All或Options)进行设置,还可以在脚本程序里使用ini_set()和其他的特定的函数进行设置,通过phpinfo()和get_cfg_var()函数可以得到配置选项的各个值。 如果配置选项是唯一PHP_INI_SYSTEM属性的,我们必须通过php.ini和httpd.conf来修改,其修改的是PHP的Master值,但修改之后必须重启apache才能生效。其中php.ini设置的选项是对Web服务器所有脚本生效,httpd.conf里设置的选项是对该定义的目录下所有脚本生效。 在讨论Linux系统下安全配置PHP服务器之前,我们应该了解PHP的safe_mode模式。 1.safe_mode safe_mode是唯一PHP_INI_SYSTEM属性,它必须通过php.ini或httpd.conf来设置。要启用safe_mode,只需修改php.ini: safe_mode=On 重启apache后,safe_mode就生效了,启动safe_mode,会对许多PHP函数进行限制,特别是和系统相关的文件打开、命令执行等函数。 虽然safe_mode不是万能的(低版本的PHP可以绕过),但笔者还是强烈建议用户打开安全模式,这样在一定程度上能够避免一些未知的攻击。不过启用safe_mode会有很多限制,可能对应用带来影响,所以用户还需要调整代码和配置才能和谐。被安全模式限制或屏蔽的函数我们可以参考PHP手册。 2.变量滥用 PHP默认register_globals=On,对于Get、Post、Cookie、Environment、Session的变量我们可以直接注册成全局变量。它们的注册顺序是variables_order=″EGPCS″(可以通过php.ini修改),同名变量variables_order右边的覆盖左边,所以变量的滥用极易造成程序的混乱,而且脚本程序员往往没有对变量初始化的习惯,像如下的程序片断就极易受到攻击: ? //test_1.php if($pass == ″hello″) $auth = 1, if($auth == 1) echo ″some important information″, else
文档评论(0)