正确设置网站文件所有者-提高网站安全性-防止被挂木马分析

上传人:仙*** 文档编号:127431296 上传时间:2022-07-30 格式:DOC 页数:7 大小:207KB
收藏 版权申诉 举报 下载
正确设置网站文件所有者-提高网站安全性-防止被挂木马分析_第1页
第1页 / 共7页
正确设置网站文件所有者-提高网站安全性-防止被挂木马分析_第2页
第2页 / 共7页
正确设置网站文件所有者-提高网站安全性-防止被挂木马分析_第3页
第3页 / 共7页
资源描述:

《正确设置网站文件所有者-提高网站安全性-防止被挂木马分析》由会员分享,可在线阅读,更多相关《正确设置网站文件所有者-提高网站安全性-防止被挂木马分析(7页珍藏版)》请在装配图网上搜索。

1、精心整理设置平安的nginx+PHP网站书目权限基于linux系统的web效劳器架构听说过许多年了,也用了好几年,不过都是用现成的运行环境,比方虚拟主机、共用VPS。亲自配置、把玩,我还是第一回,初学过程的曲折在意料之中,反复熬煎了两三天,最终搞清晰一些linux根底概念和nginx+php配置。今日主要记录nginx+php环境下,原先理解的很混乱的网站书目权限设置。由于对linux文件权限的概念不清晰,迁移网站到VPS上时,担忧设置错了影响网站平安,刚好之前一个网站被挂了马,配置效劳器时就特殊在意这事了。配置权限的原那么是,在保证网站正常运行下,尽量给最低权限。我的配置:1、nginx进程

2、用户是默认用户wwwboy;(短暂还不知道nginx进程用户会对效劳器什么地方的权限有影响,配置nginx似乎都没遇到权限设置问题)2、php-fpm进程用户配置为wwwboy;3、网站书目全部者设置为ftpuser,由于须要在FTP中对网站文件进展下载(读取)、上传(写入),ftpuser确定对网站书目有读写权限。关键点:php-fpm 子进程所运用的用户,不能是网站文件全部者。这里引荐一篇关于权限设置的文章正确设置网站文件全部者 提高网站平安性 防止被挂木马,我就是读完这篇文章才理解nginx、php-fpm、网站文件权限之间的关系以及如何设置才平安。上面引荐的文章里也写了,网站文件全部者

3、和php-fpm进程用户设为不同的好处是在PHP程序中无法对网站文件进展修改,这样即使网站被挂马了,也能降低许多损失,例如,对方无法在你的正常代码里混入后门。以前总习惯性地把缓存书目权限设置为777,这回既然留意到平安问题,就想顺便弄清晰一下缓存书目怎么设置才正确合理并平安。其实,了解清晰linux文件权限安排方式,这个怀疑也就明朗了:假设网站缓存书目名为cache,其全部者为ftpuser。缓存文件是由php-fpm进程执行写入,相当于用户wwwboy要在用户ftpuser的书目cache里写文件,不被允许的!因此,要安排给wwwboy对cache书目的写权限,chmod o+w -R ca

4、che即可,假如ftpuser与wwwboy同一个用户组,就chmod g+w -R cache。缓存书目不须要执行权限,所以以往设置777权限的做法相当粗糙,不过在运用虚拟主机的时候,自己无法把握效劳器上各种设置,777也是最便捷做法了。2013-3-25更新:缓存书目须要o+wx,添加x的缘由是读取书目的时候须要执行权限,否那么文件是写不胜利的。除非要生成的文件和写文件的脚本在同一个书目内,不须要读取书目的权限,也就不须要执行权限。原理:(此处感谢 lanisle)On a directory, the execute permission (also called the search

5、bit) allowsyou to access files in the directory and enter it, with the cd command, forexample. However, note that although the execute bit lets you enter thedirectory, youre not allowed to list its contents, unless you also have theread permissions to that directory.以上便是对nginx+php网站书目权限平安设置的表述和理解,看起

