dede5.7織夢cms目錄權限安全配置

前天 (04:20)


我在網上整理了下,拿出來與大家分享分享織夢各目錄的安全設置教程。以供參考。

/ 【站點上級目錄】

假如要使用后臺的目錄相關的功能需求有列出目錄的權限 //0444

/ 【站點根目錄】

需求執行和讀取權限 假如要在根目錄下面創建文件和目錄的話需求有寫入權限 //0755

/install 【安裝程序目錄】

需求有執行和讀取權限 //建議安裝完成以后刪除或者改名 //0555

/dede 【后臺程序目錄】

需求有執行權限和讀取權限 //建議安裝完成以后修正目錄名稱 //0755

/include 【主程序目錄】

需求有寫入、執行權限和讀取權限 //0755 //建議在第一次安裝后,去掉寫入權限以及修正權限(需求重寫配置文件時再暫時開啟寫入及修正權限)//0555 (設置后部分功能關閉,如果有什么問題可嘗試開啟)

/member 【會員目錄】

需求執行讀取和權限 //建議去掉寫入權限以及修正權限//0555

/plus 【插件目錄】

需求有讀取、寫入和執行的權限 //建議在生成完站點地圖和RSS文件后去掉寫入權限以及修正權限 //0755

/data 【站點緩存數據等文件】

需求有讀取權限和寫入修正權限 //建議去掉執行權限//0666(原有安裝數據失效,php程序失效,必須做好偽靜態后進行設置,需要進入后臺更新文章再設置回755)

/html 【HTML文檔默認目錄】

需求有讀取修正和創建權限 //建議去掉執行權限 //0666

/templets【模板目錄】

需求有讀取 修正寫入 權限 //建議去掉執行權限 //0666(設置后不能更新網站,如果沒有偽靜態,將打不開網站)

/uploads 【附件目錄】

需求寫入讀取權限 //建議去掉執行權限//0666

/company 【企業黃頁程序目錄】

需求讀取和執行權限 //建議去掉寫入權限//0555

/special 【專題文件目錄】

需求執行、讀取、寫入和修正權限 //0755

/book 【書庫模塊程序目錄】

需求執行、讀取、寫入和修正權限 //0755

/ask 【問答模塊程序目錄】

需求執行和讀取權限 //建議去掉寫入權限//0555

/group 【圈子模塊程序目錄】

需求執行和讀取權限 //建議去掉寫入權限 //0555

 

 
下面是官網詳細的介紹了目錄安全配置教程
 
1、目錄權限
我們不建議用戶把欄目目錄設置在根目錄, 原因是這樣進行安全設置會十分的麻煩, 在默認的情況下,安裝完成后,目錄設置如下:
(1) data、templets、uploads、a或5.3的html目錄, 設置可讀寫,不可執行的權限;
(2) 不需要專題的,建議刪除 special 目錄, 需要可以在生成HTML后,刪除 special/index.php 然后把這目錄設置為可讀寫,不可執行的權限;
(3) include、member、plus、后臺管理目錄 設置為可執行腳本,可讀,但不可寫入(安裝了附加模塊的,book、ask、company、group 目錄同樣如此設置)。
 
2、其它需注意問題
(1) 雖然對 install 目錄已經進行了嚴格處理, 但為了安全起見,我們依然建議把它刪除;
(2) 不要對網站直接使用MySQL root用戶的權限,給每個網站設置獨立的MySQL用戶帳號,許可權限為:
 
 代碼如下 復制代碼 
SELECT, INSERT , UPDATE , DELETE
CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES
 
 
由于DEDE并沒有任何地方使用存儲過程,因此務必禁用 FILE、EXECUTE 等執行存儲過程或文件操作的權限。
 
3、如何設置目錄的權限?
對于會用 Linux 的用戶,相信大多數都已經懂得這些東西,IIS用戶,請看下圖:
(1) 設置目錄為只讀
復制權限
 
 
設置為只讀
   
(2) 設置目錄不允許執行
 
 
 
 
 
此外還需要注意問題是,不管IIS還是Apache都不要把.php和.inc文件加入mime中,這樣系統會禁止下載這些文件。
 
附:
1.Apache站點安全設置
如果是Windows2003下,可以對Apache進行如下操作:
    1.1.在計算機管理里的本地用戶和組里面創建一個帳戶,例如:DedeApache,密碼設置為 DedeApachePWD,加入guests組(如果出現問題,可以賦予user權限);
 
    1.2.打開開始->管理工具->本地安全策略,在“用戶權限分配”中選擇“作為服務登陸”,添加DedeApache用戶;
 
    1.3.計算機管理里面選擇服務,找到apache2.2,先停止服務,右擊->屬性,選擇登陸,把單選框從本地系統帳戶切換到此帳戶,然后查找 選擇DedeApache,輸入密碼DedeApachePWD,然后點確定(這個時候apache還不能正常啟動,一般情況肯定會報錯:Apache2.2 服務因 1 (0x1) 服務性錯誤而停止。);
 
 
 
 
 
    1.4.賦予apache安裝目錄(比如:D:/apache2.2)以及web目錄(比 如D:/wwwroot)DedeApache帳號的可讀寫權限,去除 各磁盤根目錄除administror與system以外的所有權限,賦予DedeApache安裝 目錄所在的磁盤根目錄apache帳戶的可讀取列目錄權限
 
 
 
 
 
