織夢網站進階安全性原則有哪些?
織夢DedeCMS網站進階安全策略(Linux篇)
在Linux環境下建置安裝DedeCMS本篇不再具體說明,大家可以點選文檔《Linux下安裝DedeCMS及安全設定》來查看安裝和基本安全設定部分的內容。
推薦學習: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/
5.完成安全設定
這樣一來我們就完成了系統的安全設置,做到了前後台的權限分離,當然您也需要配置下php.ini禁用掉某些函數,配合系統做好各個方面的安全設置。
以上是織夢站點進階安全策略有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!