6、来像菜鸟根底班的笔记。此外,以往我对开源的宏大魅力不以为然,学习运用linux几天,起先有所体会#正确设置网站文件全部者 提高网站平安性 防止被挂木马核心总结:php-fpm/apache进程所运用的用户,不能是网站文件全部者。但凡违反这个原那么,那么不符合最小权限原那么。依据生产环境不断反应,发觉不断有php网站被挂木马,绝大局部缘由是因为权限设置不合理造成。因为效劳器软件,或是php程序中存在漏洞都是难免的,在这种状况下,假如能正确设置Linux网站书目权限,php进程权限,那么网站的平安性事实上是可以得到保障的。那么,造成网站被挂木马的缘由是什么?1.ftp连接信息被破解,对这个缘由,可

7、行的方法就是运用特别困难的FTP用户名不要运用常用的用户名,假如是固定作业,可考虑运用iptables防火墙限制来源IP。但是一些情景下,可能须要运用VPN以便远程维护。即网站维护者须要运用FTP修改网站文件时,必需先登录到IDC机房的VPN效劳器上,再进展后续的操作。2.网站效劳器软件/配置/php程序存在漏洞,被利用在探讨这个问题前,先说明文件及进程权限的几个概念:A.FTP用户对网站书目具有最大修改权限,那么网站的文件全部者必须属于FTP,这是毋庸置疑的,否那么如何修改文件呢?B.php-fpm/apache/nginx进程对网站文件至少须要有读取权限,例如,以下吩咐即可查看这两个进程所

8、运用的账号:通过上图,我们可以发觉,nginx和php-fpm子进程账号是nobody。我们再查看网站文件书目的权限:发觉网站文件全部者是www账号,那说明:|nginx和php对网站只有读取权限,无写入权限l假如php程序须要对网站某些文件有写入权限,须要手工将文件或书目权限修改为777l因为php-fpm子进程是以nobody运行,那么php-fpm生成的新文件全部者也是nobody,这时ftp用户将无法修改这些文件,解铃还需系铃人,当php生成文件后,须要调用chmod(/somedir/somefile,0777)将文件权限修改为777,以便FTP用户也可以修改这个文件。l经常有开发人

9、员找我恳求重设php生成的文件的权限。l假如php-fpm/apache/nginx进程以网站文件全部者用户运行,那意味着php-fpm/apache/nginx进程对整个网站书目具有可写权限,噩梦也就由此起先。但是我们发觉,有不少系统管理员为了省事,违反了Linux最小化权限的原那么,设置php-fpm/apache/nginx进程以网站文件全部者账号运行,当然这样可能会便利php开发人员php-fpm进程对整个网站书目具有可写权限,但是这样一来,Linux体系的文件系统权限原那么将被打破,全部的平安措施将形同虚设。可以想象的是,万一php程序中有漏洞,攻击者上传木马,便可以修改网站的全部文

10、件,网站首页被黑,也就缺乏为怪了。退一步,假如我们设置了较严格的权限,就算php程序中存在漏洞,那么攻击者也只能篡改权限为777的书目,其它的文件是无法被改写的,网站不就就得更平安了吗?核心总结:php-fpm/apache/nginx进程所运用的用户,不能是网站文件全部者。但凡违反这个原那么,那么不符合最小权限原那么。经过我参阅网上关于nginx,php-fpm配置的文章教程和市面上的一些书籍,发觉有不少人受这些文章的误导,干脆让php-fpm/apache/nginx进程以网站全部者账号运行,例如张宴的实战nginx取代apache的高性能Web效劳器一书的52页中,存在以下设置:wwww

