Discuz是康盛公司推出的一套通用社區(qū)論壇軟件系統(tǒng),用戶可以在不需要任何編程基礎(chǔ)上,通過簡單的設(shè)置和安裝,在互聯(lián)網(wǎng)上搭建起具有完善功能、高負(fù)載、高定制的論壇。Discuz是一個(gè)經(jīng)過完善設(shè)計(jì),適用于各種服務(wù)器環(huán)境的高效論壇系統(tǒng)解決方案。
由于Discuz的安裝和管理極其方便,許多企業(yè)管理員并未對他的安全風(fēng)險(xiǎn)有相應(yīng)的了解;Discuz作為開源軟件,歷史上被發(fā)現(xiàn)若干安全漏洞,極容易導(dǎo)致服務(wù)器被入侵。
出于工作需要,筆者經(jīng)常會接觸到公司的各類Discuz論壇,對Discuz的安全問題十分關(guān)注,這里給大家分享一些關(guān)于discuz論壇防護(hù)的方案,希望能給廣大企業(yè)用戶提供幫助。
Discuz論壇管理大致分為服務(wù)器安全加固、網(wǎng)站安全加固、日常管理三個(gè)方面的內(nèi)容,以下是詳細(xì)的實(shí)施方案可供參考。
服務(wù)器安全加固
確保網(wǎng)站安全首先要保證服務(wù)器各項(xiàng)組件的安全,如discuz服務(wù)器的一般組件有Apache、php、mysql等,確保這些第三方軟件安全有如下一些原則:
1、權(quán)限最小化
a) Webserver及數(shù)據(jù)庫服務(wù)均以非root權(quán)限啟動;
b) 文件屬主與webserver進(jìn)程屬主不同(一般設(shè)置文件的屬主為root)
c) 確保discuz網(wǎng)站的目錄和文件權(quán)限最小化。
目錄權(quán)限除必須為777的目錄外,其他目錄權(quán)限須設(shè)置為755
文件權(quán)限除必須為777的文件外,其他文件權(quán)限須設(shè)置為644
d) 數(shù)據(jù)庫與webserver不在同一臺機(jī)器上
e) 可寫的目錄沒有執(zhí)行腳本權(quán)限,可執(zhí)行腳本權(quán)限的目錄不可寫。
常見可寫目錄為:./config、./data、./uc_client/data/、./uc_server/data/
常見不可解析php的目錄為:./data/、diy、template、attachment、./install/images、
./uc_server/data、forumdata、images
在apache中配置不允許執(zhí)行php權(quán)限如下:
<directory "="" discuz="" data="">
php_flag engine off
Order allow,deny
Deny from all
f) 控制腳本僅允許訪問網(wǎng)站文件
在php.ini中配置open_basedir項(xiàng)為網(wǎng)站目錄
2、默認(rèn)選項(xiàng)需要加固
a) 刪除默認(rèn)webserver頁面
如apache需要刪除icons和manual兩個(gè)目錄
b) 禁用php危險(xiǎn)函數(shù)
在php.ini配置:
disable_functions=exec,popen,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open
3、敏感信息不顯示
a) 關(guān)閉webserver的目錄瀏覽功能
Apache配置文件中的目錄配置項(xiàng)的“Indexes”刪除或者改為“-Indexes”
b) 關(guān)閉php的錯誤消息顯示
Php配置:display_errors = Off
4、開啟日志記錄
a) 開啟webserver的日志記錄功能
CustomLog /www/logs/access_log common
b) 開啟php的錯誤日志記錄功能
log_errors = On
error_log = D:/usr/local/apache2/logs/php_error.log
注意:該文件必須允許apache用戶的和組具有寫的權(quán)限
5、實(shí)施ip策略
a) 數(shù)據(jù)庫僅開放在內(nèi)網(wǎng)
b) 不允許任意ip連接數(shù)據(jù)庫
c) Iptables禁止所有的非法連接
d) 管理目錄僅允許內(nèi)網(wǎng)訪問
網(wǎng)站安全加固
服務(wù)器足夠安全只是網(wǎng)站安全的前提,確保網(wǎng)站安全大致有如下措施:
1、賬戶安全
a) 用戶密碼需要加密存儲
b) 用戶密碼需要采用密文的形式在網(wǎng)絡(luò)上傳輸
2、后臺管理
a) 后臺管理界面需要使用雙因子確保管理員的合法性。常見的因子如(ip策略、token、用戶密碼)等。
3、業(yè)務(wù)配置
a) 針對discuz業(yè)務(wù)特性,在安裝的時(shí)候會刪除不必要的插件
api目錄(外部接口)里的以下功能如果不使用可以刪除
Db目錄 ---> UCenter數(shù)據(jù)庫備份接口google---google引擎使用
Javascript目錄 ---> 數(shù)據(jù)和廣告的js調(diào)用
Trade目錄 ---> 在線支付接口
Manyou目錄 ---> 漫游和云平臺使用
b) 關(guān)閉論壇的個(gè)人空間,防止惡意釣魚,欺詐。
Discuz! X1.5關(guān)閉個(gè)人空間方式:
修改文件 source/module/home/home_space.php,搜索如下代碼:
$do=(!empty($_GET['do'])&&in_array($_GET['do'], $dos))?$_GET['do']:'index';
下面添加如下代碼:
if(in_array($do, array('home', 'doing', 'blog', 'album', 'share', 'wall'))) {
showmessage('抱歉,家園功能尚未開啟', 'forum.php');
}
Discuz! X2關(guān)閉個(gè)人空間方式:
后臺->全局->站點(diǎn)功能->功能模塊(是否開啟家園功能,點(diǎn)否即可關(guān)閉)
c) 檢查crossdomain.xml文件,限制到特定的域名或者將此文件刪除。
d) 遵循Discuz常見安全配置
1、forumfounders= '1'
論壇創(chuàng)始人UID,建議只有一個(gè)創(chuàng)始人。
2、論壇防御級別配置attackevasive = 0 (由于會影響用戶,這里默認(rèn)是0,如果遭到 攻擊,可以自行嘗試1,2,4,8的配置)
論壇防御級別,可防止大量的非正常請求造成的拒絕服務(wù)攻擊。
3、urlxssdefend = 1
論壇訪問頁面防御開關(guān)。
4、admincp['forcesecques'] = 1
管理人員必須設(shè)置安全提問才能進(jìn)入系統(tǒng)設(shè)置,0=否,1=是【安全】。
5、admincp['checkip'] = 1
后臺管理操作是否驗(yàn)證管理員的 IP,1=是【安全】,0=否。
6、admincp['tpledit'] = 0 (這項(xiàng)針對discuz! 7.2的安全配置)
是否允許在線編輯論壇模板 1=是 0=否【安全】。
7、admincp['runquery'] = 0
是否允許后臺運(yùn)行SQL語句1=是,0=否【安全】。
8、admincp['dbimport'] = 0
是否允許后臺恢復(fù)論壇數(shù)據(jù) 1=是 0=否【安全】。
日常管理
1、 所有的第三方軟件均需要使用最新版本,確保安全。
2、 關(guān)注所用到的第三方軟件的安全信息,及時(shí)更新補(bǔ)丁或升級。如dz論壇容易出現(xiàn)nginx的解析漏洞
在PHP的配置文件php.ini中配置cgi.fix_pathinfo = 0,防止nginx文件解析漏洞
3、 關(guān)注官方發(fā)布的安全信息。
4、 dz論壇統(tǒng)一管理。統(tǒng)一化的管理可以高效的對discuz論壇進(jìn)行更新、維護(hù),避免出現(xiàn)各個(gè)管理員對安全信息掌握不一致的問題。
5、 增加dz的網(wǎng)站風(fēng)險(xiǎn)檢測系統(tǒng),24掃描dz站點(diǎn),及時(shí)掌握dz的安全狀況
6、 增加漏洞收集渠道,更好的掌握自身產(chǎn)品的安全漏洞。
作為普通網(wǎng)站的管理人員,通常需要遵循服務(wù)器安全加固中的1,2,3,4四點(diǎn)、網(wǎng)站安全加固的1,2兩點(diǎn)、及日常管理的1,2,3三點(diǎn)用于確保網(wǎng)站的安全性。
中小型企業(yè)若使用到discuz論壇可以參考網(wǎng)站安全加固的業(yè)務(wù)配置選項(xiàng),更好的防御discuz論壇。
此文由 網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口 編輯,未經(jīng)允許不得轉(zhuǎn)載!: