更多



DedeCMS系统安全防范与安全设置 不指定

郝聪 , 2015/07/28 16:39 , 建站优化 , 评论(0) , 阅读(4978) , Via 本站原创 | |

DeDeCMS系统存在的某些漏洞经常被黑客利用批量挂黑链或挂马,给使用DeDeCMS建设网站的管理员们造成了不小的困扰和麻烦,笔者便是其中之一,如何做好DeDeCMS安全防范是便成了必须要解决的问题。根据一些实战经验与网上收集而来的信息,汇总如下。

1、保持DeDeCMS源码升级,及时更新补丁。

2、安装完DeDeCMS后及时把install文件夹删除。(日后如需覆盖安装再另行上传该目录)

3、安装DeDeCMS时,建议修改数据库的表前缀,不使用dedecms默认的前缀dede_,可以改成名字。

4、后台登录开启验证码功能,将默认管理员admin改成其他名称。

5、修改管理后台目录名,最好是改成MD5形式的,最好长点,可以带特殊字符。

6、如果全站使用纯静态HTML页面,则可以把plus下的相应文件和根目录下的index.php删除(原则:用不到的全删除,甚至可以考虑把数据库里面不用的表删除掉)

7、不需要留言本功能把/plus下的guestbook删除

8、不需要会员功能的可以把整个member删除

9、管理后台“文件管理器”属于多余功能,而且最影响安全,可以将后台管理目录下file_manage_xxx.php全部删除,包括以下程序文件:

        
  • file_manage_control.php
  •     
  • file_manage_main.php
  •     
  • file_manage_view.php
  •     
  • media_add.php
  •     
  • media_edit.php
  •     
  • media_main.php

10、不需要软件下载功能的,可以将管理目录下soft__xxx_xxx.php全部删除。

11、不需要SQL命令运行器的将管理后台目录下的sys_sql_query.php 文件删除。

12、不需要tag功能请将根目录下的tag.php删除。

13、不需要顶客请将根目录下的digg.php与diggindex.php删除。

14、用不到的功能一概关闭,比如会员、评论等,如果没有必要通通在后台关闭。

15、以下一些是可以删除的目录:

        
  • member会员功能
  •     
  • special专题功能
  •     
  • company企业模块
  •     
  • plus\guestbook留言板

16、最安全的使用方式:本地生成html,然后通过FTP上传到网站空间,不包含任何动态文件,理论上最安全。

17、服务器web目录权限设置:有条件的用户把DedeCms中data、templets、uploads、html、special、images、install目录设置为不允许执行脚本,其它目录禁止写入,系统将更安全。

18、安装DedeCms官网推出的万能安全防护代码

打开config_base.php文件;找到以下这段代码:

XML/HTML代码
        
  1. //禁止用户提交某些特殊变量  
  2.     
  3. $ckvs = Array(‘_GET’,'_POST’,'_COOKIE’,'_FILES’);  
  4.     
  5. foreach($ckvs as $ckv){  
  6.     
  7. if(is_array($$ckv)){  
  8.     
  9. foreach($$ckv AS $key => $value)  
  10.     
  11. if(eregi(“^(cfg_|globals)”,$key)) unset(${$ckv}[$key]);  
  12.     
  13. }  
  14.     
  15. }  

修改成如下代码:

XML/HTML代码
        
  1. //把get、post、cookie里的<?转换成&lt;
  2.     
  3. $ckvs = Array('_GET','_POST','_COOKIE');  
  4.     
  5. foreach($ckvs as $ckv){  
  6.     
  7. if(is_array($$ckv)){  
  8.     
  9. foreach($$ckv AS $key => $value)  
  10.     
  11. if(!empty($value)){  
  12.     
  13. ${$ckv}[$key] = str_replace(‘<'.'?','&'.'lt;'.'?',$value);  
  14.     
  15. ${$ckv}[$key] = str_replace('?'.'>‘,’?’.’&’.’gt;’,${$ckv}[$key]);  
  16.     
  17. }  
  18.     
  19. if(eregi(“^cfg_|globals”,$key)) unset(${$ckv}[$key]);  
  20.     
  21. }  
  22.     
  23. }  
  24.     
  25. //检测上传的文件中是否有PHP代码,有直接退出处理  
  26.     
  27. if (is_array($_FILES)) {  
  28.     
  29. foreach($_FILES AS $name => $value){  
  30.     
  31. ${$name} = $value['tmp_name'];  
  32.     
  33. $fp = @fopen(${$name},’r');  
  34.     
  35. $fstr = @fread($fp,filesize(${$name}));  
  36.     
  37. @fclose($fp);  
  38.     
  39. if($fstr!=” && ereg(“<\?”,$fstr)){  
  40.     
  41. echo “你上传的文件中含有危险内容,程序终止处理!”;  
  42.     
  43. exit();  
  44.     
  45. }  
  46.     
  47. }  
  48.     
  49. }  

19、基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。规则内容如下:

XML/HTML代码
        
  1. RewriteEngine on  RewriteCond % !^$
  2.     
  3. RewriteRule uploads/(.*).(php)$ – [F]
  4.     
  5. RewriteRule data/(.*).(php)$ – [F]
  6.     
  7. RewriteRule templets/(.*).(php)$ – [F]

 针对uploads,data,templets 三个目录做了执行php脚本限制,设置可读写不可执行权限。

20、include、member、plus、dede目录设置为可读可执行不可写入权限。

21、常见恶意文件,以备自查:

        
  • plus/ac.php;
  •     
  • plus/config_s.php  ;
  •     
  • plus/config_bak.php;
  •     
  • plus/diy.php ;
  •     
  • plus/ii.php ;
  •     
  • plus/lndex.php  ;
  •     
  • data/cache/t.php ;
  •     
  • data/cache/x.php  ;
  •     
  • data/config.php;
  •     
  • data/cache/config_user.php ;
  •     
  • data/config_func.php


最后编辑: 郝聪 编辑于2015/08/03 16:34
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]