7个静态网站漏洞的HTML安全最佳实践

静态网站存储已渲染的内容,这就是为什么它们不需要访问任何数据库、运行复杂脚本或依赖运行时引擎,每当用户请求页面时。

这在链接_0和安全方面具有明显的优势:静态页面节省了大量的服务器时间,并且具有较少的漏洞。这反过来意味着搜索引擎将更好地排名静态页面,而不是它们的动态对等页面。

当SEO专家能够时,他们都会转向静态内容,以在世界上更好地竞争,其中一刹那的差异可能导致完全的成功和彻底的失败。静态内容部署已成为市场营销策略之间的一个流行词,而IT人员则喜欢他们有一个更少脆弱的地方来监视。

但要小心——它们并不是100%的防黑,所以如果您计划在您的网站上链接_1,您应该遵循一些最佳实践来保持其安全。

使用安全HTTP头

Security headers是HTTP响应头的一个子集,是元数据、错误代码、缓存规则等等,是web服务器添加到它提供的内容中的,旨在告诉浏览器如何处理它接收到的内容。不是所有的浏览器都支持所有的安全头,但有一小部分是非常常见的,并提供基本的安全措施来阻止黑客利用漏洞。

X-Frame-Options: SAMEORIGIN

X-Frame-Options头旨在禁用或减轻您网站上的iframe带来的风险。黑客可以使用iframe来获取合法的点击并将访问者导向他们想要的任何URL。有不同的方法来防止iframe的滥用。

OWASP(Open Web Application Security Project)建议的最佳实践是使用带有参数的此头,它只允许来自相同来源的人使用iframe。其他选项是DENY,完全禁用iframe,和ALLOW-FROM,只允许特定URL在iframe上放置页面。

请查看实施指南链接_3和链接_4。

X-XSS-Protection: 1; mode=block

X-XSS-Protection头旨在保护网站免受XSS攻击的侵害。这个头特性可以有两种实现方式:

  • X-XSS-Protection: 1
  • X-XSS-Protection: 1; mode=block

第一种方式更宽容,从请求到web服务器过滤脚本,但仍然呈现页面。第二种方式更安全,因为它在检测到X-XSS脚本时阻止整个页面。这第二个选项是OWASP推荐的最佳实践。

X-Content-Type-Options: nosniff

该头防止使用链接_6的“嗅探”功能,该功能允许浏览器扫描内容并根据头的指示以不同方式进行响应。当这个头存在时,浏览器必须按指示设置内容类型,而不是通过“嗅探”内容提前推断它。

如果您应用了这个头,您应该仔细检查您的静态网站的每个页面上是否正确应用了您的内容类型。

Content-Type: text/html; charset=utf-8

自HTTP协议的1.0版本以来,此行已添加到HTML页面的请求和响应头中。它确立了所有标签在浏览器中呈现,显示在网页上的结果。

使用TLS证书

SSL/TLS证书对于任何网站来说都是必须的,因为它允许web服务器通过安全的HTTPS协议加密发送给web浏览器的数据。这样,如果数据在传输过程中被拦截,它将是不可读的,这对于保护链接_7并保护网站至关重要。静态网站不会存储访问者的个人信息,但重要的是他们请求的信息不能被非法观察者看到。

大多数网络浏览器将网站使用加密标记为安全网站,对于寻求符合欧盟《通用数据保护条例》(GDPR)的网站来说,使用加密是强制性的。法律并没有明确规定应使用SSL证书,但这是在条例中满足隐私要求的最简单方法。

就安全而言,SSL certificate允许当局验证对网站的所有权,并防止黑客创建其假版本。使用SSL证书使网站访问者能够检查发布者的真实性,并确信没有人能够窥视他/她在网站上的活动。

好消息是证书的成本并不高,实际上,您可以在ZeroSSL上免费获取它,或者从SSL Store购买高级证书。

部署DDoS防护

分布式拒绝服务(DDoS)攻击如今越来越常见。在这种类型的攻击中,使用一组分布式设备来以大量请求淹没服务器,直到服务器饱和并拒绝工作。即使您的网站具有静态内容,如果不采取必要的措施,其Web服务器也很容易成为DDoS攻击的受害者。

在网站上实施DDoS防护的最简单方法是由安全服务提供商负责处理所有网络威胁。该服务提供入侵检测、防病毒服务、漏洞扫描等,因此您基本上不必担心任何威胁。

这样一个综合的解决方案可能价格昂贵,但也有更具针对性和更低成本的解决方案,例如DDoS防护作为服务(DPaaS)。您应该向您的主机提供商询问是否提供此类服务。

