站长之家 - 站长资讯 - 易采站长站

当前位置: > 建站教程 > 源码教程 > 博客日志 >

DedeCMS站点高级安全策略Linux篇

2015-04-18 10:47 | 来源:网络整理 | 编辑:秋军 |

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的文件,内容如下: ServerName admin.dede5139 ServerAdmin webmaster@localhost DocumentRoot /var/dedecms-admin AssignUserId www-admin www-dataOptions FollowSymLinks AllowOverride NoneOptions Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all创建完成后我们重新启动服务器,在终端输入: sudo service apache2 restart 这里我们给后台站点域名设置为admin.dedecms5139用户可以根据本身情况设定更为复杂的域名情势,例如:dedesiteadmin2008.dede5139 然后在体系host纪录中添加一条指向站点域名对应ip的纪录,保证其能够正常访问。

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

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

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

因为我们直接移动了管理后台文件目录,所以我们访问admin.dede5139会出现报错,这时候我们必要对体系中的目录配置进行调整。

(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禁用掉某些函数,配合体系做好各个方面的安全设置。

假如您必要了解Windows Server 2012下如何搭建配置DedeCMS环境,可以查看:《Windows Server 2012 搭建PHP+MySQL环境安装DedeCMS体系》

6.Nginx设置

因为Nginx轻巧容易维护,许多站长也会选择Nginx作为站点服务器,设置思路同上文类似,但有稍许的不同,下面我们就来单独对其进行介绍。

6.1.安装Nginx以及php5-fpm

终端中输入:sudo apt-get install nginx 以及:sudo apt-get install php5-fpm (假如已经安装了Apache的用户必要制止Apache,以免同Nginx冲突,可以使用饬令行:sudo service apache2 stop)

6.2.添加站点

同样我们必要添加两个站点,一个前台“down.admin5.com/dede5139”一个后台“admin.dede5139”,基本配置如下: down.admin5.com/dede5139站点: server { root /var/dedecms; index index.html index.htm index.php; server_name down.admin5.com/dede5139; ... location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param script_FILENAME /var/dedecms$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } } admin.dede5139站点配置: server { root /var/dedecms-admin; index index.html index.htm index.php; server_name admin.dede5139; ... location ~ .php$ { fastcgi_pass 127.0.0.1:9001; fastcgi_param script_FILENAME /var/dedecms-admin$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } } 这里重要是admin的站点采用的9001端口,以及站点目录重新做了调整。

6.3.指派站点文件访问控制权限

同apache的apache2-mpm-itk不同,php5-fpm默认就可以进行权限控制。 在文件/etc/php5/fpm/pool.d/down.admin5.com/conf中则是默认采用了“www-data”作为站点的控制用户,所以为了后台具有对应的操作权限,我们必要添加一个专门的控制权限。 cd /etc/php5/fpm cp down.admin5.com/conf admin.conf 修改admin.conf文件 其中我们只要将: user = www-admin group = www-data listen = 127.0.0.1:9001 这几个地方做一个更改即可。 完成后重启下服务 sudo service php5-fpm restart sudo service nginx restart

6.4.nginx下取消目录实行的权限

在《Linux下安装DedeCMS及安全设置》 中介绍了apache下如何取消目录实行权限,nginx也是类似,但配置方法稍有不同: server { ... location ~* ^/uploads/.*.(php|php5)$ { deny all; } } 按照这个方法,将其他目录也同样设置即可。

  • WordPress站点出现404错误时邮件通知管理员的方法
  • Dedecms待审核章在列表页显示的方法
  • WordPress站点实现分类目录订阅功能实例
  • wordpress博客多站点获取当前博客信息示例
  • WordPress高级自定义布局的内容编辑器(TinyMCE)模板
  • 多个WordPress站点使用同一数据库的方法
  • wordpress搭建中英文双语言或多语言的网站详解
  • 织梦dedecms整合discuz论坛的操作方法
  • 织梦dedecms发文章上传图片提示:Upload filetype not allow 的处理解决方法
  • dedecms生成页面出现/include/templets/default/index.htm Not Found解决
  • 网友评论

    关于我们 - 联系我们 - 广告服务 - 版权声明 - 人才招聘 - 友情链接 - 网站地图 - 帮助 - -

    CopyRight © 2010-2016 源码下载 easck.com , All Rights Reserved

    蒙公网安备 15052402000103号

    蒙ICP备14002389-1号