dedecms(织梦CMS)安全设置之文件夹目录权限详细解说

[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!

前几天我香港的服务器,用几个dedecms的站,好像被入侵了,包括帝国也受害了,一气之下把dedecms的站全部删除了,毕竟也没多大用处了,现在想要处理的事儿还得重新记忆,那就是还得为以后做点准备,写一篇关于dedecms目录安全的文章;

织梦CMS--DedeCMS 目录权限安全设置详解

权限设置

1、a 文件夹是静态生成文件的存放目录,所以拒绝脚本执行 允许写入

2、data 是缓存文件、数据等,所以充许写入,但是因为这里面的文件引入到其它地方进行使用,所以要拒绝脚本执行。

3、dede 是后台管理目录,并且这个一般情况下不需要修改,所以允许脚本执行,拒绝写入。(建议修改后台dede的目录名,减少一个风险)

4、images 仅是存系统图片, 所以拒绝脚本执行,拒绝写入。

5、include 这个目录是系统库,一般情况下也是引入到其它地方使用,但是也有一些文件需要执行,比如验证码,但是一般不需要修改。所以允许脚本执行,拒绝写入。

6、install 这个目录在系统安全完之后,直接删除, 系统部署之后,这个文件夹就没有用了。

7、member 如果不使用会员系统,这个目录夹也可以直接删除。

8、plus 这个插件目录,不需要修改的,允许脚本执行,拒绝写入。

9、special 这个专题文件夹,一般我们会改名。与a目录一样,拒绝脚本执行,允许写入

10、templets 这相模板目录,拒绝执行,拒绝写入。拒绝写入之后,比较麻烦,如果修改模板,要先允许写入,再修改再去拒绝写入,但是不要嫌麻烦,毕竟为了安全嘛。

11、uploads 是上传目录,不用说必须拒绝脚本,允许写入,一个不小心,黑客就给你上传个木马上来了。

12、将data目录移到根目录之外,这也是官方要求做的,但是不得不说,这会带来很多问题,比如访问根目录下面的index.php会了错,三级联动也会出错。

index.php 可以通过修改代码解决,如果你不需要三级联动功能,可以移出data。

操作方法:

(1)修改/include/common.inc.php

将 define('DEDEDATA', DEDEROOT.'/data');

改成: define('DEDEDATA', DEDEROOT.'/../data');

(2)到后台系统基本设置->性能选项 里面设置 模板缓存目录为 /../data/tplcache。

删除以下文件夹和文件

member 会员文件夹整个删除

special 专题文件夹整个删除

install 安装文件夹整个删除

/templets/default 官方默认模板这个文件夹删除

plus 文件夹除了以下 1个文件夹 和 5个php文件,其他的文件统统删除

/plus/img (这个文件夹)

/plus/count.php

/plus/diy.php

/plus/list.php

/plus/search.php

/plus/view.php

把 dede 后台文件夹改名,改复杂一点,改成我都不认识,每次进入ftp查看。

打开 /include/dialog/select_soft_post.php 找到

$fullfilename = $cfg_basedir.$activepath."/".$filename;

在它上面加入

if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) {
ShowMsg("你指定的文件名被系统禁止!",'javascript:;');
exit();
}

打开 /dede/media_add.php 找到

$fullfilename = $cfg_basedir.$filename;

在它上面加入

if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))){
ShowMsg("你指定的文件名被系统禁止!",'java script:;');
exit();
}

在买的模板里面检查整站备份文件夹里 模板 和 文档图片文件夹 是否有挂马和

每一个跟模板有关的js文件都要一一打开来细心检查,因为挂马很多在js文件中,不然你前面和后面的工作都白做了。

1、每一个跟模板有关的css 和 images 文件夹下都要细心检查是否有后门文件,除了图片文件、css文件、字体文件,其他的一律删除,删错了也不用担心,有整站打包的备份在。

2、每一个模板htm文件都要细心检查是否有挂马代码存在,检查你的模板文件夹里是否有后门文件,比如php文件,asp文件,其他可疑的格式文件一律删除,删错了也不用担心,有整站打包的备份在。

3、你备份文件中的文档图片文件夹 uploads 文件夹,每一个文件夹都要打开,都要细心检查是否有后门文件,除了图片文件和你的附件,其他的一律删除,删错了也不用担心,有整站打包的备份在。

4、/data/common.inc.php 和  /data/config.cache.inc.php 一会配合打包要用到,所以也要检查。

5、/include/extend.func.php 可能有二次开发的自定义方法在里面,所以也要检查。

6、其他你曾经二次开发修改过的文件。

利用伪静态功能禁止以下目录运行php脚本

linux主机的用户一般都是apache环境,使用 .htaccess 文件来设置,如果你网站根目录已经存在这个文件,那就复制一下代码添加进去,没有这个文件的小伙伴可以下载下来放进去

RewriteEngine on
#安全设置 禁止以下目录运行指定php脚本
RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]

windows主机的用户一般都是iis7、iis8环境,使用 web.config 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rules内,没有这个文件的小伙伴可以下载下来放进去;

<rule name="Block data" stopProcessing="true">
<match url="^data/(.*).php$" />
<conditions logicalGrouping="MatchAny">
<add input="{USER_AGENT}" pattern="data" />
<add input="{REMOTE_ADDR}" pattern="" />
</conditions>
<action type="AbortRequest" />
</rule>
<rule name="Block templets" stopProcessing="true">
<match url="^templets/(.*).php$" />
<conditions logicalGrouping="MatchAny">
<add input="{USER_AGENT}" pattern="templets" />
<add input="{REMOTE_ADDR}" pattern="" />
</conditions>
<action type="AbortRequest" />
</rule>
<rule name="Block SomeRobot" stopProcessing="true">
<match url="^uploads/(.*).php$" />
<conditions logicalGrouping="MatchAny">
<add input="{USER_AGENT}" pattern="SomeRobot" />
<add input="{REMOTE_ADDR}" pattern="" />
</conditions>
<action type="AbortRequest" />
</rule>

Nginx下禁止指定目录运行PHP脚本

注意:这段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后记得重启Nginx生效。

location ~* /(a|data|templets|uploads)/(.*).(php)$ {
return 403;
}

如何验证第八步是否生效呢

使用Sublime Text 或者 Dreamweaver 新建一个php文件,名为a.php

里面随便写个文字,上传到根目录 然后访问路径,如果是能正常显示你写的数字,那表示没生效,提示403页面说明设置成功了

教程到此介绍。

问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

支付宝赞助
微信赞助

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » dedecms(织梦CMS)安全设置之文件夹目录权限详细解说

发表回复

本站承接,网站推广(SEM,SEO);软件安装与调试;服务器或网络推荐及配置;APP开发与维护;网站开发修改及维护; 各财务软件安装调试及注册服务(金蝶,用友,管家婆,速达,星宇等);同时也有客户管理系统,人力资源,超市POS,医药管理等;

立即查看 了解详情