1、概述
网站安全主要从网络安全、主机系统安全、web服务安全及页面数据安全等方面进行检测,网络、服务器等基础环境的安全检测此处不再赘述。
2、web服务安全防护
2.1 web应用安全检测
(一)对于商业软件,如Oracle, Apache等通用组件系统,应当依据厂商或第3方安全机构提供的安全配置加固列表进行安全设置,在厂商推出安全修补程序后应及时进行安全补丁更新;
(二)应当定期对采用通用程序(如Apache, websphere等)的应用系统进行弱点扫描,并及时解决所发现的问题;扫描应当在非关键业务时段进行,并制定详细的回退计划;
(三)隐藏Apache的版本号及其它敏感信息。默认情况下,很多Apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的Apache模块。这些信息可以为黑客所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。
这里有两条语句,你需要添加到你的httpd.conf文件中:
ServerSignature Off
ServerTokens Prod
ServerSignature出现在Apache所产生的像404页面、目录列表等页面的底部。ServerTokens目录被用来判断Apache会在Server HTTP响应包的头部填充什么信息。如果把ServerTokens设为Prod,那么HTTP响应包头就会被设置成:Server:Apache
(四)确保web根目录之外的文件没有提供服务
拒绝Apache访问web根目录之外的任何文件。假设你的所以web站点文件都放在1个目录下(例如/web),你可以如下设置:
Order Deny,Allow
Deny from all
Options None
AllowOverride None
Order Allow,Deny
Allow from all
注意,因为置Opitins None 和AllowOverride None,这将关闭服务器的所有Option和Override。必须明确把每个目录设置成Option或者Override。
(五)关闭目录浏览
在Directory标签内用Option命令来实现这个功能。设置Option为None或者-Indexes。Options –Indexes
(六)关闭includes
通过在Directory标签内使用Option命令来实现。设置Option为None或者-Includes。Options –Includes
(七)关闭CGI执行程序
如果不用CGI,对其进行关闭。在目录标签中把选项设置成None或-ExecCGI就可以:Options –ExecCGI
(八)禁止Apache遵循符号链接
同上,把选项设置成None或-FollowSymLinks:Options –FollowSymLinks
2.2 web网站代码安全检测
(一)采用最新版本的web服务程序;
(二)采用最小权限的原则设置专门帐户用于运行网站服务、数据库服务;
(三)网站与数据库分离,禁止web服务与数据库服务运行于同一台服务器上;
(四)对IIS、Apache等web服务进行合理配置,防范目录遍历、写权限、文件下载等漏洞;
(五)加强网站代码的安全性,对互联网用户提交到网站数据库的数据进行严格过滤,防范SQL注入,如:“_、’、”、and、exec、--、or”等;
(六)对互联网用户提交的URL、留言等内容进行严格过滤,防范跨站攻击,如:“<、、’、”、script、/、(、)”等;
(七)严格限制对外网站的文件上传功能,对需要提供上传功能的网站要加强上传文件的格式、内容检查,并进行病毒查杀,防止互联网用户上传恶意代码;
(八)设置不宜猜测的后台管理目录,防范对后台管理的暴力破解。