更实惠的解决方案包括cloud-based DDoS protection等服务,如Akamai、Sucuri或Cloudflare提供的服务。这些服务提供DDoS攻击的早期检测和分析,并过滤和转移这些攻击,即将恶意流量从您的站点重定向。

在考虑防DDoS解决方案时,您应该注意其网络容量:该参数指示保护可以承受多少攻击强度。

避免使用有漏洞的JavaScript库

即使您的网站具有静态内容,它可能使用会带来安全风险的JavaScript libraries。通常认为有20%的库会使网站更容易受到攻击。幸运的是,您可以使用Vulnerability DB提供的服务来检查特定库是否安全。在其数据库中,您可以找到大量已知漏洞的详细信息和指导。

除了检查特定库的漏洞外,您还可以遵循这个JavaScript库的最佳实践清单,以修复其潜在风险:

  • 不要使用外部库服务器。相反,将库存储在托管您网站的同一服务器上。如果必须使用外部库,请避免使用来自blacklisted servers的库,并定期检查外部服务器的安全性。
  • 对JavaScript库使用版本管理,并确保使用每个库的最新版本。如果版本管理不是一个选项,至少应使用没有已知漏洞的版本。您可以使用retire.js来检测使用具有漏洞版本的情况。
  • 定期检查您的网站是否使用您不知道的外部库。这样,您将知道黑客是否注入了指向不需要的库提供商的链接。静态网站中的Injection attacks不太可能,但不妨偶尔进行此检查。

实施备份策略

在更改静态网站内容时,应始终安全备份其内容。备份副本必须安全存储,并且在出现故障时可以轻松访问以恢复您的网站。备份静态网站的方法有很多种,但一般可以分为手动和自动两种。

如果您的网站内容不经常更改,手动备份策略可能足够-您只需记住在更改内容时进行新的备份即可。如果您拥有用于管理托管帐户的控制面板,非常有可能在该控制面板中找到备份选项。如果没有,您始终可以使用FTP客户端将所有网站内容下载到本地设备中,然后在需要时恢复它。

当然,如果您希望将网站管理任务最小化,自动备份选项更可取。但是,自动备份通常作为托管提供商提供的高级功能,并增加了保护网站的总成本。

您可以考虑使用cloud object storage进行备份。

使用可靠的托管提供商

可靠的网络托管服务是确保您的网站平稳快速运行的必要条件,同时也要确保它不会被黑客攻击。大多数网络托管评论将向您展示关于速度、正常运行时间和客户支持的数据和比较,但是在考虑网站安全性时,有一些方面应该仔细观察,并在雇佣其服务之前向提供商询问:

  • 软件安全性:您应该了解软件更新是如何处理的;例如,是否自动更新所有软件,还是每次更新都要经过测试过程才能部署。
  • DDoS保护:如果托管服务包含此类保护,请了解它是如何实施的,以验证是否满足您的网站要求。
  • SSL可用性和支持:由于在大多数情况下证书由托管提供商管理,您应该检查它提供的证书类型以及证书续订政策。
  • 备份和恢复:许多托管提供商提供自动备份服务,这是一件好事,因为它实际上使您忘记了备份、存储和更新备份的工作。但要考虑此类服务的成本,并将其与自己备份内容所需的工作量进行权衡。
  • 恶意软件保护:可靠的托管提供商应通过定期进行恶意软件扫描和监控文件完整性来保护其服务器免受恶意软件的侵害。在共享托管的情况下,托管提供商最好使用帐户隔离来防止恶意软件在相邻网站之间传播。
  • 防火墙保护:托管提供商可以通过部署防火墙来提高其所托管网站的安全级别,以阻挡恶意流量。

请查看reliable static site hosting platform

执行强密码策略

由于静态网站没有数据库或托管的内容系统,要管理的用户名和密码较少。但您仍然需要对用于更新静态内容的托管或FTP帐户强制执行密码策略。

密码的良好实践包括但不限于:

  • 定期更改密码
  • 设置最小密码长度。
  • 使用大/小写字母、特殊字符和数字的组合
  • 避免通过电子邮件或短信传递密码。

同时,管理账户的默认密码必须从一开始就更改 – 这是黑客很容易利用的常见错误。不要害怕丢失密码,使用 password manager 来安全地管理密码。

让我们变得静态

几年前,动态内容是首选:一切都可以轻松更改和更新,只需几秒钟即可完成整个网站的重新设计。但是,speed 成为首要任务,静态内容突然又变得很酷。

在这个意义上,所有的网站安全实践都应该重新评估 – 虽然要考虑的方面确实更少,但是你不应该对此变得过于放松。这份最佳实践清单肯定会帮助你创建自己的清单,以保持你的 static website 安全可靠。

类似文章