灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3127回复:0

Discuz论坛安全加固浅析

楼主#
更多 发布于:2012-08-24 21:55

Discuz! 论坛以其功能完善、效率高效、负载能力,深受被大多数的网站喜爱和青睐。无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x2.0,经历了数次的二次开发和发布,感触颇多。
言归正传,本篇主要从nginx 安全加固、discuz 文件目录、mysql 用户权限等方面来阐述discuz论坛安全加固,希望给大家一点灵感。
1.Nginx安全加固
作为web的前端,在上面加强安全防护,效率比php要高多了。针对discuz! X2.0论坛nginx安全加固如下:
location ~* ^/(data|images|config|static|source)/.*.(php|php5)$
   {
   deny all;
   }
意思是data images config static source等目录及其所有的php不能从web访问,这样避免黑客在上传上面的目录上传的木马无法运行,返回403错误。当然最直接的方法就是先将所有的文件禁止运行,然后加入需要放开的php和目录,这样做起最直接,而且最彻底。
例如:(只是举个例子而已,千万不要直接拿到自己的生产环境去!否则,你会哭的。)
location ~ (index|forumn|api|home|).*.(php)?$
    {
                allow all;
                fastcgi_pass  127.0.0.1:9000;
                fastcgi_index index.php;
                include fcgi.conf;
}
2.discuz目录加固
不要听信网上所有将目录设置为777,这样的话,任何用户都已对目录可写可执行。正确的做法如下:
1)运行 nginx 和php 的用户应该这样来设置 useradd -g www -d /data0/htdocs -s /sbin/nologin www 意思:创建一个www用户根目录在/data0/htdocs 使用shell 是/sbin/nologin(不允许登录)
2)针对discuz!X2.0目录权限可以设置:
进入论坛根目录
find source -type d -maxdepth 4 -exec chmod 555  {};
find api -type d -maxdepth 4 -exec chmod 555  {};
find static -type d -maxdepth 4 -exec chmod 555  {};
find archive -type d -maxdepth 4 -exec chmod 555  {};
find config-type d -maxdepth 4 -exec chmod 555  {};
find data- type d -maxdepth 4 -exec chmod 755  {}; #data需要写缓存所以权限为755
find template - type d -maxdepth 4 -exec chmod 555  {};
find uc_client - type d -maxdepth 4 -exec chmod 555  {};
3) 针对discuz!X2.0文件权限可以设置:
进入论坛根目录
find . - type f -maxdepth -exec chmod 444  {};#设置论坛目录的文件只可读,然后设置那些需要写的文件,一般只有data下的文件是可以的。
find data - type f -maxdepth -exec chmod 755  {};#设置data 文件为755
3.mysql权限设置:
1)mysql 用户权限:用户的权限应严格限制,不应该有的权限全部去掉。比如该用户只需执行select 语句,且只能操作某个库,那么只赋予select 权限和限制在某个库即可,千万不要画蛇添脚,添加delete update权限等。例如下图所示

2)限制来源ip:这一点是最容易让人遗忘,可能测试放开了来源ip,但是上线的时候却忘记了。但是带来的后果确实不堪设想。设置用户的来源ip比如只允许来源ip 192.168.1.2可以连接。例如下图所示

以上我对discuz!论坛安全加固的一点点总结,因为是抽出很少时间来整理,所以难免有错误发生,希望大家不啬赐教。有一句话送给大家 “安全是相对,没有绝对的”,在以后说不定又有新的问题接踵而来,这就需要大家对新的问题详细分析,对症下药。
作者简介:崔晓辉,网名coralzd,大众网系统管理员,精通网站系统架构、Unix技术。gtalk:coralzd@gmail.com


喜欢0 评分0
游客

返回顶部