Discuz 论坛架构:

   nginx+php+mysql

1、权限最小化

a) Webserver及数据库服务均以非root权限启动;

b) 文件属主与webserver进程属主不同(一般设置文件的属主为root)

c) 确保discuz网站的目录和文件权限最小化。

目录权限除必须为777的目录外,其他目录权限须设置为755

文件权限除必须为777的文件外,其他文件权限须设置为644

d) 数据库与webserver不在同一台机器上

e) 可写的目录没有执行脚本权限,可执行脚本权限的目录不可写。

常见可写目录为:./config、./data、./uc_client/data/、./uc_server/data/

常见不可解析php的目录为:./data/、diy、template、p_w_upload、./install/p_w_picpaths、

./uc_server/data、forumdata、p_w_picpaths

   nginx配置

       location ~* ^/(data|p_w_picpaths|config|static|source)/.*\.(php|php5)$ {

               deny all;

       }  

f) 控制脚本仅允许访问网站文件

在php.ini中配置open_basedir项为网站目录

2、敏感信息不显示

a) 关闭webserver的目录浏览功能

   nginx默认是未开启列目录功能的

b) 关闭php的错误消息显示

3、开启日志记录功能

   a)nginx访问日志

   b)php-error日志

4、实施ip策略

   a) 数据库仅开放在内网

   b) 不允许任意ip连接数据库

   c) Iptables禁止所有的非法连接

   d) 管理目录仅允许内网访问