Discuz论坛 Nginx 文件权限 Mysql 安全加固

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权限等。例如下图所示

MySQL用户权限

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

限制来源ip

 

腾讯云云产品双11精选秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

百度云不止一折优惠【点击购买】

7 Replies to “Discuz论坛 Nginx 文件权限 Mysql 安全加固”

  1. 想给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,求助大神如何解决?

发表评论

电子邮件地址不会被公开。 必填项已用*标注