公告:

DEDECMS的安全配置设置

作者:star0312 / 时间:13年前 (2012/11/23) / 分类:DEDECMS / 阅读:1172 / 评论:0

       最近将一个站点升级了一下,原来一直使用的是DEDECMS的5.6 GBK版本,现在升级到DEDECMS5.7 SP1 GBK版本了。倒腾了一下午的时间才弄好了。

      现在网站的安全是很重要的,鉴于DEDEcms的市场占有率很高,很多人“研究”,就有很多漏洞被发现,就像Windows操作系统一样,用的人多了,就会发现一些问题,并不是系统不好,而是用的人多了。(个人观点)

 

     下面记录一下DEDE在配置时需要注意的一些安全问题,对于DEDE来说,安装根目录下的uploads和data文件夹相当重要,主要将这两个目录的安全性设置好了就可以。

 

    另外,HTML目录作为静态生成目录,是需要有读、写权限的,但没必要有执行权限。

 

   下面来说说这几个,目录的设置:

 

第一步:如何取消服务器/主机空间目录脚本的执行权限

=======================================

网站安全中,对目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录data、uploads,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,本篇将针对不同服务器环境来介绍如何取消这两个目录的执行权限,当然我们也建议用户其他一些生成纯静态html的目录,拥有可写入权限的也统统去除执行权限,这样系统会更为安全。

Windows下的IIS 

 

先来说下IIS6.0

打开IIS中站点,在站点uploads目录、data目录以及静态html生成目录点击右键,菜单中选择“属性”,在目录属性面板选择执行权限为“无”即可。(如图1)

DEDECMS的安全配置设置

(图1)

 IIS7/IIS7.5/IIS8

接下来是windows server 2008下的IIS7,另外IIS7.5以及windows server2012的IIS8设置大同小异。

IIS7也类似于IIS6.0,选择站点对应的目录,data、uploads及静态html文件目录,双击功能试图面板中的“处理程序映射”(如图2)

DEDECMS的安全配置设置

(图2)

在“编辑功能权限……”中,我们直接去除脚本的执行权限即可。(如图3)

DEDECMS的安全配置设置

(图3)

 

Apache下目录脚本的执行权限设置

独立主机配置

在Apache中,没有Windows 下IIS的图形管理界面,我们需要手工修改下apache的配置文件,来进行目录脚本的执行权限的设定。
首先我们找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中(如图4)。

DEDECMS的安全配置设置

(图4)

打开httpd.conf文件,找到内容中如图5的位置:

DEDECMS的安全配置设置

(图5)

 

将需要限制执行脚本文件的目录配置添加到下方:

配置内容为:

 

<Directory "DIR">       
                                
<FilesMatch ".(php|asp|jsp)$">        
                                
     Deny from all       
                                
</FilesMatch>   
                                
</Directory>

 

 配置内容中的DIR为需要限制执行脚本文件的目录,FilesMatch后的内容为需要限定的执行的脚本后缀名。例如:这里需要禁止测试站点uploads文件夹下的PHP,ASP,JSP脚本的运行,则进行如下图6配置:

DEDECMS的安全配置设置

(图6)

 

在配置完成后,重启一下apache,配置便生效!
在操作前,uploads文件夹下我新建了一个index.php文件,图7为未作配置前访问情况

DEDECMS的安全配置设置

(图7)

图8为重启apache后访问该页面的效果。

DEDECMS的安全配置设置

(图8)

虚拟主机/空间配置


在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。
规则内容如下:

 

<Directory "DIR">       
                               
<FilesMatch ".(php|asp|jsp)$">        
                               
    Deny from all       
                               
</FilesMatch>   
                               
</Directory>

 

针对uploads,data,templets 三个目录做了执行php脚本限制;
将如上内容存储至到.hatccess文件中,将该文件存放到你的站点根目录下,

这样,目录脚本的执行权限就控制好了,规则上传前后的效果同图7,图8。

到这里目录的安全设置就差不多好了。但是DATA里面基本上包含了所有的配置文件,对整个站点的安全相当重要,如果不放心可以进行下一步设置:

在这里呢,也可以登录到DEDECMS后台,看一下系统的建议:

1.强烈建议data/common.inc.php文件属性设置为644(Linux/Unix)或只读(NT);
2.强烈建议将data目录搬移到Web根目录以外;

=========================================

第二步:设置data/common.inc.php文件属性设置为644(Linux/Unix)或只读(NT)

=========================================

这一步的设置比较简单,如果你的网站放置在自己的服务器上,windows操作系统直接找到DATA目录下的common.inc.php文件右键属性里面设置成只读就可以了。

如果是linux或者虚拟主机用户使用FTP软件(比如FlashFXP)设置成664(*nix)或者只读(NT)就可以了。

 

=========================================

第三步:设置将data目录搬移到Web根目录以外

=========================================

 

data目录是系统缓存和配置文件的目录,一般都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权限,更是非常危险,所以我们建议将这个data目录搬移出Web可访问目录之外。本篇将介绍如何将data目录搬移出Web访问目录。

 

1.将data目录转移到非Web目录

我们这里举例“D:\dedecms\v57”为我们系统的根目录,我们需要将目录下的data文件夹(如图1)迁移要上一级目录(非Web目录),简单的办法直接剪切或者拷贝即可。

DEDECMS的安全配置设置

我们移动上一级目录中,注意观察文件路径。

DEDECMS的安全配置设置

 

2.修改DEDEDATA目录的配置常量

找到系统目录下/include/common.inc.php文件,修改DEDEDATA常量为你的系统目录。

DEDECMS的安全配置设置

 

3.配置tplcache缓存文件目录

进入系统后台,在配置中修改tplcache目录为你想对目录。

DEDECMS的安全配置设置

 

好了,这样我们就将data目录顺利迁移出去了。

 

本操作目前仅在V57系统中测试有效,其他版本系统可能需要进行调整.

 

恩,做完这些,你的网站在应用程序层面就比较安全了(相对),但网站的安全涉及到很多方面,操作系统,其他安装的应用服务,网络,端口,人为因素等等。没有绝对的安全,只有相对的更安全。

 

  • 我的QQ二维码
  • QQ群
  • 我的微信二维码
  • 微信公众号

没有评论,留下你的印记,证明你来过。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。