Discuz! 论坛以其功能完善、效率高效、负载能力,深受被大多数的网站喜爱和青睐。无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x3.1,经历了数次的二次开发和发布,感触颇多。但是最近老是被上传上传到木马,下面我们从nginx 安全加固、discuz 文件目录、mysql 用户权限等方面来阐述discuz论坛安全加固,希望给大家一点灵感。
[title]Nginx安全加固[/title]
作为web的前端,在上面加强安全防护,效率比php要高多了。针对discuz! X3.1论坛nginx安全加固如下:
location ~* ^/(data|images|config|static|source|uc_server/data/avatar)/.*\.(php|php5)$ { deny all; }
意思是data images config static source等目录及其所有的php不能从web访问,这样避免黑客在上传上面的目录上传的木马无法运行,返回403错误。当然最直接的方法就是先将所有的文件禁止运行,然后加入需要放开的php和目录,这样做起最直接,而且最彻底。
[title]discuz目录加固[/title]
不要听信网上所有将目录设置为777,这样的话,任何用户都已对目录可写可执行。针对discuz!X3.1目录权限可以设置:
进入论坛根目录
find source -maxdepth 4 -type d -exec chmod 555 {} \; find api -maxdepth 4 -type d -exec chmod 555 {} \; find static -maxdepth 4 -type d -exec chmod 555 {} \; find archive -maxdepth 4 -type d -exec chmod 555 {} \; find config -maxdepth 4 -type d -exec chmod 555 {} \; find data -maxdepth 4 -type d -exec chmod 755 {} \; find template -maxdepth 4 -type d -exec chmod 555 {} \; find uc_client -maxdepth 4 -type d -exec chmod 555 {} \;
3)??? 针对discuz!X3.1文件权限可以设置:
进入论坛根目录
find . - type f -maxdepth -exec chmod 444 \ {};#设置论坛目录的文件只可读,然后设置那些需要写的文件,一般只有data下的文件是可以的。 find data - type f -maxdepth -exec chmod 755 \ {};#设置data 文件为755
[title]mysql权限设置:[/title]
1)mysql 用户权限:用户的权限应严格限制,不应该有的权限全部去掉。比如该用户只需执行select 语句,且只能操作某个库,那么只赋予select 权限和限制在某个库即可,千万不要画蛇添脚,添加delete update权限等。例如下图所示
2)限制来源ip:这一点是最容易让人遗忘,可能测试放开了来源ip,但是上线的时候却忘记了。但是带来的后果确实不堪设想。设置用户的来源ip比如只允许来源ip 192.168.1.2可以连接。例如下图所示
7 replies on “Discuz论坛 Nginx 文件权限 Mysql 安全加固”
想给discuz的后台做一个限制IP访问,根据网上的方法,测试了一下:
location ~ .*admin.* {
allow 124.90.0.0/16;
allow 124.160.0.0/16;
deny all;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
}
其他IP地址访问确实403了,但是124.90.0.0/16、124.160.0.0/16这俩访问,会502,求助大神如何解决?
location ~ \.php${
}
deny all;
这样试一下。
试了一下,打开admin.php会直接弹出下载
加群提问吧
find . – type f -maxdepth -exec chmod 444 \ {}; 这个条命令报错,
具体报什么错呢?
-maxdepth 这个后面不加层数么?会报错