请遵循这份网站安全检查清单,其中列出了组织应采取的 10 项关键措施,用于验证和授权用户、加密 Web 流量、减轻第三方风险、阻止 DDoS 攻击和机器人等。
阅读本文后,您将能够:
复制文章链接
对于依赖 Web 应用作为收入、效率和客户洞察来源的所有组织而言,网站安全都至关重要。如果组织的网站接收和存储敏感数据,或提供关键基础设施和服务,则特别容易受到不同复杂性、规模和来源的攻击。
鉴于互联网威胁形势和监管环境不断变化,Web 应用安全作为一门学科,其范围十分广泛且不断发展。例如,本检查清单的重点是如何保护网站,但保护 API 和启用 AI 的应用(网站越来越多地采用这些应用)对大型企业来说越来越重要。
然而,所有规模和所有行业的面向公众的网站都可以从围绕技术控制、访问控制和用户管理的“基础”措施中受益。为此,本网站安全指南涵盖了以下 10 条建议:建议:使用双因素身份验证而非仅密码身份验证
就像航空公司在允许乘客登机之前必须使用有效身份证件验证乘客身份一样,组织也必须验证谁在登录为其 Web 应用提供支持的数字系统。
(通过确保个人是他们所声称的身份)防止未经授权访问的过程称为身份验证。身份验证通过根据数字记录检查特定特征或“因素”来验证身份。
以下是最常见的身份验证因素:
第一种类型的问题是密码通常可能被攻击者猜到或窃取。由于网络钓鱼、在途攻击、暴力破解密码尝试和密码重用盛行,攻击者收集被盗的登录凭证变得更简单。
因此,组织应该为其帐户实施双因素身份验证 (2FA)。双因素身份验证(至少)要求两种不同的身份验证形式,这比只要求一种身份验证形式更有效。虽然攻击者并非无法破解双因素身份验证,但与仅采用密码的身份验证相比,破坏双因素身份验证的难度和成本要高得多。
建议:仅对已授权用户设置基于角色的权限
然而,仅仅因为某人的身份经过验证,并不意味着他们应该可以控制一切。授权有助于确定一个经过身份验证的用户可以看到什么和可以做什么(即他们的权限)。
例如,“超级管理员”可能是唯一有权编辑所有设置和页面的人;而“只读”用户可能只能查看网站的分析内容,而不能查看其他任何内容。
随着组织的发展,Web 团队的角色数量也在增加:可能有前端开发人员、后端开发人员、安全分析师、报告分析师、Web 设计师、内容编辑等等。因此,定期审计和更新基于角色的权限非常重要。
建议:通过自动管理 SSL/TLS 建立连接
任何收集和传输敏感数据(如登录凭据、联系方式、信用卡信息、健康信息等)的网站都需要 HTTPS。HTTPS 可以防止网站以网络上任何窥探者都能轻易看到的方式广播其信息。
HTTPS 通过称为 Transport Layer Security (TLS) 的协议运作,该协议的早期版本称为 安全套接字层 (SSL)。
寻找提供自动管理 SSL/TLS 证书的服务,这些证书能让网站和应用建立安全连接。
TLS 是保障隐私和数据安全的通讯支柱。它使用户能够私密地浏览互联网,不会暴露其信用卡信息或其他个人敏感信息。
使用 SSL/TLS,客户端(例如浏览器)可以验证所连接服务器的真实性和完整性,并使用加密来交换信息。这反过来有助于防止在途攻击并满足某些数据合规性要求。
还有其他好处:TLS 有助于最大程度地减少延迟,加快网页加载时间,而且搜索引擎往往会降低未使用加密的网站的优先级。
请记住,每个 SSL/TLS 证书都有固定的到期日期,并且这些证书的有效期会随着时间而缩短。如果证书过期,客户端(例如访问者的浏览器)将认为无法建立安全连接,从而导致警告或错误。错过认证更新也会降低网站的搜索引擎排名,但某些服务可以处理自动更新。
建议:使用 DNS 加密确保用户浏览的安全和私密
从技术上讲,网站内容并不存在于像 www.example.com 这样的 URL 中,而是存在于像 192.0.2.1 这样的唯一 IP 地址中。将 URL 转换为机器友好的 IP 地址的过程称为域名系统 (DNS) 查找;DNS 记录是互联网关于哪个 IP 地址与特定域关联的说明。
然而,默认情况下,DNS 查询和响应以明文 (UDP) 发送,这意味着网络、ISP 和其他可能监控传输的人可以读取它们。这可能对安全和隐私产生巨大影响。如果 DNS 查询不是私密的,那么政府审查互联网和攻击者跟踪用户的在线行为就会变得更加容易。
使用免费的 DNS 解析器通过以下选项之一加密 DNS 流量:
建议:通过专门构建的 DNS 安全性功能解决某些 DNS 系统限制
DNS 系统本身的设计并未充分考虑安全性,且包含一些设计限制。例如,它无法自动保证 DNS 记录的来源,并且它会毫无疑问地接受提供给它的任何地址。因此,DNS 服务器可能容易受到域欺骗、DoS(拒绝服务)攻击等。
DNS安全 (DNSSEC) 有助于解决 DNS 的一些设计缺陷。例如,DNSSEC 通过向现有 DNS 记录添加加密签名来确保域名系统的安全性。通过检查其相关签名,组织可以验证所请求的 DNS 记录是来自其权威名称服务器,而不是虚假记录。
一些 DNS 解析器已经集成了 DNSSEC。此外,请寻找能够提供内容过滤(可以阻止已知分发恶意软件和垃圾邮件的网站)和僵尸网络防护(阻止与已知僵尸网络的通信)等功能的 DNS 解析器。这些安全的 DNS 解析器中有许多都可以免费使用,并且可以通过更改单个路由器设置来激活。
建议:让攻击者更难找到您的服务器
如果攻击者找到组织服务器的源 IP(即实际托管 Web 应用资源的位置),他们可能能够直接向服务器发送流量或攻击。
根据现有的 DNS 解析器,以下步骤也可以帮助隐藏源 IP:
建议:实施始终开启的 DDoS 缓解和速率限制
在最严重的情况下,分布式拒绝服务 (DDoS) 攻击可能会导致网站或整个网络长时间离线。
DDoS 攻击是指大量计算机或设备(通常由单个攻击者控制)试图同时访问某个网站或在线服务。这些恶意攻击的目的是使资源离线,使其不可用。
应用层 DDoS 攻击仍然是针对 Web 应用的最常见攻击类型,并且在规模和频率方面变得越来越复杂。
寻找以下基本的 DDoS 预防工具:
全面的 DDoS 威胁防御还取决于多种方法,这些方法可能因组织规模、网络架构和其他因素而异。了解有关如何防范 DDoS 攻击的更多信息。
建议:寻找专门应对客户端侧风险的工具
在 Web 开发中,“客户端侧”是指 Web 应用程序中在客户端(最终用户设备)上显示或发生的所有内容。这包括网站用户看到的内容,例如文本、图像和 UI 的其余部分,以及应用程序在用户浏览器中执行的任何操作。
大多数客户端侧事件需要将 JavaScript 和其他第三方代码加载到 Web 访问者的浏览器中。但是,攻击者会试图破坏这些依赖关系(例如通过 Magecart 式攻击)。这使得访问者容易受到恶意软件、信用卡数据盗窃、加密挖掘等风险的影响。
Cookie 也会带来客户端侧风险。例如,攻击者可以利用 Cookie 让网站访问者遭受 Cookie 篡改,最终导致帐户接管或支付欺诈。然而,网站管理员、开发人员或合规团队成员通常甚至不知道他们的网站使用了哪些 Cookie。
要降低来自第三方脚本和 Cookie 的风险,请实施这样一种服务:
建议:主动识别和缓解恶意机器人流量
有些机器人是“善意”的,可以执行所需的服务,例如授权的搜索引擎爬虫。但是,也有一些机器人如果不加以控制,会造成破坏和危害。
在线销售实体商品或服务的组织特别容易受到机器人流量的攻击。机器人流量过多会导致:
寻找具备以下功能的机器人管理服务:
建议:做出数据驱动的决策,改善 Web 安全
包含可操作数据的分析和日志对于持续提高 Web 性能和安全性非常重要。
例如,日志和应用安全仪表板可以提供以下洞察:
了解 Web 流量分析是进行持续风险评估的关键部分。这样,组织可以做出更明智的决策,了解如何改善应用性能,以及在何处增加安全投资。
Cloudflare 的全球连通云简化了 Web 应用的安全性和交付,提供一整套集成服务来连接和保护组织的 Web 应用和 API。
这些服务包括 DDoS 防护、行业领先的 Web 应用防火墙 (WAF)、机器人管理、客户端安全、API 网关、免费公共 DNS 解析器、免费 SSL/TLS 证书、全面的 Web 性能和安全分析等等。
如需了解适合您网站需求的服务,请访问 www.cloudflare.com/zh-cn/plans/。