合肥市高新區(qū)長(zhǎng)江西路與科學(xué)大道交口5F創(chuàng)業(yè)園A座309
136 5560 1775

詳細(xì)的介紹Linux下DedeCMS程序安全的設(shè)置

發(fā)表日期:2012-05-24 瀏覽次數(shù):2155次

經(jīng)常會(huì)聽到使用dedecms的站長(zhǎng)抱怨,網(wǎng)站又被掛馬了,dedecms真的很不安全。dedecms可能存在某些漏洞這不假,但主要責(zé)任真的是dedecms嗎?我們知道,一個(gè)黑客想上傳木馬,首先得可以找到可寫的目錄,當(dāng)然如果被黑客獲取root密碼和提權(quán),那就沒辦法了。上傳木馬之后,又必須是php程序能解析。知道了這兩個(gè)條件,我們就可以根據(jù)這兩方面設(shè)置權(quán)限了。所以說,網(wǎng)站被掛馬,主要問題還在于你安全設(shè)置方面做得不夠好。

下面啟邁科技詳細(xì)的介紹Linux下DedeCMS程序安全的設(shè)置。

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

web服務(wù)器運(yùn)行的用戶與目錄所有者用戶必須不一樣,比如apache運(yùn)行的用戶為www,那么網(wǎng)站目錄設(shè)置的所有者就應(yīng)該不能設(shè)置為www,而是設(shè)置不同于www的用戶,如centos。

我們這里假設(shè)web服務(wù)器以www用戶運(yùn)行,網(wǎng)站分配的用戶為centos,dedecms網(wǎng)站根目錄為/home/centos/web。

不建議用戶把欄目目錄設(shè)置在根目錄, 原因是這樣進(jìn)行安全設(shè)置會(huì)十分的麻煩, 在默認(rèn)的情況下,安裝完成后,目錄設(shè)置如下:

1、首先設(shè)置網(wǎng)站目錄所有者為centos,用戶組為www,目錄設(shè)置為750,文件為640。

cd /home/centos

chown -R centos.www web

find web -type d -exec chmod 750 {} ;

find web -not -type d -exec chmod 640 {} ;

2、data、templets、uploads、a images目錄, 設(shè)置可讀寫,不可執(zhí)行的權(quán)限;

設(shè)置可讀寫權(quán)限:

cd /home/centos/web

chmod -R 770 data templets uploads a images

設(shè)置不可執(zhí)行權(quán)限:

apache的設(shè)置,在apache配置文件中加入如下代碼(以data目錄為例,其它設(shè)置基本相同)。

<Directory /home/centos/web/data>

php_flag engine of

</Directory>

<Directory ~ "^/home/centos/web/data">

<Files ~ ".php">

Order allow,deny

Deny from all

</Files>

</Directory>

nginx的設(shè)置如下:

location ~* ^/(data|templets|uploads|a|images)/.*.(php|php5)$

{

deny all;

}

3、不需要專題的,建議刪除 special 目錄, 需要可以在生成HTML后,刪除 special/index.php 然后把這目錄設(shè)置為可讀寫,不可執(zhí)行的權(quán)限,上面介紹了如何設(shè)置可讀寫和不可執(zhí)行的權(quán)限,這里就不重復(fù)了。

其它需注意問題

1、雖然對(duì) install 目錄已經(jīng)進(jìn)行了嚴(yán)格處理, 但為了安全起見,我們依然建議把它刪除;

2、不要對(duì)網(wǎng)站直接使用MySQL root用戶的權(quán)限,給每個(gè)網(wǎng)站設(shè)置獨(dú)立的MySQL用戶帳號(hào),許可權(quán)限為:

SELECT, INSERT , UPDATE, DELETE,CREATE , DROP , INDEX, ALTER , CREATE TEMPORARY TABLES

由于DEDE并沒有任何地方使用存儲(chǔ)過程,因此務(wù)必禁用 FILE、EXECUTE 等執(zhí)行存儲(chǔ)過程或文件操作的權(quán)限。

假設(shè)我們建立的數(shù)據(jù)庫(kù)名為centosmysql,數(shù)據(jù)庫(kù)用戶為centosmysql,密碼為123456,具體設(shè)置命令如下:

mysql -uroot -p

mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES ON centossql.* TO centossql@localhost IDENTIFIED BY 123456;

mysql>FLUSH PRIVILEGES;

mysql>exit

3、更改默認(rèn)管理目錄dede,改到不易被猜到就好。

4、關(guān)注后臺(tái)更新通知,檢查是否打上最新dedeCMS補(bǔ)丁。


將文章分享到:

版權(quán)所有:?jiǎn)⑦~科技-合肥網(wǎng)站建設(shè) 皖I(lǐng)CP備19009304號(hào)-1 皖公網(wǎng)安備 34010402702162號(hào)

網(wǎng)站建設(shè),網(wǎng)站設(shè)計(jì)公司啟邁科技,為眾多企業(yè)提供網(wǎng)站建設(shè),網(wǎng)站制作,響應(yīng)式網(wǎng)站設(shè)計(jì),手機(jī)網(wǎng)站建設(shè),微網(wǎng)站,模板建站,企業(yè)郵箱等一站式互聯(lián)網(wǎng)解決方案和建站服務(wù)10年。