11、ww而在第50页,设置网站文件全部者也为www用户:chown-Rwww:www/data0/htdocs/blog明显,此书的这局部内部,对初学者有误导,针对这个问题,我已经向本书作者发邮件,盼望其能在其次版中进展强调声明,以免由于过度宽松的权限配置,造成一些平安隐患。官方供应的配置文件中,php-fpm子进程运用nobody用户,这完全是合理的,无须修改。那么nginx的子进程用户,如何设置合理?我的建议是也运用nobody对错误日志写入等无影响,设置方法如下:nginx.conf文件第一行设置为usernobody;,再执行nginx-sreload即可。php-fpm子进程用户设置方法

12、:编辑文件php-fpm.conf一般位于/usr/local/php/etc/php-fpm.conf,视安装参数为准,找到user、group两个参数的定义,将其设置为nobody(默认已经是nobody),再重启php-fpm进程即可。网站可写书目的特殊留意这里的可写,是相对php-fpm子进程而言。一个网站最简洁出平安问题的即是可写书目,假如可写书目权限能限制严格,平安系数也将大大提高。我们认为,一个网站可写书目主要分为以下几种:1.php数据缓存书目,如discuz的forumdata书目,就存放了大量数据缓存文件。此类书目一般会制止用户干脆访问,但是discuz在这个书目下又存放了

13、不少js,css文件,我们并不能简洁地拒绝用户访问这个书目。明显,这个书目下的全部文件,不能干脆交给php解析,我们后面会给出解决方案。2.附件上传书目。明显此类书目须要开启访问,但不能交由php引擎解析即这个书目下的全部文件均视为平凡静态文件。3.静态文件生成书目,这类书目下的文件全部应视为静态文件。4.日志书目,一般都会拒绝用户干脆访问之。也就是说对网站开发人员而言,须要对可写书目实现动静分别,不同性能的文件,应当区分对待之,这样也就便利系统管理员,设置合理的nginx规那么,以提高平安性。简洁地去掉php文件的执行权限,并不能阻挡php-fpm进程解析之。接下来,依据以上总结,系统管理员

14、如何配置nginx的书目规那么,才更平安呢?1.数据缓存书目/cache/这个书目的特点是须要777权限,无须供应应用户访问,那么可以按以下参考配置nginxlocation/cachereturn403;location.php$fastcgi_pass127.0.0.0:9000;.这时,任何用户将无法访问/cache/书目内容,即使2.附件上传书目attachments此书目的特点是须要开放访问权限,但全部文件不能由php引擎解析包括后缀名改为gif的木马文件location/attachmentslocation.php$fastcgi_pass127.0.0.0:9000;.留意,上

15、面对attachments书目的location定义中是没有任何语句的。nginx对正那么表达式的location匹配优先级最高,任何一个用正那么表达式定义的location,只要匹配一次,将不会再匹配其它正那么表达式定义的location。此时此刻,请在attachments书目下建立一个php脚本文件,再通过阅读器访问安,我们发觉阅读器提示下载,这说明nginx把attachments书目下的文件当成静态文件处理,并没有交给phpfastcgi处理。这样即使可写书目被植入木马,但因为其无法被执行,网站也就更平安了。明显,重要的php配置文件,请勿放在此类书目下。3.静态文件生成书目publ

16、ic这些书目一般都是php生成的静态页的保存书目,明显与附件书目有类似之处,按附件书目的权限设置即可。可以预见的是,假如我们设置了较严格的权限,即使网站php程序存在漏洞,木马脚本也只能被写入到权限为777的书目中去,假如协作上述严格的书目权限限制,木马也无法被触发运行,整个系统的平安性明显会有显著的提高。但是网站可写书目的作用及权限,只有开发人员最为清晰。这方面须要php开发人员和系统管理员踊跃沟通。我们运用的方式是:工程上线前,开发人员依据以文档形式供应网站可写书目的作用及权限,由系统管理员针对不同书目进展权限设置。任何一方修改了网站书目权限,但未表达到文档中,我们认为是违反工作流程的。 大小: 38.4 KB 大小: 71.6 KB 大小: 32 KB

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!