濮阳杆衣贸易有限公司

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

Linux下織夢(mèng)CMS站點(diǎn)安全策略(高級(jí)進(jìn)階版)

POST TIME:2017-11-12 23:49

織夢(mèng)cms安裝后安全配置非常的重要,下面對(duì)Linux下織夢(mèng)CMS進(jìn)行安全配置進(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),專(zhuān)門(mén)用于控制后臺(tái)站點(diǎn)的文件訪問(wèn)權(quán)限。

3.將后臺(tái)管理目錄移出,并且創(chuàng)建獨(dú)立站點(diǎn)

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

3.1.移動(dòng)后臺(tái)管理目錄

我們先創(chuàng)建一個(gè)目錄,這個(gè)目錄專(zhuān)門(mén)用于存放后臺(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用戶(hù)可以根據(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)限控制帳戶(hù)

為了保證后臺(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用戶(hù)權(quán)限

設(shè)定完成后我們需要給前臺(tái)站點(diǎn)重新指派權(quán)限,在終端輸入:

sudo chown -R www-admin.www-data /var/dedecms/

這樣就把前臺(tái)用戶(hù)設(shè)定為了www-admin,然后再執(zhí)行:

sudo chmod -R 755 /var/dedecms/

這樣設(shè)置后后臺(tái)管理就具有了站點(diǎn)操作權(quán)限,但前臺(tái)瀏覽用戶(hù)沒(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è)置。

6.Nginx設(shè)置

由于Nginx輕便容易維護(hù),很多站長(zhǎng)也會(huì)選擇Nginx作為站點(diǎn)服務(wù)器,設(shè)置思路同上文類(lèi)似,但有稍許的不同,下面我們就來(lái)單獨(dú)對(duì)其進(jìn)行介紹。

6.1.安裝Nginx以及php5-fpm

終端中輸入:sudo apt-get install nginx

以及:sudo apt-get install php5-fpm

(如果已經(jīng)安裝了Apache的用戶(hù)需要停止Apache,以免同Nginx沖突,可以使用命令行:sudo service apache2 stop)

6.2.添加站點(diǎn)

同樣我們需要添加兩個(gè)站點(diǎn),一個(gè)前臺(tái)“www.dede.com”一個(gè)后臺(tái)“admin.dede.com”,基本配置如下:

www.dede.com站點(diǎn):

server {
 root /var/dedecms;
 index index.html index.htm index.php;
 server_name www.dede.com;
 ...
 location ~ .php$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_param script_FILENAME /var/dedecms$fastcgi_script_name;
 fastcgi_index index.php;
 include fastcgi_params;
 }
 }

admin.dede.com站點(diǎn)配置:

server {
 root /var/dedecms-admin;
 index index.html index.htm index.php;
 server_name admin.dede.com;
 ...
 location ~ .php$ {
 fastcgi_pass 127.0.0.1:9001;
 fastcgi_param script_FILENAME /var/dedecms-admin$fastcgi_script_name;
 fastcgi_index index.php;
 include fastcgi_params;
 }
 }

這里主要是admin的站點(diǎn)采用的9001端口,以及站點(diǎn)目錄重新做了調(diào)整。

6.3.指派站點(diǎn)文件訪問(wèn)控制權(quán)限

同apache的apache2-mpm-itk不同,php5-fpm默認(rèn)就可以進(jìn)行權(quán)限控制。

在文件/etc/php5/fpm/pool.d/www.conf中則是默認(rèn)采用了“www-data”作為站點(diǎn)的控制用戶(hù),所以為了后臺(tái)具有對(duì)應(yīng)的操作權(quán)限,我們需要添加一個(gè)專(zhuān)門(mén)的控制權(quán)限。

cd /etc/php5/fpm

cp www.conf admin.conf

修改admin.conf文件

其中我們只要將:

user = www-admin

group = www-data

listen = 127.0.0.1:9001

這幾個(gè)地方做一個(gè)更改即可。

完成后重啟下服務(wù)

sudo service php5-fpm restart

sudo service nginx restart

6.4.nginx下取消目錄執(zhí)行的權(quán)限

在《Linux下安裝DedeCMS及安全設(shè)置》 中介紹了apache下如何取消目錄執(zhí)行權(quán)限,nginx也是類(lèi)似,但配置方法稍有不同:

server {
 ...
 location ~* ^/uploads/.*.(php|php5)$
 {
 deny all;
 }
 }

按照這個(gè)方法,將其他目錄也同樣設(shè)置即可。



上一篇:織夢(mèng)系統(tǒng)如何設(shè)置URL絕對(duì)路徑及絕對(duì)路徑的好處

下一篇:DEDE使用AJAX無(wú)刷新提交Form表單,PHP返回結(jié)果

收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢(xún)

  • 400-1100-266
丹寨县| 鄂托克前旗| 汽车| 康保县| 资阳市| 宁河县| 景东| 茌平县| 东乌珠穆沁旗| 建平县| 岑巩县| 莱芜市| 右玉县| 历史| 娄烦县| 云浮市| 南丰县| 绥江县| 临朐县| 榕江县| 清水河县| 内丘县| 伊宁县| 冷水江市| 洮南市| 万全县| 凭祥市| 宜春市| 磐石市| 璧山县| 横山县| 建湖县| 都江堰市| 凯里市| 巢湖市| 若尔盖县| 淳安县| 梧州市| 贵德县| 南投县| 崇阳县|