用DedeCms搭建的网站防止被挂马的方法
用DedeCms搭建的网站防止被挂马的方法
2011-06-09 13:00:58 来源:至顶网
抢沙发
2011-06-09 13:00:58 来源:至顶网
摘要:DedeCms经常爆出漏洞,每个漏洞的爆出,影响都是一大片,轻则被人挂广告、弹框,重则服务器成为肉机,宝贵数据丢失。那么有什么办法可以提高DedeCms的安全性呢?
关键词:
DedeCms
漏洞
做为国内使用最为广泛使用人数最多的CMS之一,
DedeCms经常爆出
漏洞,每个
漏洞的爆出,影响都是一大片,轻则被人挂广告、弹框,重则服务器成为肉机,宝贵数据丢失。那么有什么办法可以提高
DedeCms的安全性呢?
先来看看原因吧,为什么PHP程序经常出
漏洞,其实是由PHP程序本身决定的。PHP可复用性低,导致程序结构错综复杂,到处是冗余代码,这样不仅利于
漏洞的产生,还影响
漏洞的修得;PHP程序入门简单且普遍开源,导致很多人都可直接阅读代码,搜寻
漏洞;这样便有源源不断的
漏洞被发现、被修复、被发现……而当前流行的PHP系统习惯用以文件形式做为缓存,这样就需要开放文件的写权限,这无疑成为PHP系统的软肋。目前针对PHP系统的
攻击方式,除了已经很少出现的“注入”
攻击外,大部分
攻击都是通过系统的某个
漏洞,向可写文件里插入一句话木马,以此方式获得shell。
网站安全从来都是服务器配置、文件权限控制和网站程序三者的相互配合,今天主要看看如果对
DedeCms网站程序的改进来提高安全性。“可执行的文件不允许被修改,可写文件不允许被访问”这是网站权限控制的根本原则,网站程序在“可写文件不允许被访问”方面可做许多工作。就拿
DedeCms来说,我们可以在如下几个方式做好保护。
1、改名根目录下的data目录,或者移动到网站目录外面data目录便是最藏污纳垢的地方,系统经常要往这个目录写数据,这个目录下的任何一个文件又都可以通过URL访问到,所以要让浏览器访问不到里面的文件,就需要将此目录改名,或者移动到网站的目录外面去。这些,即使别人通过
漏洞往文件里写进了一句话木马,他也找不到此木马所在的文件路径,无法继续展开
攻击。因为
DedeCms程序的不合理,导致改名data目录动作会比较大,具体做法如下:
a. 将公开的内容迁移到pub目录(或者其它自定义目录)下,如rss、sitemap、js、enum等,此步骤需要移动文件夹,并修改这些文件的生成路径b. 修改引用程序目录搜索替换“DEDEDATA.”/data/“ 为 ”DEDEDATA.“/”,大概替换五六十个地方;搜索替换“DEDEDATA.'/data/” 为 “DEDEDATA.'/”,大概替换五六十个地方;搜索“/data/”,按具体情况,修改路径类似成为:“$DEDEDATA.”/“(注意include目录和后台管理目录都有data文件夹,不需要修改);c. 修改data文件夹名称,并修改include/common.inc.php文件里的”DEDEDATA“的值,再在后台系统设置》参数设置里修改模板缓存目录,即可修改完成。以后也可以按照此步骤来更改data文件夹名称。
2、改名”dede“管理目录,并加固如果把后台隐藏好了,即使别人获得了你的管理员账号、密码,他也无从登录。
a.在/dede/config.php里,找到如下行:
以下为引用的内容:
1 //检验用户登录状态2 $cuserLogin = new userLogin();3 if($cuserLogin->getUserID()==-1)4 {5 header(”location:login.php?gotopage=“.urlencode($dedeNowurl));6 }
把上面代码,改为:
以下为引用的内容:
1 //检验用户登录状态2 $cuserLogin = new userLogin();3 if($cuserLogin->getUserID()==-1)4 {5 //header(”location:login.php?gotopage=“.urlencode($dedeNowurl));6 header(”HTTP/1.0 404 Not Found“);7 exit();8 }
b.修改/dede/login.php的文件名称,并对应的修改/dede/templets/login.htm里的表单提交地址;c.修改/dede/的目录名称;这样,别人在没有登录前,只能访问/dede/login.php改名后的地址,访问其他地址均会获得404错误。
当然,做了安全加固后,以后
DedeCms的升级就会有一些麻烦。
第四十一届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:kaifangli
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。