Linux下dede程序系统安全防护
更新时间:2023-04-10 23:41:01 阅读量: 实用文档 文档下载
- Linux命令推荐度:
- 相关推荐
Linux 下Dede 程序系统安全防护
安全狗第1页共15页Linux 下Dede 程序系统安全防护
于亮
安全狗技术支持部
2014年5月
Linux 下Dede 程序系统安全防护
安全狗第2页共15页目录
第1章
概述...................................................................................................................................11.1
目的...................................................................................................................................11.2
适用范围............................................................................................................................11.3
适用版本............................................................................................................................1第2章
DEDE 程序目录权限..................................................................................................................................................................................................................222.1
设置D EDE 程序文件权限..................................................................................................2第3章
设置DEDE 目录PHP 执行权限..............................................................................................................................................................................333.1
A PACHE 下设置D EDE 系统可写目录无PHP 执行权限......................................................23.2
NGINX 下设置D EDE 系统可写目录无PHP 执行权限........................................................3第4章
迁移DEDE 风险目录................................................................................................................................................................................................................444.1
迁移DATA 目录迁移到WEB 以外目录...............................................................................44.2
后台管理目录移出,并且创建独立站点..........................................................................6第5章
PHP.INI 禁用掉某些风险函数........................................................................................115.1
PHP.INI 中DISABLE _FUNCTIONS 禁止风险函数.................................................................115.2
PHP.INI 中OPEN _BASEDIR 控制PHP 执行路径.................................................................11第6章
MYSQL 账号..................................................................................................................136.1
使用独立M Y SQL 用户权限............................................................................................13第7章
其它需注意问题..............................................................................................................147.1其它需注意问题.. (14)
Linux 下Dede 程序系统安全防护
安全狗第1页共15页第1章概述
1.1目的
Dede 是一个非常好的CMS 程序,简单容易用,造福了许许多多中小站长。Dede 的安全问题一直使人质疑,本文档主要讲述Dede 网站如何防止被挂黑链或木马,防止系统被入侵。
1.2适用范围
本文档使用者包括:服务器系统管理员、Linux 工程师、网络安全从业人员。
1.3适用版本
Linux 系列服务器;
Linux 下Dede 程序系统安全防护
安全狗第2页共15页第2章Dede 程序目录权限
2.1设置Dede 程序文件权限
2.1.1Linux 的安全权限基本概念
读权限R 。简单的说就是打开文件查看内容的权限,在web 服务器中,若文件没有打开权限,则web 服务器则视为该文件不存在,发送404file not found 错误,用数字4表示。
写权限W 。一个文件若没有写的权限,那么该文件则无法更改,文件夹若没有写权限,则该文件夹下无法创建新文件,用数字2表示。
执行权限X 。程序文件若要执行,必须有执行权限,否则无法执行。打开一个文件夹也是执行,所以文件夹若没有执行权限,则无法被打开。用数字1表示。
很多人发现Linux 系统按照Dede 论坛的安全设置后,登陆后台一片空白,
或者访问主站也是一片空白,因为你没有给文件X 的权限,所以没法执行。
Linux 后台会有3个组,其中一个是用户组,只要给用户组执行的权限就可以后台打开了,其它2个组不要给执行权限,因为没有必要在浏览器中给php 文件的执行权限,但是一般的html 文件需要给执行权限的,因为需要访问的,但是不要给写入的权限。
include 、member 、plus 、后台管理目录设置为可执行脚本,可读,但不可写入。这几个目录一般都没问题,我就不讲了。我主要讲讲“data 、templets 、uploads 、a 或5.3的html 目录,设置可读写,不可执行的权限”在Linux 环境下如何设置。
所以data 的权限可以这样设置:
Linux 下Dede 程序系统安全防护
安全狗第3页共15
页所有的php
文件可以这样设置:
这样除了你可以在后台访问data 外,其它人是不可以打开data 的,另外php 文件一定不要给写或执行的权限。
至于a
或者你的栏目目录的权限可以这样设置:
这样它有执行的权限,就可以正常访问,但是不要给它写入的权限。
第3章设置Dede 目录PHP 执行权限
3.1Apache 下设置Dede 系统可写目录无PHP 执行权限我们可以给DedeCMS 几个目录关闭可执行权限,这里的可执行是指在Apache 中无法运
Linux 下Dede 程序系统安全防护
安全狗第4页共15页行php 脚本,那我们则可以在Apache 目录配置中做如下的设置(虚拟机可设置.htaccess )
...
php_admin_flag engine off
php_admin_flag engine off
php_admin_flag engine off
php_admin_flag engine off
php_admin_flag engine off
因为我们这里是PHP5,所以可以按照上面的方法设置。如果是老版本的PHP ,那就只能通过:
Order allow,deny
Deny from all
来设定。
3.2nginx 下设置Dede 系统可写目录无PHP 执行权限配置方法:
server {
Linux 下Dede 程序系统安全防护
安全狗第5页共15页...
location ~*^/uploads/.*.(php|php5)$
{
deny all;
}
}
第4章迁移Dede 风险目录
4.1迁移data 目录迁移到web 以外目录
data 目录是系统缓存和配置文件的目录,一般都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权限,更是非常危险,所以我们建议将这个data 目录搬移出Web 可访问目录之外。本篇将介绍如何将data 目录搬移出Web 访问目录。
1.将data 目录转移到非Web 目录
我们这里举例“D:\dedecms\v57”为我们系统的根目录,我们需要将目录下的data 文件夹(如图1)迁移要上一级目录(非Web 目录),简单的办法直接剪切或者拷贝即可。
Linux 下Dede 程序系统安全防护
安全狗第6页共15页
我们移动上一级目录中,注意观察文件路径。
2.修改DEDEDATA 目录的配置常量
找到系统目录下/include/common.inc.php 文件,修改DEDEDATA 常量为你的系
统目录。
3.配置tplcache 缓存文件目录
进入系统后台,在配置中修改tplcache
目录为你想对目录。
Linux 下Dede 程序系统安全防护
安全狗第7页共15页好了,这样我们就将data 目录顺利迁移出去了。
4.2后台管理目录移出,并且创建独立站点
4.2.1远程连接的安全性配置默认安装后,后台的管理目录是在站点更目录下的/dede ,为了安全起见我们需要将这个目录移出或者改名,但为了能够正常管理站点,我们需要将这个后台目录创建独立站点。
1.移动后台管理目录
我们先创建一个目录,这个目录专门用于存放后台站点文件,在终端中输入:
sudo mkdir /var/dedecms-admin
然后将织梦后台移动到这个文件夹中,输入:
sudo mv /var/dedecms/dede/*/var/dedecms-admin/
2.创建虚拟站点
我们需要创建一个新的站点用于显示后台,我们可以在/etc/apache2/site-enabled/目录中创建一个文件名为:default-admin 的文件,内容如下:
ServerName ce52245cbd64783e08122b60
ServerAdmin webmaster@localhost
DocumentRoot /var/dedecms-admin
AssignUserId www-admin www-data
Options FollowSymLinks
AllowOverride None
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
创建完成后我们重新启动服务器,在终端输入:
Linux 下Dede 程序系统安全防护
安全狗第8页共15页sudo service apache2restart
这里我们给后台站点域名设置为ce52245cbd64783e08122b60 用户可以根据自己情况设定更为复杂的域名形式,例如:ce52245cbd64783e08122b60
然后在系统host 纪录中添加一条指向站点域名对应ip 的纪录,保证其能够正常访问。
3.给管理站点目录设定权限控制帐户
为了保证后台文件访问的安全,我们也需要给它设定文件访问权限,在终端中输入:sudo chown www-admin.www-data /var/dedecms-admin/
这样就给这个目录指定了www-admin 的访问帐号。
4.调整后台文件配置,保证后台正常访问
由于我们直接移动了管理后台文件目录,所以我们访问ce52245cbd64783e08122b60 会出现报错,这时候我们需要对系统中的目录配置进行调整。
(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 文件夹下的一些文件拷贝到管理后台站点中以保证后台正常使用:
Linux 下Dede 程序系统安全防护
安全狗第9页共15页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 777uploads/
5.完成安全配置
这样一来我们就完成了系统的安全设置,做到了前后台的权限分离
Linux 下Dede 程序系统安全防护
安全狗第10页共15页第5章PHP.ini 禁用掉某些风险函数
5.1PHP.ini 中disable_functions 禁止风险函数
在PHP.ini 中找到disable_functions 等号后添加上以下风险函数:
phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,i ni_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_serve r,get_current_user,leak,putenv,popen,opendir,escapeshellarg,escapeshellcmd,proc_close,show_sou rce,get_cfg_var
5.2PHP.ini 中open_basedir 控制PHP 执行路径
在PHP.ini 中找到open_basedir 等号后添加上PHP 可执行的路径:
open_basedir =/data/www/dedecms:/tmp:/data/www/ce52245cbd64783e08122b60
Linux 下Dede 程序系统安全防护
安全狗第11页共15页第6章MySQL 账号
6.1使用独立MySQL 用户权限
Dede 使用MySQL ,不要为了方便,直接使用MySQL root 用户的权限,应独立设置MySQL 用户帐号,许可权限为:SELECT,INSERT ,UPDATE ,DELETECREATE ,DROP ,INDEX ,ALTER ,CREATE TEMPORARY TABLES 由于DEDE 并没有任何地方使用存储过程,因此务必禁用FILE 、EXECUTE 等执行存储过程或文件操作的权限。
第7章其它需注意问题
7.1其它需注意问题
1.保持Dede 更新,及时打补丁。
2.安装好Dede 后及时把install 文件夹删除。
3.后台管理目录改名,最好是改成MD5形式的,最好复杂点。
4.DedeCms 万能安全防护代码
需要的手工在config_base.php 里加上
打开config_base.php 找到
//禁止用户提交某些特殊变量
$ckvs =Array('_GET','_POST','_COOKIE','_FILES');
foreach($ckvs as $ckv){
if(is_array($$ckv)){
foreach($$ckv AS $key =>$value)
if(eregi("^(cfg_|globals)",$key))unset(${$ckv}[$key]);
}
}
改为下面代码
复制代码
//把get 、post 、cookie 里的
$ckvs =Array('_GET','_POST','_COOKIE');
foreach($ckvs as $ckv){
if(is_array($$ckv)){
foreach($$ckv AS $key =>$value)
if(!empty($value)){
${$ckv}[$key]=str_replace('<'.'?','&'.'lt;'.'?',$value);
${$ckv}[$key]=str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]);
Linux 下Dede 程序系统安全防护
安全狗第12页共15页}
if(eregi("^cfg_|globals",$key))unset(${$ckv}[$key]);
}
}
//检测上传的文件中是否有PHP 代码,有直接退出处理
if (is_array($_FILES)){
foreach($_FILES AS $name =>$value){
${$name}=$value['tmp_name'];
$fp =@fopen(${$name},'r');
$fstr =@fread($fp,filesize(${$name}));
@fclose($fp);
if($fstr!=''&&ereg("<\?",$fstr)){
echo "你上传的文件中含有危险内容,程序终止处理!";
exit();
}
}
}
这样处理之后,安全上理论上可中做到一劳永逸,但缺点是使用此功能后,不能在线上传PHP 文件,如果你的站点同时支持asp 、aspx 等,在此基础上修改一下上述代码即可5.如果是使用HTML 可以把plus 下的相应文件和根目录下的index.php 删除。
6.不用留言本的可以把如:ce52245cbd64783e08122b60/plus 下的guestbook 删除。
7.不用会员的可以把member 删除。
ce52245cbd64783e08122b60 后台的文件管理(管理目录下file_manage_xxx.php )
,不用的可以做掉,这个不是很安全,至少进了后台上传小马很方便。
9.下载发布功能(管理目录下soft__xxx_xxx.php )
,不用的话可以做掉,这个也比较容易上传小马。
最安全地方式:本地发布html ,然后上传到空间。不包含任何动态内容,理论上最安全。
Linux下Dede程序系统安全防护
谢谢!
安全狗第13页共15页
正在阅读:
Linux下dede程序系统安全防护04-10
母婴护理教学大纲01-07
学前儿童艺术教育(音乐)作业答案03-19
2017-2018版高中数学第一章立体几何初步疑难规律方法学案北师大版必修210-15
“德”与“才”下水作文04-09
新北师大版八年级数学下册第二章一元一次不等式和一元一次不等式组单元测试103-14
女生对男生表白的话02-10
不锈钢渣资源再生利用技术的研究03-26
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 安全防护
- 程序
- 系统
- Linux
- dede
- 浙江大学2012秋土木工程_远程教育会计学第1次作业
- 2022年中考生物考点总动员系列专题17性别和性别决定.doc
- 北京中医药大学《中药学Z》平时作业7
- 建筑施工机械设备系统安装操作与生产基地安全作业质量技术标准及
- 北京成立年产xx套增强现实(AR)设备公司可行性分析报告
- 重庆中考英语B卷试题及答案
- 2022年吉林省吉林市《教师基本素养及教育教学综合能力知识》教师
- 2022年江苏大学汽车与交通工程学院801理论力学考研基础五套测试
- 班干部失职检讨书范文
- 实验室给排水基本要求
- 最新2012人民检察院刑事诉讼规则-新旧对照
- 医疗器械稽查资料汇编
- 校园歌手大赛主持词精品
- 培训开发讲师手册(DOC 24页)
- 1.《师恩难忘》教学设计_教案教学设计
- 高中化学专题三微粒间作用力与物质性质教案6苏教版选修3(3)
- 农村中小学美术教育的落后现状之背后原因
- 基于PLC组态控制的空调压缩机性能测控系统
- 2014年将被社会淘汰的人群
- GRE写作2015全面突破备考必读-智课教育旗下智课教育