菜单

安全措施

相关源文件

目的与范围

本文档详细介绍了 Front-End Checklist 中建议的安全措施,以保护 Web 应用程序免受常见漏洞和攻击。这些指南可帮助开发人员在前端开发过程中实施重要的安全功能和最佳实践。有关与性能相关的安全注意事项,请参阅 性能优化

安全概述

Front-End Checklist 中的安全措施涵盖了 Web 应用程序保护的几个关键领域,重点关注传输层安全、内容安全策略以及常见攻击向量的预防。

来源: README.md559-616

安全评估工具

在实施具体安全措施之前,Front-End Checklist 建议使用专门的安全评估工具扫描您的网站。

工具目的
securityheaders.io分析与安全相关的 HTTP 响应头
Observatory by Mozilla全面的安全评估工具

来源: README.md563-565

传输层安全

HTTPS 实施

HTTPS 在清单中被标记为高优先级项目,因为它构成了 Web 安全的基础。

要求

  • ![High][high_img] 网站上的每个页面都必须使用 HTTPS
  • 所有外部内容(插件、图像、脚本)也必须通过 HTTPS 加载
  • 正确的证书实施和验证

实施资源

  • Let's Encrypt - 免费 SSL/TLS 证书
  • SSL Labs Server Test - 用于测试 SSL/TLS 实施

来源: README.md568-573

HTTP 严格传输安全 (HSTS)

HSTS 被归类为中优先级安全措施,有助于防范协议降级攻击和 Cookie 劫持。

实现

  • ![Medium][medium_img] 设置 Strict-Transport-Security HTTP 头
  • 为获得最高安全性,请考虑 HSTS 预加载

HSTS 头示例

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

资源

  • HSTS 预加载状态检查器
  • OWASP HTTP 严格传输安全备忘单
  • 传输层保护备忘单

来源: README.md574-582

攻击防护

跨站请求伪造 (CSRF) 防护

CSRF 防护在 Front-End Checklist 中被标记为高优先级。

实施原则

  • ![High][high_img] 确保对服务器端发出的请求是合法的
  • 验证请求来源
  • 为改变状态的操作实施 CSRF 令牌

资源

  • OWASP 跨站请求伪造防护备忘单

来源: README.md583-588

跨站脚本 (XSS) 防护

XSS 防护在清单中被指定为高优先级,因为这些攻击可能导致严重的严重安全后果。

防护技术

  • ![High][high_img] 输入验证和清理
  • 输出编码
  • 使用具有内置 XSS 防护功能的新型框架
  • 内容安全策略实施

资源

  • OWASP XSS 防护备忘单
  • OWASP DOM 型 XSS 防护备忘单

来源: README.md589-595

内容保护头

内容类型选项

此头可防止浏览器进行内容类型 MIME 嗅探。

实现

  • ![Medium][medium_img] 添加 HTTP 头 X-Content-Type-Options: nosniff
  • 防止 Google Chrome 和 Internet Explorer 尝试检测与声明不同的内容类型

来源: README.md596-601

X-Frame-Options (XFO)

X-Frame-Options 通过控制框架嵌入来保护用户免受点击劫持攻击。

实现选项

  • ![Medium][medium_img] X-Frame-Options: DENY - 防止任何域框架化内容
  • X-Frame-Options: SAMEORIGIN - 仅允许当前站点框架化内容
  • X-Frame-Options: ALLOW-FROM uri - 允许指定的 URI 框架化内容

资源

  • Scott Helme 关于 X-Frame-Options 的指南
  • RFC7034 - HTTP 头字段 X-Frame-Options

来源: README.md602-606

内容安全策略 (CSP)

CSP 通过定义受信任的内容来源,提供强大的防御机制。

主要功能

  • ![Medium][medium_img] 定义内容如何加载以及从何处加载
  • 可用于防范点击劫持攻击
  • 有助于防止 XSS 和其他代码注入攻击

基本 CSP 头示例

Content-Security-Policy: default-src 'self'; script-src 'self' trusted-scripts.com;

资源

  • Scott Helme 的 CSP 入门和备忘单
  • OWASP CSP 备忘单
  • 内容安全策略参考

来源: README.md607-615

安全实施流程

安全措施的实施应遵循系统化方法,以确保全面保护。

  1. 初步评估:使用安全工具扫描您的网站以识别漏洞
  2. 基本头实施:配置 HTTPS、HSTS、内容类型选项和 X-Frame-Options
  3. 内容策略配置:为您的资源实施适当的内容安全策略
  4. 测试与验证:验证针对 CSRF、XSS 和其他攻击的防护
  5. 持续监控:定期扫描和更新安全措施

来源: README.md563-615

安全措施清单

安全措施优先级实现
HTTPS![High][high_img]在所有页面和所有内容上实施
HSTS![Medium][medium_img]设置适当的头,并设置合理的 max-age
CSRF 保护![High][high_img]实施令牌、来源验证
XSS 防护![High][high_img]输入验证、输出编码、CSP
内容类型选项![Medium][medium_img]设置 X-Content-Type-Options: nosniff
X-Frame-Options![Medium][medium_img]设置适当的框架策略
内容安全策略![Medium][medium_img]定义可信内容来源

来源: README.md559-616

与其他安全方面的关系

前端安全措施与 Front-End Checklist 中其他部分涵盖的许多其他 Web 开发方面相关。

  1. JavaScript 安全(在 JavaScript 中介绍):JavaScript 实施的安全编码实践
  2. 性能安全(在 性能优化 中介绍):影响网站性能的安全方面
  3. HTML 安全(在 HTML 和文档头 中介绍):安全的标记实践

来源: README.md README.md README.md