dedecms(織夢CMS)安全設(shè)置之文件夾目錄權(quán)限詳細解說

[重要通告]如您遇疑難雜癥,本站支持知識付費業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時間哦!

前幾天我香港的服務(wù)器,用幾個dedecms的站,好像被入侵了,包括帝國也受害了,一氣之下把dedecms的站全部刪除了,畢竟也沒多大用處了,現(xiàn)在想要處理的事兒還得重新記憶,那就是還得為以后做點準(zhǔn)備,寫一篇關(guān)于dedecms目錄安全的文章;

織夢CMS--DedeCMS 目錄權(quán)限安全設(shè)置詳解

權(quán)限設(shè)置

1、a?文件夾是靜態(tài)生成文件的存放目錄,所以拒絕腳本執(zhí)行 允許寫入

2、data?是緩存文件、數(shù)據(jù)等,所以充許寫入,但是因為這里面的文件引入到其它地方進行使用,所以要拒絕腳本執(zhí)行。

3、dede?是后臺管理目錄,并且這個一般情況下不需要修改,所以允許腳本執(zhí)行,拒絕寫入。(建議修改后臺dede的目錄名,減少一個風(fēng)險)

4、images?僅是存系統(tǒng)圖片, 所以拒絕腳本執(zhí)行,拒絕寫入。

5、include?這個目錄是系統(tǒng)庫,一般情況下也是引入到其它地方使用,但是也有一些文件需要執(zhí)行,比如驗證碼,但是一般不需要修改。所以允許腳本執(zhí)行,拒絕寫入。

6、install?這個目錄在系統(tǒng)安全完之后,直接刪除, 系統(tǒng)部署之后,這個文件夾就沒有用了。

7、member?如果不使用會員系統(tǒng),這個目錄夾也可以直接刪除。

8、plus?這個插件目錄,不需要修改的,允許腳本執(zhí)行,拒絕寫入。

9、special?這個專題文件夾,一般我們會改名。與a目錄一樣,拒絕腳本執(zhí)行,允許寫入

10、templets?這相模板目錄,拒絕執(zhí)行,拒絕寫入。拒絕寫入之后,比較麻煩,如果修改模板,要先允許寫入,再修改再去拒絕寫入,但是不要嫌麻煩,畢竟為了安全嘛。

11、uploads?是上傳目錄,不用說必須拒絕腳本,允許寫入,一個不小心,黑客就給你上傳個木馬上來了。

12、將data目錄移到根目錄之外,這也是官方要求做的,但是不得不說,這會帶來很多問題,比如訪問根目錄下面的index.php會了錯,三級聯(lián)動也會出錯。

index.php 可以通過修改代碼解決,如果你不需要三級聯(lián)動功能,可以移出data。

操作方法:

(1)修改/include/common.inc.php

將 define('DEDEDATA', DEDEROOT.'/data');

改成: define('DEDEDATA', DEDEROOT.'/../data');

(2)到后臺系統(tǒng)基本設(shè)置->性能選項 里面設(shè)置 模板緩存目錄為 /../data/tplcache。

刪除以下文件夾和文件

member 會員文件夾整個刪除

special 專題文件夾整個刪除

install 安裝文件夾整個刪除

/templets/default 官方默認(rèn)模板這個文件夾刪除

plus 文件夾除了以下 1個文件夾 和 5個php文件,其他的文件統(tǒng)統(tǒng)刪除

/plus/img (這個文件夾)

/plus/count.php

/plus/diy.php

/plus/list.php

/plus/search.php

/plus/view.php

把 dede 后臺文件夾改名,改復(fù)雜一點,改成我都不認(rèn)識,每次進入ftp查看。

打開 /include/dialog/select_soft_post.php 找到

$fullfilename?=?$cfg_basedir.$activepath."/".$filename;

在它上面加入

if?(preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i',?trim($filename)))?{
ShowMsg("你指定的文件名被系統(tǒng)禁止!",'javascript:;');
exit();
}

打開 /dede/media_add.php 找到

$fullfilename?=?$cfg_basedir.$filename;

在它上面加入

if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))){
ShowMsg("你指定的文件名被系統(tǒng)禁止!",'java script:;');
exit();
}

在買的模板里面檢查整站備份文件夾里 模板 和 文檔圖片文件夾 是否有掛馬和

每一個跟模板有關(guān)的js文件都要一一打開來細心檢查,因為掛馬很多在js文件中,不然你前面和后面的工作都白做了。

