下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux下apache与php安全相关设置在php.ini配置文件中的大部分功能,均可以用这种方式来调节,调节后应重新启动apache,然后 就可以在phpinfo中看到中间栏的local value同右边栏位的master value是不同值. 请注重: 有些参数值的设定办法跟它们在php.ini配置文件中的设置办法可能不一样,例如 上面的 register_globals 1 , 本来在php.ini中应是 register_globals on . = (1) safe_mode: 以平安模式运行php; 在php.ini文件中用法如下选项(这是影响全局的设置): safe_mode
2、= on (用法平安模式) safe_mode = off (关闭平安模式) php的平安模式是为了试图解决分享伺服器(shar-server)的平安问题而特地设立的. 然而 从结构上看, 试图在php层面上解决这个问题其实是不合理的, 只是考虑到修改web伺服器层 和操作系统层都显得十分的不现实, 因此许多用法者,特殊是提供公共网络服务的isp供给商, 大多都在其服务器中要求以平安模式来运行php,用以防止合法用户的跨站读取或越权操作等 危急行为, 以及将非授权用户的恶意行为所造成的影响降到最低范围. 参址: 在apache的.conf中virtualhost的相应设置办法(这是针对特定用户
3、的设置): php_admin_flag safe_mode on (用法平安模式) php_admin_flag safe_mode off (关闭平安模式) 或者: php_admin_value safe_mode 1 (用法平安模式) php_admin_value safe_mode 0 (关闭平安模式) 严峻警告: 假如在全局性设置中已经启用了safe_mode的功能,但又在特殊的用户虚拟空间中 关闭该用户的safe_mode的功能,这就等于赋予了该用户特别的权限,允许他不须受safe_mode 的限制而自由地用法系统的服务,也就是说全部本来被全局性的safe_mode功能所禁止的
4、行为, 例如跨站读取或越权操作等都可以被该用户执行, 这就好似在原本平安设防的金库中打开了 一个可供该用户自由进出的洞,因此任何用法该用户空间的应用都不再被全局性的safe_mode 庇护所限制,固然这就意味著囫囵系统的平安性都可能会受到该用户空间的影响,包括可能因 该空间应用的漏洞而导致囫囵系统被入侵等等. 所以,这样的针对特定用户的特别设置,应该 作为一种特许授权的方式来考虑, 并有须要建立有效的监控机制以防止该用户滥用系统资源, 否则, 一旦该用户变得不再可相信或他的网站程序存在漏洞, 那么您的整体系统所受的影响 就会同彻低没有启用safe_mode千篇一律. = = (2) safe_
5、mode_ilude_dir: 无需uid/gid检查的名目 当您根据前面(1)所述之设置启用php的平安模式之后,php的脚本在运行时就会对全部被操作 的名目以及文件举行针对uid/gid的匹配性检查: 即检查被操作名目或文件的uid或gid,是否 同当前php脚本文件的uid或gid一样. 然而, 假如您的系统允许用户的php脚本拜访公共路径的话(例如无数较旧的forum或gallery 程序都会挺直引用系统文件来扩展当初php还未能支持的功能), 那么这种设置就会造成棘手. 而用法safe_mode_include_dir设置可以指定某些名目, 当php脚本操作这些名目及其子名目 时(该
6、名目必需在include_path中或者用尽整路径来包含), 则允许越过uid/gid检查,即不对 该名目举行uid/gid匹配性检查. 从php4.2.0开头, 这个命令已经可以接受同include_path命令类似的风格, 即用分号隔开的 多个路径, 而以前则只能指定单一个名目. 同open_bair一样, 它所指定的路径事实上也 是一个字符串的前缀限制,而非针对该名目名称空间的操作. 例如假如指定: safe_mode_include_dir = /dir/incl , 那么全部的php脚本都将允许随意 拜访 /dir/include 和 /dir/incls 路径(假如它们存在的话).
7、 因此, 假如您希翼将拜访 控制在一个指定的名目里面, 就必需在上述设置的指定路径的结尾加上一个斜线, 例如: safe_mode_include_dir = /dir/incl/ 请注重: virtualhost会自动继承php.ini中的safe_mode_include_dir设置. = = (3) open_basedir: 将用户可操作的文件限制在某名目下; 如下是php.ini中的原文解释以及默认配置: ; open_basedir, if , limits all file operations to the defined directory ; and below. this
8、 directive makes most sense if used in a per-directory or ; per-virtualhost web server configuration file. this directive is ; *not* affected by whether safe mode is turned on or off. open_basedir = . open_basedir可将用户拜访文件的活动范围限制在指定的区域,通常是其家名目的路径,也 可用符号 . 来代表当前名目。注重用open_basedir指定的限制事实上是前缀,而不是名目名。 举例
9、来说: 若 open_basedir = /dir/user , 那么名目 /dir/user 和 /dir/user1 都是 可以拜访的。所以假如要将拜访限制在仅为指定的名目,请用斜线结束路径名。例如设置成: open_basedir = /dir/user/ open_basedir也可以同时设置多个名目, 在windows中用分号分隔名目,在任何其它系统中用 冒号分隔名目。当其作用于apache模块时,父名目中的open_basedir路径自动被继承。 有三种办法可以在apache中为指定的用户做自立的设置: (a) 在apache的httpd.conf中directory的相应设置办法
10、: directory /usr/local/apache/htdocs php_admin_value open_basedir /usr/local/apache/htdocs/ 设置多个名目可以参考如下: php_admin_value open_basedir /usr/local/apache/htdocs/:/tmp/ /directory (b) 在apache的httpd.conf中virtualhost的相应设置办法: php_admin_value open_basedir /usr/local/apache/htdocs/ 设置多个名目可以参考如下: php_admin_
11、value open_basedir /var/www/html/:/var/tmp/ (c) 由于virtualhost中设置了open_basedir之后, 这个虚拟用户就不会再自动继承php.ini 中的open_basedir设置值了,这就难以达到灵便的配置措施, 所以建议您不要在virtualhost 中设置此项限制. 例如,可以在php.ini中设置open_basedir = .:/tmp/, 这个设置表示允许 拜访当前名目(即php脚本文件所在之名目)和/tmp/名目. 请注重: 若在php.ini所设置的上传文件暂时名目为/tmp/, 那么设置open_basedir时就必需
12、 包含/tmp/,否则会导致上传失败. 新版php则会提醒 open_basedir restriction in effect 警告信息, 但move_uploaded_file()函数仍然可以胜利取出/tmp/名目下的上传文件,不知道 这是漏洞还是新功能. = = (4) disable_functions: 单独地屏蔽某些函式(常用于禁止一般用户执行系统函数); 这个命令允许你基于平安缘由挺直禁止某些确定的函式(通常是攸关系统平安的函数),例如: disable_functions = shell_ec,system,exec,passthru,show_source,get_cfg_v
13、ar disable_functions接受逗号分隔的函式名列表作为参数, 它不受平安模式的影响,而且只能 设置在php.ini中用作全局性配置, 不能将其设置在httpd.conf中针对单独用户来举行设置. 从php-4.0.1开头在php.ini里引入了此项功能, 这个功能十分实用, 可以用它禁止用户用法 一些具有潜在的危急性的函数, 例如: passthru,exec,system,popen 等等. 当您在php.ini 中加上 disable_functions = passthru,exec,system,popen 配置后, php在执行这些函数 时就只会显示错误提醒: warning: system() has been disabled for security reasons 下面举个例子来看看这个平安性设置的重要程度: 我们知道php脚本可以采纳无数perl的特性,例如通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国能建葛洲坝文旅公司副总经理岗位公开招聘【2名】高频重点提升(共500题)附带答案详解
- 2025中国移动(成都)产业研究院社会招聘高频重点提升(共500题)附带答案详解
- 2025中国电信湖北随州分公司招聘7人高频重点提升(共500题)附带答案详解
- 2025中国电信吉林延边分公司校园招聘高频重点提升(共500题)附带答案详解
- 2025中共无锡市梁溪区委办公室(档案史志馆)公开招聘编外人员2人(江苏)高频重点提升(共500题)附带答案详解
- 2025下半年贵州六盘水市事业单位及国企业招聘应征入伍大学毕业生164人高频重点提升(共500题)附带答案详解
- 2025下半年湖北孝感市孝南区部分事业单位招聘79人高频重点提升(共500题)附带答案详解
- 2025下半年江苏南京市江北新区社会事业局招聘编外人员29人历年高频重点提升(共500题)附带答案详解
- 2025下半年四川绵阳事业单位历年高频重点提升(共500题)附带答案详解
- 2025下半年四川南充西充县事业单位招聘50人高频重点提升(共500题)附带答案详解
- 迈达斯桥梁建模
- 新产品试制流程管理办法
- 幼儿园中班个人工作计划幼儿园中班个人工作计划范例2021.doc
- 常见繁体字的简化表 香港人简体字教学
- 《教育经济学》试题及答案
- 塑料模具肥皂盒设计说明书
- 穿越河流工程定向钻专项施工方案
- 地球物理学进展投稿须知
- 社会主义新农村建设建筑废料利用探究
- 火炬介绍 音速火炬等
- 制剂申请书(共16页)
评论
0/150
提交评论