我們在站點配置中可以添加如下內容: 代碼如下 復制代碼 
    <Directory "D:dedecmswwwuploads">
        <FilesMatch ".php">
            Order Allow,Deny
            Deny from all
        </FilesMatch>
    </Directory> 
    <Directory "D:dedecmswwwdata">
        <FilesMatch ".php">
            Order Allow,Deny
            Deny from all
        </FilesMatch>
    </Directory> 
    <Directory "D:dedecmswwwtemplets">
        <FilesMatch ".php">
            Order Allow,Deny
            Deny from all
        </FilesMatch>
    </Directory> 
    <Directory "D:dedecmswwwa">
        <FilesMatch ".php">
            Order Allow,Deny
            Deny from all
        </FilesMatch>
    </Directory>
 
 
這里對應就取消了對應目錄的腳本執行權限。 
2.data目錄路徑更改
另外在DedeCMS V5.7中用戶也可以設定data目錄到上一級非web訪問目錄,基本操作如下:
2.1.將data目錄移動到上一級目錄中,這里直接剪切過去就可以了;
2.2.配置include/common.inc.php中DEDEDATA文件
 
 代碼如下 復制代碼 
define('DEDEDATA', DEDEROOT.'/data');
 
可以改成類如:
define('DEDEDATA', DEDEROOT.'/../../data');
 
 
 
 
dedecms官網沒有寫在linux中的權限配置下面我們來介紹一下
 
一、目錄權限設置
web服務器運行的用戶與目錄所有者用戶必須不一樣,比如apache運行的用戶為www,那么網站目錄設置的所有者就應該不能設置為www,而是設置不同于www的用戶,如centos。
我們這里假設web服務器以www用戶運行,網站分配的用戶為centos,dedecms網站根目錄為/home/centos/web。
不建議用戶把欄目目錄設置在根目錄, 原因是這樣進行安全設置會十分的麻煩, 在默認的情況下,安裝完成后,目錄設置如下:
1、首先設置網站目錄所有者為centos,用戶組為www,目錄設置為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目錄, 設置可讀寫,不可執行的權限;
設置可讀寫權限:
 
 代碼如下 復制代碼 
cd /home/centos/web 
chmod -R 770 templets uploads a images
 
 
 
二、設置不可執行權限:
apache的設置,在apache配置文件中加入如下代碼(以uploads目錄為例,其它設置基本相同)。
 
 代碼如下 復制代碼 
<Directory /home/centos/web/uploads> 
php_flag engine off 
</Directory> 
<Directory ~ '^/home/centos/web/uploads'> 
<Files ~ '.php'> 
 Order allow,deny 
 Deny from all 
 </Files> 
</Directory>
nginx的設置如下:
location ~* ^/(templets|uploads|a|images)/.*.(php|php5)$ 
deny all; 
 
 
 
3、不需要專題的,建議刪除 special 目錄, 需要可以在生成HTML后,刪除 special/index.php 然后把這目錄設置為可讀寫,不可執行的權限,上面介紹了如何設置可讀寫和不可執行的權限,這里就不重復了。
 
三、data目錄路徑更改
另外在DedeCMS V5.7中用戶也可以設定data目錄到上一級非web訪問目錄,基本操作如下:
1.將data目錄移動到上一級目錄中,這里直接剪切過去就可以了;
2.配置include/common.inc.php中DEDEDATA文件
 
 代碼如下 復制代碼 
define(‘DEDEDATA’, DEDEROOT.’/data’);
 
 
可以改成類如:
 
 代碼如下 復制代碼 
define(‘DEDEDATA’, DEDEROOT.’/../../data’);
 
 
3.后臺設置模板緩存路徑
 
 
 
四、其它需注意問題
1、雖然對 install 目錄已經進行了嚴格處理, 但為了安全起見,我們依然建議把它刪除;
2、不要對網站直接使用MySQL root用戶的權限,給每個網站設置獨立的MySQL用戶帳號,許可權限為:
SELECT, INSERT , UPDATE , DELETE,CREATE , DROP , INDEX , ALTER , CREATE TEMPORARY TABLES
由于DEDE并沒有任何地方使用存儲過程,因此務必禁用 FILE、EXECUTE 等執行存儲過程或文件操作的權限。
假設我們建立的數據庫名為centosmysql,數據庫用戶為centosmysql,密碼為123456,具體設置命令如下:
 
 
 
 代碼如下 復制代碼 
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、更改默認管理目錄dede,改到不易被猜到就好。
4、關注后臺更新通知,檢查是否打上最新dedeCMS補丁。
5、登錄后臺時使用禁止javascript的瀏覽器登錄。
0
首頁
案例
關于
聯系
凯时平台