1、每一個跟模板有關(guān)的css 和 images 文件夾下都要細心檢查是否有后門文件,除了圖片文件、css文件、字體文件,其他的一律刪除,刪錯了也不用擔(dān)心,有整站打包的備份在。

2、每一個模板htm文件都要細心檢查是否有掛馬代碼存在,檢查你的模板文件夾里是否有后門文件,比如php文件,asp文件,其他可疑的格式文件一律刪除,刪錯了也不用擔(dān)心,有整站打包的備份在。

3、你備份文件中的文檔圖片文件夾 uploads 文件夾,每一個文件夾都要打開,都要細心檢查是否有后門文件,除了圖片文件和你的附件,其他的一律刪除,刪錯了也不用擔(dān)心,有整站打包的備份在。

4、/data/common.inc.php 和? /data/config.cache.inc.php 一會配合打包要用到,所以也要檢查。

5、/include/extend.func.php 可能有二次開發(fā)的自定義方法在里面,所以也要檢查。

6、其他你曾經(jīng)二次開發(fā)修改過的文件。

利用偽靜態(tài)功能禁止以下目錄運行php腳本

linux主機的用戶一般都是apache環(huán)境,使用 .htaccess 文件來設(shè)置,如果你網(wǎng)站根目錄已經(jīng)存在這個文件,那就復(fù)制一下代碼添加進去,沒有這個文件的小伙伴可以下載下來放進去

RewriteEngine?on
#安全設(shè)置 禁止以下目錄運行指定php腳本
RewriteCond?%?!^$
RewriteRule?a/(.*).(php)$?–?[F]
RewriteRule?data/(.*).(php)$?–?[F]
RewriteRule?templets/(.*).(php|htm)$?–?[F]
RewriteRule?uploads/(.*).(php)$?–?[F]

windows主機的用戶一般都是iis7、iis8環(huán)境,使用 web.config 文件來設(shè)置,請確認(rèn)你的主機已經(jīng)開啟了偽靜態(tài)而且網(wǎng)站根目錄有 web.config 文件,有這個文件的可以復(fù)制以下代碼添加到對應(yīng)的rules內(nèi),沒有這個文件的小伙伴可以下載下來放進去;

<rule name="Block data" stopProcessing="true">
<match url="^data/(.*).php$" />
<conditions logicalGrouping="MatchAny">
<add input="{USER_AGENT}" pattern="data" />
<add input="{REMOTE_ADDR}" pattern="" />
</conditions>
<action type="AbortRequest" />
</rule>
<rule name="Block templets" stopProcessing="true">
<match url="^templets/(.*).php$" />
<conditions logicalGrouping="MatchAny">
<add input="{USER_AGENT}" pattern="templets" />
<add input="{REMOTE_ADDR}" pattern="" />
</conditions>
<action type="AbortRequest" />
</rule>
<rule name="Block SomeRobot" stopProcessing="true">
<match url="^uploads/(.*).php$" />
<conditions logicalGrouping="MatchAny">
<add input="{USER_AGENT}" pattern="SomeRobot" />
<add input="{REMOTE_ADDR}" pattern="" />
</conditions>
<action type="AbortRequest" />
</rule>

Nginx下禁止指定目錄運行PHP腳本

注意:這段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后記得重啟Nginx生效。

location ~* /(a|data|templets|uploads)/(.*).(php)$ {
return 403;
}

如何驗證第八步是否生效呢

使用Sublime Text 或者 Dreamweaver 新建一個php文件,名為a.php

里面隨便寫個文字,上傳到根目錄 然后訪問路徑,如果是能正常顯示你寫的數(shù)字,那表示沒生效,提示403頁面說明設(shè)置成功了

教程到此介紹。

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。

您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源
LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。 敬請諒解! 侵權(quán)刪帖/違法舉報/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » dedecms(織夢CMS)安全設(shè)置之文件夾目錄權(quán)限詳細解說

發(fā)表回復(fù)

本站承接,網(wǎng)站推廣(SEM,SEO);軟件安裝與調(diào)試;服務(wù)器或網(wǎng)絡(luò)推薦及配置;APP開發(fā)與維護;網(wǎng)站開發(fā)修改及維護; 各財務(wù)軟件安裝調(diào)試及注冊服務(wù)(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統(tǒng),人力資源,超市POS,醫(yī)藥管理等;

立即查看 了解詳情