位置 :  > 新闻动态 > 常见问题 >
咨询:0514-87703567

织梦DEDECMS系统的安全优化设置及漏洞修复大全_防止网站被黑

织梦CMS在安装完成后,新人往往会直接开始开发使用,忽视了一些安全优化的操作,这样会导致后期整个系统安全系数降低,被黑或者被注入的概率极高,毕竟这世界百分百存在着极多的无聊hacker对全网的网站进行扫描,扫到你这个菜站,尤其是使用率极高的DEDECMS,对你的站点下手的欲望更高,所以在开发前做好安全防范还是很有必要的!

安全设置一:删文件
安装完成后会有一些文件,可以说是冗余文件,完全没有作用,反而带来被黑的危险,删除即可,以下目录文件均可删除:



然后做好安全安防设置:
 
1:根目录下的install(安装后删除)、special、a、tags.php文件都可以删除。include/payment目录 删除 include/dialog/select_soft_post.php 删除,删除member,plus 简化
 
2:权限设置:
data/、744 可读 可写 可执行
 
templets/、744  可读 可写 可执行 (经常不修改模板的用户,建议设置不可写,修改试在开启)
 
Dede/(后台文件夹)  555 可读取 可执行 不可写入 
 
include/  555 可读 可执行 不可写入
 
uploads/  644可读写 可写入 不可执行权限
 
member/、plus/  755可读 可执行 不可写入权限
 
 
3:没有开通会员的站点,删除member。
 
4:登录路径/定期修改FTP账号及密码/管理员帐号及密码设置的复杂些
参考教程:http://www.xiuzhanwang.com/dedecms_az/117.html
 
5:plus 简化,保留:img、diy.php、list.php、search.php、count.php、ad_js.php,其他全部删除。
 
6:后台登录文件优化(不用的就删除)
 
  dede/file_manage_control.php 【邮件发送】
 
  dede/file_manage_main.php 【邮件发送】
 
  dede/file_manage_view.php 【邮件发送】
 
  dede/media_add.php 【视频控制文件】
 
  dede/media_edit.php 【视频控制文件】
 
  dede/media_main.php【视频控制文件】
 
  dede/mytag_add.php 【自定义标记管理】
 
  dede/mytag_edit.php   【自定义标记管理】
 
  dede/mytag_main.php 【自定义标记管理】
 
  dede/mytag_tag_guide.php 【自定义标记管理】
 
  dede/mytag_tag_guide_ok.php 【自定义标记管理】
 
  dede/spec_add.php、spec_edit.php【专题管理】
 
  dede/file_xx .php开头的系列文件及tpl.php【文件管理器,安全隐患很大】
 
  dede/soft_add.php、dede/soft_config.php、dede/soft_edit.php 【软件下载类,存在安全隐患】
 
以dede/story_xxx.php开头的系列文件   【小说功能】
 
  dede/ad_add.php、ad_edit.php、ad_main.php    【广告添加部分】
 
  dede/cards_make.php、cards_manage.php、cards_type.php  【点卡管理功能文件】
 
以dede/co_xx  .php开通的文件    【采集控制文件】
 
  dede/erraddsave.php    【纠错管理】
 
  dede/feedback_edit.php、dede/feedback_main.php    【评论管理】
 
以dede/group_xx .php开头的系列php文件    【圈子功能】
 
  dede/plus_bshare.php    【分享到管理】
 
以dede/shops_xx .php开头的系列文件    【商城系统】
 
  dede/spec_add.php、spec_edit.php    【专题管理】
 
以dede/templets_xx .php开头的系列文件    【模板管理,可以保留】
 
  dede/vote_add.php、vote_edit.php、vote_getcode.php    【投票模块】
安全设置二:漏洞修复
一、任意文件上传漏洞
1、漏洞文件① /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();
}


2、漏洞文件② /dede/media_add.php (删除)
这是后台文件任意上传漏洞(上面有说删除此文件,如果不删除,需要使用这个功能,那么修改以下代码补掉漏洞)


3、漏洞文件③ /include/uploadsafe.inc.php (直接用百度云盘修复的文件替换)
 
 
二、SQL注入漏洞
漏洞文件⑩ /include/common.inc.php (SESSION变量覆盖导致SQL注入漏洞,最新的版本中已经修复)
在 /include/common.inc.php  中

找到注册变量的代码

foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
         foreach($$_request as $_k => $_v) ${$_k} = _RunMagicQuotes($_v);
}

修改为


foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
         foreach($$_request as $_k => $_v) {
                    if( strlen($_k)>0 && eregi('^(cfg_|GLOBALS)',$_k) ){
                            exit('Request var not allow!');
                   }
                    ${$_k} = _RunMagicQuotes($_v);
    }
}
 
1、漏洞文件① /include/filter.inc.php (大概在46行)


2、漏洞文件② /plus/search.php (大概在109行)


3、漏洞文件③ /member/mtypes.php (大概在71行)


4、漏洞文件④ /member/pm.php文件 (大概在65行)


5、漏洞文件⑤ /plus/guestbook/edit.inc.php (大概在55行)


6、漏洞文件⑥ /member/soft_add.php (大概在154行)


