織夢站點高級安全策略有哪些?
在Linux環(huán)境下搭建安裝DedeCMS本篇不再具體說明,大家可以點擊文檔《Linux下安裝DedeCMS及安全設(shè)置》來查看安裝和基本安全配置部分的內(nèi)容。
推薦學(xué)習(xí):dedecms教程
本篇將在之前的基礎(chǔ)上進一步來對Linux下的DedeCMS進行安全配置,以保證我們的站點能夠更加安全的運行在服務(wù)器上。
1.安裝apache文件訪問權(quán)限模塊
為了保證每個虛擬站點都能夠擁有自己獨立的文件訪問權(quán)限,我們需要安裝Apache安全權(quán)限分離模塊,在終端中輸入:
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帳號,專門用于控制后臺站點的文件訪問權(quán)限。
3.將后臺管理目錄移出,并且創(chuàng)建獨立站點
默認安裝后,后臺的管理目錄是在站點更目錄下的/dede,為了安全起見我們需要將這個目錄移出,但為了能夠正常管理站點,我們需要將這個后臺目錄創(chuàng)建獨立站點。
3.1.移動后臺管理目錄
我們先創(chuàng)建一個目錄,這個目錄專門用于存放后臺站點文件,在終端中輸入:
sudo?mkdir?/var/dedecms-admin
然后將織夢后臺移動到這個文件夾中,輸入:
sudo?mv?/var/dedecms/dede/*?/var/dedecms-admin/
3.2.創(chuàng)建虛擬站點
我們需要創(chuàng)建一個新的站點用于顯示后臺,我們可以在/etc/apache2/site-enabled/目錄中創(chuàng)建一個文件名為:default-admin的文件,內(nèi)容如下:
<virtualhost> ServerName?admin.dede.com ServerAdmin?webmaster@localhost DocumentRoot?/var/dedecms-admin AssignUserId?www-admin?www-data <directory></directory> Options?FollowSymLinks AllowOverride?None <directory></directory> Options?Indexes?FollowSymLinks?MultiViews AllowOverride?None Order?allow,deny allow?from?all </virtualhost>
創(chuàng)建完成后我們重新啟動服務(wù)器,在終端輸入:
sudo?service?apache2?restart
這里我們給后臺站點域名設(shè)置為admin.dedecms.com用戶可以根據(jù)自己情況設(shè)定更為復(fù)雜的域名形式,例如:
dedesiteadmin2008.dede.com
然后在系統(tǒng)host紀錄中添加一條指向站點域名對應(yīng)ip的紀錄,保證其能夠正常訪問。
3.3.給管理站點目錄設(shè)定權(quán)限控制帳戶
為了保證后臺文件訪問的安全,我們也需要給它設(shè)定文件訪問權(quán)限,在終端中輸入:
sudo?chown?www-admin.www-data?/var/dedecms-admin/
這樣就給這個目錄指定了www-admin的訪問帳號。
3.4.調(diào)整后臺文件配置,保證后臺正常訪問
由于我們直接移動了管理后臺文件目錄,所以我們訪問admin.dede.com會出現(xiàn)報錯,這時候我們需要對系統(tǒng)中的目錄配置進行調(diào)整。
(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)復(fù)制include中的相關(guān)文件
我們需要將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用戶權(quán)限
設(shè)定完成后我們需要給前臺站點重新指派權(quán)限,在終端輸入:
sudo?chown?-R?www-admin.www-data?/var/dedecms/
這樣就把前臺用戶設(shè)定為了www-admin,然后再執(zhí)行:
sudo?chmod?-R?755?/var/dedecms/
這樣設(shè)置后后臺管理就具有了站點操作權(quán)限,但前臺瀏覽用戶沒有修改文件的權(quán)限了。
但這里前臺uploads需要有可上傳的權(quán)限,所以還需要執(zhí)行:
sudo?chmod?-R?777?uploads/
5.完成安全配置
這樣一來我們就完成了系統(tǒng)的安全設(shè)置,做到了前后臺的權(quán)限分離,當(dāng)然您也需要配置下php.ini禁用掉某些函數(shù),配合系統(tǒng)做好各個方面的安全設(shè)置。