360网站安全检测常见问题与解决方案
近期使用360网站安全检测工具对WordPress站点进行扫描,发现安全评分有所下降。针对检测报告中指出的几个常见问题,本文将提供具体的解决方案和配置方法。
问题一:Flash配置不当漏洞
风险提示:存在“非法读取用户信息”风险,安全性降低20% [严重]。
问题描述:crossdomain.xml文件配置过于宽松,允许任意域进行跨域访问,存在安全风险。
解决方案:
1. 首先找到服务器上的crossdomain.xml文件。在Linux系统中,可以使用以下命令查找:
find / -name crossdomain.xml
2. 编辑该文件,将过于宽松的配置进行限制。修改前典型的宽松配置如下:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
3. 修改后的配置应限制为只允许自己的域名访问(请将example.com替换为您自己的域名):
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="example.com" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
问题二:Cookie没有HttpOnly标志
风险提示:存在“网站敏感信息泄露”风险,安全性降低5% [轻微]。
问题描述:Cookie未设置HttpOnly属性,可能导致Cookie被客户端脚本(如JavaScript)访问,增加XSS攻击风险。
解决方案:
修改PHP配置文件(php.ini),启用session.cookie_httponly选项。
1. 找到php.ini文件中的以下配置项:
; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
; http://www.php.net/manual/en/session.configuration.php#ini.session.cookie-httponly
session.cookie_httponly =
2. 将其修改为:
session.cookie_httponly = 1
注意:修改后需要重启Web服务器(如Apache或Nginx)或PHP-FPM服务使配置生效。
问题三:发现robots.txt文件
风险提示:存在“服务器配置信息泄露”风险,安全性降低5% [轻微]。
问题描述:robots.txt文件可能暴露网站目录结构或敏感路径,被恶意利用。
解决方案:
可以通过Web服务器配置,限制非搜索引擎爬虫对robots.txt文件的访问。以下以Nginx为例:
在网站的Nginx配置文件中(通常在/usr/local/nginx/conf/vhost/或/etc/nginx/sites-available/目录下),添加以下配置:
location = /robots.txt {
if ($http_user_agent !~* "spider|bot|Python-urllib|pycurl") {
return 403;
}
}
此配置会检查请求robots.txt文件的User-Agent,如果不是已知的搜索引擎爬虫,则返回403禁止访问状态码。
问题四:X-Frame-Options头未设置
风险提示:存在“非法读取用户信息”风险,安全性降低5% [轻微]。
问题描述:未设置X-Frame-Options响应头,网站可能被嵌入到其他站点的iframe中,导致点击劫持(Clickjacking)攻击。
解决方案:
X-Frame-Options响应头用于控制页面是否可以在frame或iframe中加载。推荐设置为SAMEORIGIN,即只允许同源页面嵌套。
Apache服务器配置:
在Apache配置文件(如.htaccess或虚拟主机配置)中添加:
Header always append X-Frame-Options SAMEORIGIN
Nginx服务器配置:
在Nginx配置文件(server或location块)中添加:
add_header X-Frame-Options SAMEORIGIN;
IIS服务器配置:
在Web.config文件的<system.webServer>节中添加:
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
注意:现代浏览器更推荐使用Content-Security-Policy头中的frame-ancestors指令来替代X-Frame-Options,因为它提供了更细粒度的控制。例如:
Content-Security-Policy: frame-ancestors 'self';
操作总结与验证
完成以上所有配置修改后,请务必重启相应的Web服务器软件(如Nginx、Apache或IIS)以使配置生效。
之后,可以再次使用360网站安全检测工具进行扫描,验证问题是否已修复,安全评分应得到提升。
常见Web安全漏洞类型拓展
除了上述检测到的问题,了解其他常见的Web安全漏洞类型有助于构建更全面的防护体系。
1. 注入漏洞
- SQL注入漏洞
- XSS(跨站脚本)漏洞
- HTTP响应头注入漏洞
- 跳转漏洞
- XML注入漏洞
2. 信息泄漏漏洞
- phpinfo()信息泄漏漏洞
- 测试页面泄漏在外网漏洞
- 备份文件泄漏在外网漏洞
- 版本管理工具文件信息泄漏漏洞
- 管理后台泄漏漏洞
- 内部员工信息(邮箱、分机号)泄漏漏洞
- 错误详情泄漏漏洞
- 撞库攻击漏洞
3. 请求伪造漏洞
- CSRF(跨站请求伪造)漏洞
4. 权限控制漏洞
- 文件上传漏洞
- crossdomain.xml配置不当漏洞
- Flash/Embed标签配置不当漏洞
- Cookie安全性漏洞(如缺少Secure、HttpOnly标志)
5. 其他攻击类型
- Hash冲突攻击(HashDoS)
- 短信/邮箱轰炸攻击
定期进行安全检测、保持系统和插件更新、遵循安全编码规范,是维护WordPress网站安全的重要措施。
您好:我的php网站提示 存在"网站敏感信息泄露"风险,安全性降低5% [轻微] Cookie没有HttpOnly标志,按照您的思路已经改了,可是没有任何用,360还是报这个提示。您有解决方案吗,麻烦回复我一下,公司着急处理这个问题,您看到了请给我发送邮件,谢谢了。
已经邮件回复你了
另外 处理了不能马上反映到搜索结果上 搜索引擎还有个缓存问题 过几天查看即可
然而你的360账号raysykes还管理了4个其他网站,其中2个打不开,2个可以打开,那2个可以打开的好久没检测了,而且也本来就不是100分,你咋不去修复呢?
卖了