马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
6 i/ X1 r% d }1 p* r3 d
* g2 k$ x9 F7 T( B# m
https://security.tencent.com/index.php/blog/msg/17
7 n6 [5 P; a& Z0 ^7 p4 }0 S& @. s7 `" g+ u6 _, ~
4 H: I. }9 T* U8 ?前言
. B7 Y( ]# L. b. v" x Discuz是康盛公司推出的一套通用社区论坛软件系统,用户可以在不需要任何编程基础上,通过简单的设置和安装,在互联网上搭建起具有完善功能、高负载、高定制的论坛。Discuz是一个经过完善设计,适用于各种服务器环境的高效论坛系统解决方案。
) `+ V8 Z2 N5 c+ W( y( | 由于Discuz的安装和管理极其方便,许多企业管理员并未对他的安全风险有相应的了解;Discuz作为开源软件,历史上被发现若干安全漏洞,极容易导致服务器被入侵。
+ {) d9 ~4 Y s, K1 P8 I! `' p7 I5 v 出于工作需要,笔者经常会接触到公司的各类Discuz论坛,对Discuz的安全问题十分关注,这里给大家分享一些关于discuz论坛防护的方案,希望能给广大企业用户提供帮助。 % T' s/ J+ W5 @1 a% ]# w
Discuz论坛管理大致分为服务器安全加固、网站安全加固、日常管理三个方面的内容,以下是详细的实施方案可供参考。 * t5 k9 ~' S+ ]8 @
服务器安全加固
& {' ^' K" f0 T' U6 Z9 r确保网站安全首先要保证服务器各项组件的安全,如discuz服务器的一般组件有Apache、php、mysql等,确保这些第三方软件安全有如下一些原则:
3 U+ o( S6 z9 ?( c9 a! y( [1、权限最小化
% {. {6 C2 N7 s _9 H/ ua) Webserver及数据库服务均以非root权限启动; ( r/ I+ a. E5 l% O
b) 文件属主与webserver进程属主不同(一般设置文件的属主为root)
! o, V9 ~, h$ L; B8 o% `c) 确保discuz网站的目录和文件权限最小化。 目录权限除必须为777的目录外,其他目录权限须设置为755文件权限除必须为777的文件外,其他文件权限须设置为644d) 数据库与webserver不在同一台机器上 9 K, S7 N& T: J$ V* d# _" n* p
e) 可写的目录没有执行脚本权限,可执行脚本权限的目录不可写。 常见可写目录为:./config、./data、./uc_client/data/、./uc_server/data/常见不可解析php的目录为:./data/、diy、template、attachment、./install/images、forumdata、images在apache中配置不允许执行php权限如下:<Directory "/discuz/data/"> php_flag engine off <Files ~ ".php"> Order allow,deny Deny from all </Files></Directory>f) 控制脚本仅允许访问网站文件 在php.ini中配置open_basedir项为网站目录
2 W6 J2 ]' C+ _3 }, Q" v l2、默认选项需要加固 7 W' ~. d4 F0 g2 Y
a) 删除默认webserver页面
5 {2 \7 S* X! f+ q) C9 [ 如apache需要删除icons和manual两个目录b) 禁用php危险函数 在php.ini配置:disable_functions=exec,popen,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open/ k& G$ F# o& {9 O+ x& Y0 @/ l
3、敏感信息不显示 a) 关闭webserver的目录浏览功能 ! X/ B8 v% G6 \
Apache配置文件中的目录配置项的“Indexes”删除或者改为“-Indexes”b) 关闭php的错误消息显示* N5 b" b! l3 J+ A" F4 L
Php配置:display_errors = Off$ L) N2 N4 [6 V ]
4、开启日志记录 a) 开启webserver的日志记录功能
: z" @# L* l) |( c+ C, z: Q. i8 | CustomLog /www/logs/access_log common' S+ T" w- g& L! B7 Z7 E
b) 开启php的错误日志记录功能
$ h& a8 x! ~ n7 B0 Z log_errors = Onerror_log = D:/usr/local/apache2/logs/php_error.log注意:该文件必须允许apache用户的和组具有写的权限, B$ O* v2 Q# C1 N4 A4 i
5、实施ip策略 $ b' P; d# ^: ~
a) 数据库仅开放在内网 5 `; s8 i( ?- h* p
b) 不允许任意ip连接数据库 * w+ I8 T9 R) p
c) Iptables禁止所有的非法连接 ; L$ Z. H' ]+ j* S, c& J2 `
d) 管理目录仅允许内网访问
# a. @+ b9 @2 B, o! F( u. ~) E! @ 网站安全加固
3 ?. N0 I. n8 g2 L4 j, x服务器足够安全只是网站安全的前提,确保网站安全大致有如下措施:
+ A0 `" Z( K* T4 J9 } Z- }1、账户安全 ) |) L6 g( _) E. y% c% f: }
a) 用户密码需要加密存储
( N! I/ v$ J* I3 Hb) 用户密码需要采用密文的形式在网络上传输 % S1 d# {" f4 o$ C) d- n. ~# N
2、后台管理
3 K9 ?( x; I1 K# G da) 后台管理界面需要使用双因子确保管理员的合法性。常见的因子如(ip策略、token、用户密码)等。 . ~; E4 j k" L9 E( U
3、业务配置 5 i t0 {) W7 A; k9 z6 A! n9 M% w
a) 针对discuz业务特性,在安装的时候会删除不必要的插件 api目录(外部接口)里的以下功能如果不使用可以删除Db目录 ---> UCenter数据库备份接口google---google引擎使用Javascript目录 ---> 数据和广告的js调用Trade目录 ---> 在线支付接口Manyou目录 ---> 漫游和云平台使用Discuz! X1.5关闭个人空间方式:修改文件 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关闭个人空间方式:后台->全局->站点功能->功能模块(是否开启家园功能,点否即可关闭)c) 检查crossdomain.xml文件,限制到特定的域名或者将此文件删除。 - ~' i6 Z, s6 @
d) 遵循Discuz常见安全配置 1、forumfounders= '1'论坛创始人UID,建议只有一个创始人。2、论坛防御级别配置attackevasive = 0 (由于会影响用户,这里默认是0,如果遭到 攻击,可以自行尝试1,2,4,8的配置)论坛防御级别,可防止大量的非正常请求造成的拒绝服务攻击。3、urlxssdefend = 1论坛访问页面防御开关。4、admincp['forcesecques'] = 1管理人员必须设置安全提问才能进入系统设置,0=否,1=是【安全】。5、admincp['checkip'] = 1后台管理操作是否验证管理员的 IP,1=是【安全】,0=否。6、admincp['tpledit'] = 0 (这项针对discuz! 7.2的安全配置)是否允许在线编辑论坛模板 1=是 0=否【安全】。7、admincp['runquery'] = 0是否允许后台运行SQL语句1=是,0=否【安全】。8、admincp['dbimport'] = 0是否允许后台恢复论坛数据 1=是 0=否【安全】。详细说明请参考:http://faq.comsenz.com/viewnews-9245 x% j6 x8 ^. {( z3 ^
( `7 Q, c$ e+ X- C* i
日常管理
: ]- e) \7 L, X4 |, E" w# f1、 所有的第三方软件均需要使用最新版本,确保安全。 ; R# D% b/ D C) J
2、 关注所用到的第三方软件的安全信息,及时更新补丁或升级。如dz论坛容易出现nginx的解析漏洞 在PHP的配置文件php.ini中配置cgi.fix_pathinfo = 0,防止nginx文件解析漏洞3、 关注官方发布的安全信息。+ R2 ]/ K. a% ^2 }6 c# s( N; }
http://www.discuz.net/forum-10-1.html : D) I- R- |' G0 b E+ l- p! M
4、 dz论坛统一管理。统一化的管理可以高效的对discuz论坛进行更新、维护,避免出现各个管理员对安全信息掌握不一致的问题。
1 G7 f0 v9 q F5 d8 Q' b5、 增加dz的网站风险检测系统,24扫描dz站点,及时掌握dz的安全状况
. F/ m# N7 Q1 a& u1 R6、 增加漏洞收集渠道,更好的掌握自身产品的安全漏洞。 . c8 L- b+ H" S" a" s& h) R C$ o' H
作为普通网站的管理人员,通常需要遵循服务器安全加固中的1,2,3,4四点、网站安全加固的1,2两点、及日常管理的1,2,3三点用于确保网站的安全性。 # ?0 q1 \( X5 v! a f0 U
中小型企业若使用到discuz论坛可以参考网站安全加固的业务配置选项,更好的防御discuz论坛。 3 Y5 {" H8 j( t* p8 o
对于人力不足或在短期内迫切需要提升网站安全性的管理人员来说,推荐使用安全宝(http://anquanbao.com/)或加速乐(http://www.jiasule.com/)的一键安全防护功能。
- M9 _3 \) ~1 ~; V! e0 s! G* ?, J2 B I* z s, S( D2 ?
" J1 T6 e$ t7 ^. @3 B. V, D, ?
转载请保留当前帖子的链接:https://www.beimeilife.com/thread-41672-1-1.html 谢谢 |