萬盛學電腦網

 萬盛學電腦網 >> CMS教程 >> Linux下的DedeCMS站點高級安全策略

Linux下的DedeCMS站點高級安全策略

class="area"> 在Linux環境下搭建安裝DedeCMS本篇不再具體說明,大家可以點擊文檔《Linux下安裝DedeCMS及安全設置》來查看安裝和基本安全配置部分的內容。   本篇將在之前的基礎上進一步來對Linux下的DedeCMS進行安全配置,以保證我們的站點能夠更加安全的運行在服務器上。  

1.安裝Apache文件訪問權限模塊

為了保證每個虛擬站點都能夠擁有自己獨立的文件訪問權限,我們需要安裝Apache安全權限分離模塊,在終端中輸入: sudo apt-get install apache2-mpm-itk    

2.添加管理後台站點控制帳號

接下來我們需要再添加一個後台站點的Apache運行帳號,在終端中輸入: sudo useradd -g www-data -d /dev/null -s /usr/sbin/nologin www-admin 這樣我們就添加了一個www-admin帳號,專門用於控制後台站點的文件訪問權限。    

3.將後台管理目錄移出,並且創建獨立站點

默認安裝後,後台的管理目錄是在站點更目錄下的/dede,為了安全起見我們需要將這個目錄移出,但為了能夠正常管理站點,我們需要將這個後台目錄創建獨立站點。  

3.1.移動後台管理目錄

我們先創建一個目錄,這個目錄專門用於存放後台站點文件,在終端中輸入: sudo mkdir /var/dedecms-admin 然後將織夢後台移動到這個文件夾中,輸入: sudo mv /var/dedecms/dede/* /var/dedecms-admin/  

3.2.創建虛擬站點

我們需要創建一個新的站點用於顯示後台,我們可以在/etc/apache2/site-enabled/目錄中創建一個文件名為:default-admin的文件,內容如下: <VirtualHost *:80> ServerName admin.dede.com ServerAdmin webmaster@localhost DocumentRoot /var/dedecms-admin AssignUserId www-admin www-data <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/dedecms-admin/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> 創建完成後我們重新啟動服務器,在終端輸入: sudo service apache2 restart 這裡我們給後台站點域名設置為admin.dedecms.com用戶可以根據自己情況設定更為復雜的域名形式,例如:dedesiteadmin2008.dede.com 然後在系統host紀錄中添加一條指向站點域名對應ip的紀錄,保證其能夠正常訪問。  

3.3.給管理站點目錄設定權限控制帳戶

為了保證後台文件訪問的安全,我們也需要給它設定文件訪問權限,在終端中輸入: sudo chown www-admin.www-data /var/dedecms-admin/ 這樣就給這個目錄指定了www-admin的訪問帳號。  

3.4.調整後台文件配置,保證後台正常訪問

由於我們直接移動了管理後台文件目錄,所以我們訪問admin.dede.com會出現報錯,這時候我們需要對系統中的目錄配置進行調整。   (1)找到/var/dedecms-admin/config.php,將第12行 require_once(DEDEADMIN.'/../include/common.inc.php'); 改為 require_once(DEDEADMIN.'/../dedecms/include/common.inc.php'); 然後在這段代碼下面加上: $cfg_plus_dir = $cfg_phpurl = $cfg_basehost."/".$cfg_plus_dir;   (2)找到/var/dedecms-admin/login.php,將11行 require_once(dirname(__FILE__).'/../include/common.inc.php'); 改為 require_once(dirname(__FILE__).'/../dedecms/include/common.inc.php');   (3)找到/var/dedecms/data/safe/inc_safe_config.php,第2行,改為 $safe_gdopen = '1,2,3,4,5,7';   (4)找到/var/dedecms-admin/exit.php,第11行 require_once(dirname(__FILE__).'/../include/common.inc.php'); 改為 require_once(dirname(__FILE__).'/../dedecms/include/common.inc.php');   (5)復制include中的相關文件 我們需要將include文件夾下的一些文件拷貝到管理後台站點中以保證後台正常使用: mkdir /var/dedecms-admin/include/dialog sudo cp -R /var/dedecms/include/dialog/* /var/dedecms-admin/include/dialog mkdir /var/dedecms-admin/include/js sudo cp -R /var/dedecms/include/js/* /var/dedecms-admin/include/js sudo mkdir /var/dedecms-admin/include/ckeditor sudo cp -R /var/dedecms/include/ckeditor/* /var/dedecms-admin/include/ckeditor  

4.重新分配前台Apache用戶權限

設定完成後我們需要給前台站點重新指派權限,在終端輸入: sudo chown -R www-admin.www-data /var/dedecms/ 這樣就把前台用戶設定為了www-admin,然後再執行: sudo chmod -R 755 /var/dedecms/ 這樣設置後後台管理就具有了站點操作權限,但前台浏覽用戶沒有修改文件的權限了。 但這裡前台uploads需要有可上傳的權限,所以還需要執行: sudo chmod -R 777 uploads/

copyright © 萬盛學電腦網 all rights reserved