7、漏洞文件⑦ /member/article_add.php (大概在83行,cookies泄漏导致SQL漏洞)


8、漏洞文件⑧ /member/album_add.php (大约220行,对输入参数mtypesid未进行int整型转义,导致SQL注入发生)


9、漏洞文件⑨ /member/inc/inc_archives_functions.php (大概在239行,cookies泄漏导致SQL漏洞)


10、
11、漏洞文件⑪ /include/payment/alipay.php (支付模块注入漏洞,此漏洞织梦官方在最新的版本中已经修复)


12、漏洞文件⑫ /include/dedesql.class.php (大概在590行)


如果之前定义过arrs1或 arrs1或arrs1或arrs2的,请调整比对代码

13、漏洞文件⑬ /member/inc/archives_check_edit.php (大概第92行,dedecms前台任意文件删除(需要会员中心),发表文章处,对于编辑文章的时候图片参数处理不当,导致了任意文件删除)



三、无用文件中的风险代码删除
1\dede\templets\login_ad.htm(这是织梦默认后台登陆界面的广告代码,没用,删除以下这段代码)


2、\dede\templets\index_body.htm(织梦的后台首页模板文件,删除以下这段广告代码)


3、\dede\module_main.php(向织梦官网发送卸载或安装插件的信息,若服务器配置不高,或不支持采集(下载),那会卡死!注释掉以下代码)


4、\include\taglib\flink.lib.php(织梦官方友链上传的代码,没有用,删除,否则占用性能,甚至卡死)


5、\include\dedemodule.class.php(版本检测代码,30分钟一次,要扫描文件的!为什么管理模块打不开的原因就在这里,网站配置低的,卡死!)


6、\include\dedesql.class.php(下面这段代码会给网站加友情链接及版权"Power by DedeCms",删除)

590或者595行代码:if(isset($GLOBALS['arrs1']))

改成:

$arrs1 = array(); $arrs2 = array(); if(isset($GLOBALS['arrs1'])) 


7、\include\common.func.php(会给网站加版权的,删除)



安全设置三:目录修改
1、网站后台文件改名::默认后台目录是/dede,需要将这个文件夹的名称修改,比如改为login,那么后台登陆地址就由www.xxx.com/dede变为www.xxx.com/login
2、将/data/文件夹移到Web访问目录外(来自dedecms官方建议):
-将/data/文件夹移至根目录的上一级目录
-修改配置文件:/include/common.inc.php中DEDEDATA变量


3、目录权限设置
①/data、/templets、/uploads这几个目录去掉写的权限
②网站根目录设置为755权限(即www权限),这样子根目录下的所有文件夹均为755权限
③老版本若登录后台提示验证码错误,选中/data目录,将权限设置为完全控制(可读可写)权限

4、目录保护:为防止木马被上传执行,使用控制面板中的“目录保护”功能(大部分控制面板都有这个功能,一些安全软件也有),依次选择/templates、/uploads、/data这三个目录添加保护(以禁止脚本执行,防止黑客上传木马)

5、针对data文件夹的名称修改:
修改 data文件夹名称为 data#7080,这一步非常关键
之后在data#7080 文件夹中加入 .htaccess ,文件内容 deny from all,意思是将这个文件夹的权限设置为只读权限
之后需要修改首页文件/index.php和全局公用引入文件/include/comm.inc.php ,将其中的/data全部替换为 /data#7080
之后修改整个网站项目所有文件中的含有/data这个目录的代码,勾选“匹配整个站点”,替换为 /data#7080。
(注意,涉及替换代码的文件很多,建议一个个文件替换过去,以免出现失误;如果没有将/include/data 目录改名为 /include/data#7080,那么需要手动检查替换,以免错误).




安全设置四:使用第三方安全插件
可下载第三方防护插件,例如:360出品的“织梦CMS安全包” 、百度旗下安全联盟出品的“DedeCMS顽固木马后门专杀”;
本人推荐百度旗下安全联盟出品的“DedeCMS顽固木马后门专杀”
**下载地址:**https://download.csdn.net/download/weilapls/10655074
**前提工作:**注意下载文件到本地,解压后用“编辑器”(可直接用window系统’记事本’打开)打开dede_killer_v2.php 修改密码(默认密码不让登陆!),如果你的dedecms设置了data目录,请对应修改后保存。
**安装方式:**解压>上传至网站根目录(一般是wwwroot)
打开方式: http://你的网站地址/dede_killer_v2.php
注意
1.跟目录下必须有data目录和/data/common.inc.php文件,如不存在会报“请将该文件放到您站点的根目录,和index.php同一级目录”错误。
2.文件太多执行时间较长,可能超时,可以修改ini_set(“memory_limit”, “100m”)值为ini_set(“memory_limit”, “500m”),最大不能超过1000M。

安全设置四:可移文件检查删除
用dedecms后台“系统”中的文件校验和病毒扫描功能查杀病毒木马
检查有无/data/cache/t.php 、/data/cache/x.php和/plus/index.php 这些木马文件,有的话则立即删除
重点查看/plus/config_s.php, 此为dedecms里面的流量攻击脚本。

文章出处:https://blog.csdn.net/WeilaPls/article/details/82557716