主頁(yè) > 網(wǎng)站建設(shè) > 建站知識(shí) > 織夢(mèng)DedeCMS站點(diǎn)高級(jí)安全策略(Linux篇)

織夢(mèng)DedeCMS站點(diǎn)高級(jí)安全策略(Linux篇)

POST TIME:2019-09-30 15:01

在Linux環(huán)境下搭建安裝DedeCMS本篇不再具體說(shuō)明,大家可以點(diǎn)擊文檔《Linux下安裝DedeCMS及安全設(shè)置》來(lái)查看安裝和基本安全配置部分的內(nèi)容。

  本篇將在之前的基礎(chǔ)上進(jìn)一步來(lái)對(duì)Linux下的DedeCMS進(jìn)行安全配置,以保證我們的站點(diǎn)能夠更加安全的運(yùn)行在服務(wù)器上。

  1.安裝Apache文件訪問(wèn)權(quán)限模塊
  為了保證每個(gè)虛擬站點(diǎn)都能夠擁有自己獨(dú)立的文件訪問(wèn)權(quán)限,我們需要安裝Apache安全權(quán)限分離模塊,在終端中輸入:
  sudo apt-get install apache2-mpm-itk

  2.添加管理后臺(tái)站點(diǎn)控制帳號(hào)
  接下來(lái)我們需要再添加一個(gè)后臺(tái)站點(diǎn)的Apache運(yùn)行帳號(hào),在終端中輸入:
  sudo useradd -g www-data -d /dev/null -s /usr/sbin/nologin www-admin
  這樣我們就添加了一個(gè)www-admin帳號(hào),專門用于控制后臺(tái)站點(diǎn)的文件訪問(wèn)權(quán)限。

  3.將后臺(tái)管理目錄移出,并且創(chuàng)建獨(dú)立站點(diǎn)
  默認(rèn)安裝后,后臺(tái)的管理目錄是在站點(diǎn)更目錄下的/dede,為了安全起見我們需要將這個(gè)目錄移出,但為了能夠正常管理站點(diǎn),我們需要將這個(gè)后臺(tái)目錄創(chuàng)建獨(dú)立站點(diǎn)。

  3.1.移動(dòng)后臺(tái)管理目錄
  我們先創(chuàng)建一個(gè)目錄,這個(gè)目錄專門用于存放后臺(tái)站點(diǎn)文件,在終端中輸入:
  sudo mkdir /var/dedecms-admin
  然后將織夢(mèng)后臺(tái)移動(dòng)到這個(gè)文件夾中,輸入:
  sudo mv /var/dedecms/dede/* /var/dedecms-admin/

  3.2.創(chuàng)建虛擬站點(diǎn)
  我們需要?jiǎng)?chuàng)建一個(gè)新的站點(diǎn)用于顯示后臺(tái),我們可以在/etc/apache2/site-enabled/目錄中創(chuàng)建一個(gè)文件名為:default-admin的文件,內(nèi)容如下:

<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>

創(chuàng)建完成后我們重新啟動(dòng)服務(wù)器,在終端輸入:
  sudo service apache2 restart
  這里我們給后臺(tái)站點(diǎn)域名設(shè)置為admin.dedecms.com用戶可以根據(jù)自己情況設(shè)定更為復(fù)雜的域名形式,例如:dedesiteadmin2008.dede.com
  然后在系統(tǒng)host紀(jì)錄中添加一條指向站點(diǎn)域名對(duì)應(yīng)ip的紀(jì)錄,保證其能夠正常訪問(wèn)。

  3.3.給管理站點(diǎn)目錄設(shè)定權(quán)限控制帳戶
  為了保證后臺(tái)文件訪問(wèn)的安全,我們也需要給它設(shè)定文件訪問(wèn)權(quán)限,在終端中輸入:
  sudo chown www-admin.www-data /var/dedecms-admin/
  這樣就給這個(gè)目錄指定了www-admin的訪問(wèn)帳號(hào)。

  3.4.調(diào)整后臺(tái)文件配置,保證后臺(tái)正常訪問(wèn)
  由于我們直接移動(dòng)了管理后臺(tái)文件目錄,所以我們?cè)L問(wèn)admin.dede.com會(huì)出現(xiàn)報(bào)錯(cuò),這時(shí)候我們需要對(duì)系統(tǒng)中的目錄配置進(jìn)行調(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文件夾下的一些文件拷貝到管理后臺(tái)站點(diǎn)中以保證后臺(tái)正常使用:
  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.重新分配前臺(tái)Apache用戶權(quán)限
  設(shè)定完成后我們需要給前臺(tái)站點(diǎn)重新指派權(quán)限,在終端輸入:
  sudo chown -R www-admin.www-data /var/dedecms/
  這樣就把前臺(tái)用戶設(shè)定為了www-admin,然后再執(zhí)行:
  sudo chmod -R 755 /var/dedecms/
  這樣設(shè)置后后臺(tái)管理就具有了站點(diǎn)操作權(quán)限,但前臺(tái)瀏覽用戶沒(méi)有修改文件的權(quán)限了。
  但這里前臺(tái)uploads需要有可上傳的權(quán)限,所以還需要執(zhí)行:
  sudo chmod -R 777 uploads/

  5.完成安全配置
  這樣一來(lái)我們就完成了系統(tǒng)的安全設(shè)置,做到了前后臺(tái)的權(quán)限分離,當(dāng)然您也需要配置下php.ini禁用掉某些函數(shù),配合系統(tǒng)做好各個(gè)方面的安全設(shè)置。



收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266