Linux下的DedeCMS站点高级安全策略

  • 时间:
  • 浏览:36

  在Linux环境下搭建安装DedeCMS本篇不再具体说明,当我们可不时要点击《Linux下安装DedeCMS及安全设置教程》来查看安装和基本安全配置每项的内容。

  本篇将在事先的基础上进一步来对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用户可不时要根据另一方状态设定更为复杂性的域名形式,类似于 :dedesiteadmin808.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禁用掉一点函数,配合系统做好各个方面的安全设置。

Tags: DedeCMS   DedeCMS安全策略   DedeCMS教程  
责任编辑:qjt198895