Linux下织梦DedeCMS站点安全策略

网站安全至关重要,织梦dede因为使用的人非常多,所以安全问题也显得尤为突出。本篇将进一步来对Linux下的DedeCMS进行安全配置,以保证我们的站点能够更加安全的运行在服务器上。 1.安装Apache文件访问权限模块 为了保证每个虚拟站点都能够拥有自己独立的文件
网站安全至关重要,织梦dede因为使用的人非常多,所以安全问题也显得尤为突出。本篇将进一步来对Linux下的DedeCMS进行安全配置,以保证我们的站点能够更加安全的运行在服务器上。  

1.安装Apache文件访问权限模块

为了保证每个虚拟站点都能够拥有自己独立的文件访问权限,我们需要安装Apache安全权限分离模块,在终端中输入: sudo apt-get install apache2-mpm-itk    

2.添加管理后台站点控制帐号

接下来我们需要再添加一个后台站点的Apache运行帐号,在终端中输入: sudo useradd -g www-data -d /dev/null -s /usr/sbin/nologin www-admin 这样我们就添加了一个www-admin帐号,专门用于控制后台站点的文件访问权限。    

3.将后台管理目录移出,并且创建独立站点

默认安装后,后台的管理目录是在站点更目录下的/dede,为了安全起见我们需要将这个目录移出,但为了能够正常管理站点,我们需要将这个后台目录创建独立站点。  

3.1.移动后台管理目录

我们先创建一个目录,这个目录专门用于存放后台站点文件,在终端中输入: sudo mkdir /var/dedecms-admin 然后将织梦后台移动到这个文件夹中,输入: sudo mv /var/dedecms/dede/* /var/dedecms-admin/  

3.2.创建虚拟站点

我们需要创建一个新的站点用于显示后台,我们可以在/etc/apache2/site-enabled/目录中创建一个文件名为:default-admin的文件,内容如下: <VirtualHost *:80> ServerName admin.dede.com ServerAdmin webmaster@localhost DocumentRoot /var/dedecms-admin AssignUserId www-admin www-data <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/dedecms-admin/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> 创建完成后我们重新启动服务器,在终端输入: sudo service apache2 restart 这里我们给后台站点域名设置为admin.dedecms.com用户可以根据自己情况设定更为复杂的域名形式,例如:dedesiteadmin2008.dede.com 然后在系统host纪录中添加一条指向站点域名对应ip的纪录,保证其能够正常访问。  

3.3.给管理站点目录设定权限控制帐户

为了保证后台文件访问的安全,我们也需要给它设定文件访问权限,在终端中输入: sudo chown www-admin.www-data /var/dedecms-admin/ 这样就给这个目录指定了www-admin的访问帐号。  

3.4.调整后台文件配置,保证后台正常访问

由于我们直接移动了管理后台文件目录,所以我们访问admin.dede.com会出现报错,这时候我们需要对系统中的目录配置进行调整。   (1)找到/var/dedecms-admin/config.php,将第12行 require_once(DEDEADMIN.'/../include/common.inc.php'); 改为 require_once(DEDEADMIN.'/../dedecms/include/common.inc.php'); 然后在这段代码下面加上: $cfg_plus_dir = $cfg_phpurl = $cfg_basehost."/".$cfg_plus_dir;   (2)找到/var/dedecms-admin/login.php,将11行 require_once(dirname(__FILE__).'/../include/common.inc.php'); 改为 require_once(dirname(__FILE__).'/../dedecms/include/common.inc.php');   (3)找到/var/dedecms/data/safe/inc_safe_config.php,第2行,改为 $safe_gdopen = '1,2,3,4,5,7';   (4)找到/var/dedecms-admin/exit.php,第11行 require_once(dirname(__FILE__).'/../include/common.inc.php'); 改为 require_once(dirname(__FILE__).'/../dedecms/include/common.inc.php');   (5)复制include中的相关文件 我们需要将include文件夹下的一些文件拷贝到管理后台站点中以保证后台正常使用: mkdir /var/dedecms-admin/include/dialog sudo cp -R /var/dedecms/include/dialog/* /var/dedecms-admin/include/dialog mkdir /var/dedecms-admin/include/js sudo cp -R /var/dedecms/include/js/* /var/dedecms-admin/include/js sudo mkdir /var/dedecms-admin/include/ckeditor sudo cp -R /var/dedecms/include/ckeditor/* /var/dedecms-admin/include/ckeditor  

4.重新分配前台Apache用户权限

设定完成后我们需要给前台站点重新指派权限,在终端输入: sudo chown -R www-admin.www-data /var/dedecms/ 这样就把前台用户设定为了www-admin,然后再执行: sudo chmod -R 755 /var/dedecms/ 这样设置后后台管理就具有了站点操作权限,但前台浏览用户没有修改文件的权限了。 但这里前台uploads需要有可上传的权限,所以还需要执行: sudo chmod -R 777 uploads/  

5.完成安全配置

这样一来我们就完成了系统的安全设置,做到了前后台的权限分离,当然您也需要配置下php.ini禁用掉某些函数,配合系统做好各个方面的安全设置。


并没有100%的安全策略,因为人外有人,我们只能尽力做好安全措施。做好以上几点相信你的织梦站点也将更加安全
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank
未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打
我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
我们在用到织梦dedecms软件模型的时候,手动指定地址通常只能是引用其他网址或者链接,我们要实现直接选取站内的文件,这个要怎么操作呢?下面小编一步步为您解答,最终效果如下图所示: 实现教程 1、打开 /dede/templets/soft_add.htm 找到 input type=text
我们有时候需要对织梦文档的点击量进行批量维护,比如采集来的文章,点击量都为0,需要批量修改,可以用到如下方法1。 1、在数据库里运行下面的代码就可以了,文章的点击量变得随机从500到1000 UPDATE dede_archives SET click=FLOOR(500 + (RAND() * 1000))
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy