Discuz! 论坛以其功能完善、效率高效、负载能力,深受被大多数的网站喜爱和青睐。无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x3.1,经历了数次的二次开发和发布,感触颇多。但是最近老是被上传上传到木马,下面我们从Nginx 安全加固、discuz 文件目录、MySQL 用户权限等方面来阐述discuz论坛安全加固,希望给大家一点灵感。
Nginx安全加固
作为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和目录,这样做起最直接,而且最彻底。
discuz目录加固
不要听信网上所有将目录设置为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
mysql权限设置:
1)mysql 用户权限:用户的权限应严格限制,不应该有的权限全部去掉。比如该用户只需执行select 语句,且只能操作某个库,那么只赋予select 权限和限制在某个库即可,千万不要画蛇添脚,添加delete update权限等。例如下图所示
2)限制来源ip:这一点是最容易让人遗忘,可能测试放开了来源ip,但是上线的时候却忘记了。但是带来的后果确实不堪设想。设置用户的来源ip比如只允许来源ip 192.168.1.2可以连接。例如下图所示