安全,一直是程序開發(fā)者及站長(zhǎng)的一個(gè)不可忽視的問題,如何選擇一個(gè)易用、安全的程序,如何搭建一個(gè)安全的服務(wù)器環(huán)境,一直是大家困擾的問題,今天我們用DEDECMS來進(jìn)行一個(gè)安全使用的環(huán)境配置教程講解。
1、目錄權(quán)限
我們不建議用戶把欄目目錄設(shè)置在根目錄, 原因是這樣進(jìn)行安全設(shè)置會(huì)十分的麻煩, 在默認(rèn)的情況下,安裝完成后,目錄設(shè)置如下:
(1) data、templets、uploads、a或5.3的html目錄, 設(shè)置可讀寫,不可執(zhí)行的權(quán)限;
(2) 不需要專題的,建議刪除 special 目錄, 需要可以在生成HTML后,刪除 special/index.php 然后把這目錄設(shè)置為可讀寫,不可執(zhí)行的權(quán)限;
(3) include、member、plus、后臺(tái)管理目錄 設(shè)置為可執(zhí)行腳本,可讀,但不可寫入(安裝了附加模塊的,book、ask、company、group 目錄同樣如此設(shè)置)。
2、其它需注意問題
(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)限。
3、如何設(shè)置目錄的權(quán)限?
對(duì)于會(huì)用 Linux 的用戶,相信大多數(shù)都已經(jīng)懂得這些東西,IIS用戶,請(qǐng)看下圖:
(1) 設(shè)置目錄為只讀
復(fù)制權(quán)限
設(shè)置為只讀
(2) 設(shè)置目錄不允許執(zhí)行
此外還需要注意問題是,不管IIS還是Apache都不要把.php和.inc文件加入mime中,這樣系統(tǒng)會(huì)禁止下載這些文件。
附:
1.Apache站點(diǎn)安全設(shè)置
如果是Windows2003下,可以對(duì)Apache進(jìn)行如下操作:
1.1.在計(jì)算機(jī)管理里的本地用戶和組里面創(chuàng)建一個(gè)帳戶,例如:DedeApache,密碼設(shè)置為 DedeApachePWD,加入guests組(如果出現(xiàn)問題,可以賦予user權(quán)限);
1.2.打開開始->管理工具->本地安全策略,在“用戶權(quán)限分配”中選擇“作為服務(wù)登陸”,添加DedeApache用戶;
1.3.計(jì)算機(jī)管理里面選擇服務(wù),找到apache2.2,先停止服務(wù),右擊->屬性,選擇登陸,把單選框從本地系統(tǒng)帳戶切換到此帳戶,然后查找 選擇DedeApache,輸入密碼DedeApachePWD,然后點(diǎn)確定(這個(gè)時(shí)候apache還不能正常啟動(dòng),一般情況肯定會(huì)報(bào)錯(cuò):Apache2.2 服務(wù)因 1 (0x1) 服務(wù)性錯(cuò)誤而停止。);
1.4.賦予apache安裝目錄(比如:D:/apache2.2)以及web目錄(比 如D:/wwwroot)DedeApache帳號(hào)的可讀寫權(quán)限,去除 各磁盤根目錄除administror與system以外的所有權(quán)限,賦予DedeApache安裝 目錄所在的磁盤根目錄apache帳戶的可讀取列目錄權(quán)限
我們?cè)谡军c(diǎn)配置中可以添加如下內(nèi)容:
《Directory "D:\dedecms\www\uploads"》 《FilesMatch ".php"》 Order Allow,Deny Deny from all 《/FilesMatch》 《/Directory》 《Directory "D:\dedecms\www\data"》 《FilesMatch ".php"》 Order Allow,Deny Deny from all 《/FilesMatch》 《/Directory》 《Directory "D:\dedecms\www\templets"》 《FilesMatch ".php"》 Order Allow,Deny Deny from all 《/FilesMatch》 《/Directory》 《Directory "D:\dedecms\www\a"》 《FilesMatch ".php"》 Order Allow,Deny Deny from all 《/FilesMatch》 《/Directory》
PS:把上面的符號(hào)“《”換成“<”,“》”換成“>”。
這里對(duì)應(yīng)就取消了對(duì)應(yīng)目錄的腳本執(zhí)行權(quán)限。
2.data目錄路徑更改
另外在DedeCMS V5.7中用戶也可以設(shè)定data目錄到上一級(jí)非web訪問目錄,基本操作如下:
2.1.將data目錄移動(dòng)到上一級(jí)目錄中,這里直接剪切過去就可以了;
2.2.配置include/common.inc.php中DEDEDATA文件
define('DEDEDATA', DEDEROOT.'/data');
可以改成類如:
define('DEDEDATA', DEDEROOT.'/../../data');
2.2.3.后臺(tái)設(shè)置模板緩存路徑