一般来讲,网站安全无非是服务器安全加固、网站安全加固、日常管理三个方面的内容,这儿以discuz论坛为例简单的介绍下
服务器安全加固
确保网站安全首先要保证服务器各项组件的安全,如discuz服务器的一般组件有Apache、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、attachment、./install/images、
./uc_server/data、forumdata、images
在apache中配置不允许执行php权限如下:
php_flag engine off
Order allow,deny
Deny from all
f) 控制脚本仅允许访问网站文件
在php.ini中配置open_basedir项为网站目录
2、默认选项需要加固
a) 删除默认webserver页面
如apache需要删除icons和manual两个目录
b) 禁用php危险函数
在php.ini配置:
disable_functions=exec,popen,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open
3、敏感信息不显示
a) 关闭webserver的目录浏览功能
Apache配置文件中的目录配置项的“Indexes”删除或者改为“-Indexes”
b) 关闭php的错误消息显示
Php配置:display_errors = Off