我們在使用DedeCms做
網(wǎng)站建設(shè)時(shí),安全問題是一個(gè)很嚴(yán)重的問題,經(jīng)常爆出漏洞,每個(gè)漏洞的爆出,影響都是一大片,輕則被人掛廣告、彈框,重則服務(wù)器成為肉機(jī),寶貴數(shù)據(jù)丟失。那么有什么辦法可以提高DedeCms的安全性呢?
先來看看原因吧,為什么PHP程序經(jīng)常出漏洞,其實(shí)是由PHP程序本身決定的。PHP可復(fù)用性低,導(dǎo)致程序結(jié)構(gòu)錯(cuò)綜復(fù)雜,到處是冗余代碼,這樣不僅利于漏洞的產(chǎn)生,還影響漏洞的修得;PHP程序入門簡單且普遍開源,導(dǎo)致很多人都可直接閱讀代碼,搜尋漏洞;這樣便有源源不斷的漏洞被發(fā)現(xiàn)、被修復(fù)、被發(fā)現(xiàn)……。而當(dāng)前流行的PHP系統(tǒng)習(xí)慣用以文件形式做為緩存,這樣就需要開放文件的寫權(quán)限,這無疑成為PHP系統(tǒng)的軟肋。目前針對(duì)PHP系統(tǒng)的攻擊方式,除了已經(jīng)很少出現(xiàn)的“注入”攻擊外,大部分攻擊都是通過系統(tǒng)的某個(gè)漏洞,向可寫文件里插入一句話木馬,以此方式獲得shell。
網(wǎng)站安全從來都是服務(wù)器配置、文件權(quán)限控制和網(wǎng)站程序三者的相互配合,今天主要看看如果對(duì)DedeCms網(wǎng)站程序的改進(jìn)來提高安全性。“
可執(zhí)行的文件不允許被修改,可寫文件不允許被訪問”這是網(wǎng)站權(quán)限控制的根本原則,網(wǎng)站程序在“可寫文件不允許被訪問”方面可做許多工作。就拿DedeCMS來說,我們可以在如下幾個(gè)方式做好保護(hù)。(以下說明在DEDE V55_UTF8版本實(shí)現(xiàn)正常,其他版本未作測試)
一、改名根目錄下的data目錄,或者移動(dòng)到網(wǎng)站目錄外面
data目錄便是最藏污納垢的地方,系統(tǒng)經(jīng)常要往這個(gè)目錄寫數(shù)據(jù),這個(gè)目錄下的任何一個(gè)文件又都可以通過URL訪問到,所以要讓瀏覽器訪問不到里面的文件,就需要將此目錄改名,或者移動(dòng)到網(wǎng)站的目錄外面去。這些,即使別人通過漏洞往文件里寫進(jìn)了一句話木馬,他也找不到此木馬所在的文件路徑,無法繼續(xù)展開攻擊。因?yàn)镈edeCMS程序的不合理,導(dǎo)致改名data目錄動(dòng)作會(huì)比較大,具體做法如下:
1. 將公開的內(nèi)容遷移到pub目錄(或者其它自定義目錄)下,如rss、sitemap、js、enum等,此步驟需要移動(dòng)文件夾,并修改這些文件的生成路徑
2. 修改引用程序目錄
搜索替換“DEDEDATA."/data/” 為 “DEDEDATA."/”,大概替換五六十個(gè)地方;
搜索替換“DEDEDATA.‘/data/” 為 “DEDEDATA.’/”,大概替換五六十個(gè)地方;
搜索“/data/”,按具體情況,修改路徑類似成為:“$DEDEDATA."/”(注意include目錄和后臺(tái)管理目錄都有data文件夾,不需要修改);
3. 修改data文件夾名稱,并修改include/common.inc.php文件里的“DEDEDATA”的值,再在后臺(tái)系統(tǒng)設(shè)置>參數(shù)設(shè)置里修改模板緩存目錄,即可修改完成。以后也可以按照此步驟來更改data文件夾名稱。
二、改名“dede”管理目錄,并加固
如果把后臺(tái)隱藏好了,即使別人獲得了你的管理員賬號(hào)、密碼,他也無從登錄。
1、.在/dede/config.php里,找到如下行:
1//檢驗(yàn)用戶登錄狀態(tài)
2$cuserLogin = new userLogin();
3if($cuserLogin->getUserID()==-1)
4{
5 header("location:login.php?gotopage=".urlencode($dedeNowurl));
6}
把上面代碼,改為:
2、修改/dede/login.php的文件名稱,并對(duì)應(yīng)的修改/dede/templets/login.htm里的表單提交地址;
3、修改/dede/的目錄名稱;
這樣,別人在沒有登錄前,只能訪問/dede/login.php改名后的地址,訪問其他地址均會(huì)獲得404錯(cuò)誤。
當(dāng)然,做了安全加固后,以后DedeCMS的升級(jí)就會(huì)有一些麻煩
dedecms 的安全問題你學(xué)會(huì)了嗎?
DedeCms do we use website building, the security issue is a very serious problem, often broke loopholes broke each vulnerability, the impact is a large, ranging from being linked to advertising, bomb box, heavy server becomes meat grinder, valuable data is lost. So is there any way to improve the security of DedeCms it?
Let's look at the reasons for it, why PHP programs often out vulnerability, in fact, determined by the PHP program itself. PHP reusability low, causing the intricate structure of the program, is full of redundant code, so that not only conducive to the generation of vulnerability, but also affect the vulnerability of cultivation; PHP simple and universal open source program started, resulting in a lot of people can directly read the code, searching for loopholes ; this will have a steady stream of vulnerabilities are found to be repaired, was found ....... The current system is customary for popular PHP file format as cache, so you need to open the file write permissions, which will undoubtedly become a PHP system weakness. Currently the system for PHP attack, has rarely appeared in addition to "inject" attack, the majority of attacks are a loophole through the system to be written into the word Trojan file obtained in this manner shell.