DedeCMS站點(diǎn)高級安全策略(Linux篇)

2012-06-06:增加Nginx服務(wù)器的配置
在Linux環(huán)境下搭建安裝DedeCMS本篇不再具體說明,大家可以點(diǎn)擊文檔《Linux下安裝DedeCMS及安全設(shè)置》來查看安裝和基本安全配置部分的內(nèi)容。
本篇將在之前的基礎(chǔ)上進(jìn)一步來對Linux下的DedeCMS進(jìn)行安全配置,以保證我們的站點(diǎn)能夠更加安全的運(yùn)行在服務(wù)器上。
1.安裝Apache文件訪問權(quán)限模塊為了保證每個(gè)虛擬站點(diǎn)都能夠擁有自己獨(dú)立的文件訪問權(quán)限,我們需要安裝Apache安全權(quán)限分離模塊,在終端中輸入:
sudo apt-get install apache2-mpm-itk
2.添加管理后臺站點(diǎn)控制帳號接下來我們需要再添加一個(gè)后臺站點(diǎn)的Apache運(yùn)行帳號,在終端中輸入:
sudo useradd -g www-data -d /dev/null -s /usr/sbin/nologin www-admin
這樣我們就添加了一個(gè)www-admin帳號,專門用于控制后臺站點(diǎn)的文件訪問權(quán)限。
3.將后臺管理目錄移出,并且創(chuàng)建獨(dú)立站點(diǎn)默認(rèn)安裝后,后臺的管理目錄是在站點(diǎn)更目錄下的/dede,為了安全起見我們需要將這個(gè)目錄移出,但為了能夠正常管理站點(diǎn),我們需要將這個(gè)后臺目錄創(chuàng)建獨(dú)立站點(diǎn)。
3.1.移動后臺管理目錄我們先創(chuàng)建一個(gè)目錄,這個(gè)目錄專門用于存放后臺站點(diǎn)文件,在終端中輸入:
sudo mkdir /var/dedecms-admin
然后將織夢后臺移動到這個(gè)文件夾中,輸入:
sudo mv /var/dedecms/dede/* /var/dedecms-admin/
3.2.創(chuàng)建虛擬站點(diǎn)我們需要創(chuàng)建一個(gè)新的站點(diǎn)用于顯示后臺,我們可以在/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)建完成后我們重新啟動服務(wù)器,在終端輸入:
sudo service apache2 restart
這里我們給后臺站點(diǎn)域名設(shè)置為admin.dedecms.com用戶可以根據(jù)自己情況設(shè)定更為復(fù)雜的域名形式,例如:dedesiteadmin2008.dede.com
然后在系統(tǒng)host紀(jì)錄中添加一條指向站點(diǎn)域名對應(yīng)ip的紀(jì)錄,保證其能夠正常訪問。
3.3.給管理站點(diǎn)目錄設(shè)定權(quán)限控制帳戶為了保證后臺文件訪問的安全,我們也需要給它設(shè)定文件訪問權(quán)限,在終端中輸入:
sudo chown www-admin.www-data /var/dedecms-admin/
這樣就給這個(gè)目錄指定了www-admin的訪問帳號。
3.4.調(diào)整后臺文件配置,保證后臺正常訪問由于我們直接移動了管理后臺文件目錄,所以我們訪問admin.dede.com會出現(xiàn)報(bào)錯(cuò),這時(shí)候我們需要對系統(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文件夾下的一些文件拷貝到管理后臺站點(diǎn)中以保證后臺正常使用:
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è)定完成后我們需要給前臺站點(diǎn)重新指派權(quán)限,在終端輸入:
sudo chown -R www-admin.www-data /var/dedecms/
這樣就把前臺用戶設(shè)定為了www-admin,然后再執(zhí)行:
sudo chmod -R 755 /var/dedecms/
這樣設(shè)置后后臺管理就具有了站點(diǎn)操作權(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)做好各個(gè)方面的安全設(shè)置。

終端中輸入:sudo apt-get install nginx
以及:sudo apt-get install php5-fpm
(如果已經(jīng)安裝了Apache的用戶需要停止Apache,以免同Nginx沖突,可以使用命令行:sudo service apache2 stop)
6.2.添加站點(diǎn)同樣我們需要添加兩個(gè)站點(diǎn),一個(gè)前臺“www.dede.com”一個(gè)后臺“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)文件訪問控制權(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)的控制用戶,所以為了后臺具有對應(yīng)的操作權(quán)限,我們需要添加一個(gè)專門的控制權(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也是類似,但配置方法稍有不同:
server {
...
location ~* ^/uploads/.*.(php|php5)$
{
deny all;
}
}
按照這個(gè)方法,將其他目錄也同樣設(shè)置即可。
相關(guān)文章
織夢DEDECMS網(wǎng)站安全攻略之修改data目錄名稱方法步驟
這篇文章主要介紹了織夢DEDECMS網(wǎng)站安全攻略之修改data目錄名稱方法步驟,dedecms漏洞一真都比較多,修改掉默認(rèn)data目錄的名稱相對來說會比較安全些,需要的朋友可以參考下2015-06-18防止Dedecms入侵、漏洞問題的4點(diǎn)安全防范建議
這篇文章主要介紹了防止Dedecms入侵、漏洞問題的4點(diǎn)安全防范建議,需要的朋友可以參考下2014-04-08淺析織夢(dedecms)三個(gè)最重要的安全設(shè)置
織夢網(wǎng)站管理系統(tǒng)作為最主流的網(wǎng)站管理系統(tǒng)之一,市場占有率非常高。而很多中小站長對織夢的安全設(shè)置做得不夠到位,給了黑客可乘之機(jī)。經(jīng)常有朋友抱怨說,自己的網(wǎng)站被掛了2013-07-08- 隨著Linux服務(wù)器應(yīng)用范圍越來越廣泛,國內(nèi)很多站長也開始使用它作為自己的Web服務(wù)器,本篇就來介紹如何在Linux系統(tǒng)環(huán)境下安裝配置DedeCMS系統(tǒng)2013-06-15
使用Dedecms中七個(gè)容易忽略的安全細(xì)節(jié)介紹
dede也許站長都會用了.但是有不少的細(xì)節(jié)和經(jīng)驗(yàn)還是要注意的2012-06-11dedecms 安全設(shè)置終極技巧補(bǔ)充(idc)
因dedecms漏洞,大量dedecms網(wǎng)站被黑,請使用dedecms的用戶,按照本文章處理2013-05-16DEDECMS網(wǎng)站安全 教您更改data目錄名稱
現(xiàn)在DEDECMS最新的5.7版本和5.7SP1版本后臺都有個(gè)安全檢測,data目錄如果使用默認(rèn)的名稱,那么DEDE系統(tǒng)的安全肯定會大打折扣。相信大家都看到這樣的提示:強(qiáng)烈建議將data目2012-02-20Linux操作系統(tǒng)下DedeCMS詳細(xì)安全設(shè)置教程
使用dedecms的朋友這下有福了,這篇文章主要是針對linux服務(wù)器的安全設(shè)置方法,大家可以參考下。2011-12-19DEDECMS安全設(shè)置 執(zhí)行php腳本限制設(shè)置方法(apache+nginx)
淺談DedeCMS安全設(shè)置 做目錄執(zhí)行php腳本限制方法,使用dedecms的朋友可以參考下。2011-11-29DedeCMS(織夢)服務(wù)器網(wǎng)站目錄安全設(shè)置經(jīng)驗(yàn)分享
因?yàn)閐edecms的易用性很多站長朋友都在使用dedecms,但為了安全性,需要我們服務(wù)器進(jìn)行安全設(shè)置,如果沒有服務(wù)器通過虛擬主機(jī)在線管理程序也可以設(shè)置。2012-11-03