Discuz论坛安全加固浅析
【51CTO专稿】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
http://os.51cto.com/art/201208/351277.htm
Discuz论坛安全加固浅析的更多相关文章
- Discuz论坛黑链清理教程
本人亲测有效,原创文章哦~~~ 论坛黑链非常的麻烦,如果你的论坛有黑链,那么对不起,百度收录了你的黑链,不会自动删除,需要你手动去清理. 什么是黑链 黑链,顾名思义,就是一些赌博网站的外链,这些黑链相 ...
- 实现Discuz论坛客户端应用源码
通过使用该源码,开发者可以迅速地将Discuz论坛迁移到Android客户端中.不需要任何的开发工作即可拥有属于自己论坛的Android客户端 源码下载:http://code.662p.com/vi ...
- Discuz论坛搬家手记(X3.2版本)
Discuz论坛搬家手记(X3.2版本) 客户在虚拟主机上 运行着一个DISCUZ论坛, 主机商限制太多,连MP3都不让放,客户准备是在上面放一个FLASH斗地主游戏的(多人联机版), 加上MYSQL ...
- discuz论坛与其它网站登录注册整合
discuz论坛与其它网站登录注册整合 本文以discuz 7.0.0 php版本的论坛与 .net 2.0的网站注册登录整合为类.没有采用uc_center或第三方插件.以另类的方式实现.此方法实现 ...
- java和Discuz论坛实现单点登录,通过Ucenter(用户管理中心)
标题有点问题,没有进行修改. 一 Discuz论坛搭建步骤 1:服务器环境配置 服务器要支持php语言+支持mysql 5.0以上的数据库 + Apache服务器(支持网站的一个服务器,通过域名的能访 ...
- 解决discuz论坛搬家:“Table ‘common_syscache’ is read only”问题
解决discuz论坛搬家:“Table ‘common_syscache’ is re http://www.zixuephp.com/wzht/discuz/20141203_11562.html ...
- LNMP环境搭建(discuz论坛)
一.操作系统级环境及软件版本 操作系统:CentOS release 6.5 (Final)minimal 内核版本:2.6.32-431.el6.x86_64 MySQL版本:MySQL-5.6.2 ...
- linux系统下搭建php环境之-Discuz论坛
1.安装搭建论坛必要的软件 apache php mysql CentOS系统我们可以直接使用 yum install 的方式进行软件安装,腾讯云有提供软件安装源,是同步CentOS官方的安装源,包涵 ...
- discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现
discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现http://www.aboutyun.com/thread-8637-1-1.html(出处: about云 ...
随机推荐
- 通过GCC编译器编译c语言
GCC编译C源代码的四个步骤 GCC编译C源代码有四个步骤:预处理---->编译---->汇编---->链接. 可以利用GCC的参数来控制执行的过程,这样就可以更深入的了解编译C程序 ...
- JPG转TIFF
最近有个项目需要用到开源软件GeoServer,数据源是一张高分辨率的2.5维图片,格式是jpg的,由于GeoServer不支持jpg格式的发布,因此考虑到要进行格式转换,将其转换成tiff格式. 1 ...
- scoi2010&&bzoj1858序列操作
[题目描述] lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a ...
- css3样式二
1.2D转换 通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数 如:div{transform: translate(50p ...
- 关于sqlserver 2008 无法远程连接的问题
Sqlserver 2008 无法远程连接,原因无非如下: 1. Sql未配置为允许TCP/IP登录: 2. 防火墙未允许端口1433(或者其他在SQL配置中指定的端口): 3. 命名实例导致的无法连 ...
- centos6安装svn1.9
增加svn的源,vi /etc/yum.repos.d/wandisco-svn.repo [WandiscoSVN] name=Wandisco SVN Repo baseurl=http://op ...
- 伪共享和缓存行填充,从Java 6, Java 7 到Java 8
关于伪共享的文章已经很多了,对于多线程编程来说,特别是多线程处理列表和数组的时候,要非常注意伪共享的问题.否则不仅无法发挥多线程的优势,还可能比单线程性能还差.随着JAVA版本的更新,再各个版本上减少 ...
- 【转】封装Lua for C#
原文:http://blog.csdn.net/rcfalcon/article/details/5583095 为了搞懂LUA在我们的GDEX中到底怎么用,我决定研究一下如何比较好的在WPF里封装一 ...
- python json操作
来源 http://www.cnblogs.com/qq78292959/p/3467937.html 什么是json: JSON(JavaScript Object Notation) 是一种轻量级 ...
- ajax 无刷新上传
最近要做微信的图文上传,因为一个图文了表中可以有多个图文,所有按钮需要随时添加,所以做了一种无刷新上传的方法. 首先我们要在html页面中写上这样的几段代码 javascript: $(functio ...