DedeCms教程:DedeCMS站點高級安全策略(Linux篇)_DedeCms教程
更改紀錄:
2012-06-06:增加Nginx服務(wù)器的配置
在Linux環(huán)境下搭建安裝DedeCMS本篇不再具體說明,大家可以點擊文檔《Linux下安裝DedeCMS及安全設(shè)置》來查看安裝和基本安全配置部分的內(nèi)容。 本篇將在之前的基礎(chǔ)上進一步來對Linux下的DedeCMS進行安全配置,以保證我們的站點能夠更加安全的運行在服務(wù)器上。
1.安裝Apache文件訪問權(quán)限模塊
為了保證每個虛擬站點都能夠擁有自己獨立的文件訪問權(quán)限,我們需要安裝Apache安全權(quán)限分離模塊,在終端中輸入: sudo apt-get install apache2-mpm-itk2.添加管理后臺站點控制帳號
接下來我們需要再添加一個后臺站點的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 *: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 這里我們給后臺站點域名設(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/ckeditor4.重新分配前臺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)限分離,當然您也需要配置下php.ini禁用掉某些函數(shù),配合系統(tǒng)做好各個方面的安全設(shè)置。
如果您需要了解Windows Server 2012下如何搭建配置DedeCMS環(huán)境,可以查看:《Windows Server 2012 搭建PHP+MySQL環(huán)境安裝DedeCMS系統(tǒng)》 6.Nginx設(shè)置 由于Nginx輕便容易維護,很多站長也會選擇Nginx作為站點服務(wù)器,設(shè)置思路同上文類似,但有稍許的不同,下面我們就來單獨對其進行介紹。 6.1.安裝Nginx以及php5-fpm
終端中輸入:sudo apt-get install nginx 以及:sudo apt-get install php5-fpm (如果已經(jīng)安裝了Apache的用戶需要停止Apache,以免同Nginx沖突,可以使用命令行:sudo service apache2 stop) 6.2.添加站點
同樣我們需要添加兩個站點,一個前臺“www.dede.com”一個后臺“admin.dede.com”,基本配置如下: www.dede.com站點: 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站點配置: 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的站點采用的9001端口,以及站點目錄重新做了調(diào)整。 6.3.指派站點文件訪問控制權(quán)限
同apache的apache2-mpm-itk不同,php5-fpm默認就可以進行權(quán)限控制。 在文件/etc/php5/fpm/pool.d/www.conf中則是默認采用了“www-data”作為站點的控制用戶,所以為了后臺具有對應(yīng)的操作權(quá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 這幾個地方做一個更改即可。 完成后重啟下服務(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; } } 按照這個方法,將其他目錄也同樣設(shè)置即可。
相關(guān)DedeCms教程:
- Dedecms生成百度地圖圖文教程
- 織夢dedecms生成下拉式友情鏈接列表
- DEDECMS使用拼音首字母做欄目名稱
- 織夢DEDECMS站群增強版 DedeCMS搭建站群首選
- DedeCMS Error:Tag disabled:php錯誤的完整處理方法
- dedecms編碼轉(zhuǎn)換方法 gbk轉(zhuǎn)UTF-8,UTF-8轉(zhuǎn)GBK
- 防XSS,sql注射,代碼執(zhí)行,文件包含的通用代碼
- DedeCms教程:優(yōu)化DedeCMS搜索結(jié)果
- DedeCms教程:Linux+Apache+PHP+MySQL服務(wù)器環(huán)境(CentOS篇)
- DedeCms教程:LuManager服務(wù)器管理軟件安裝DEDECMS軟件
- DedeCms教程:Ubuntu/Debian上安裝 PHP 5.3, Nginx 和 PHP-fpm
- DedeCms教程:windows server 2003 php 環(huán)境搭建
- 相關(guān)鏈接:
復(fù)制本頁鏈接| 搜索DedeCms教程:DedeCMS站點高級安全策略(Linux篇)| DedeCms模板| Dede模板| 織夢模板| dedecms
- 教程說明:
DedeCms教程-DedeCms教程:DedeCMS站點高級安全策略(Linux篇)
。