强化 Web 服务器的指南

已发表: 2022-03-15

由于它们的功能,Web 服务器与典型网络环境中的许多其他设备不同——它们不仅在设计上暴露在互联网上,而且很可能为完全陌生的人提供 Web 流量。 此外,在许多情况下,Web 服务器可能会为 WordPress 网站等动态应用程序提供服务,或者充当其他内部应用程序的代理。 因此,Web 服务器成为攻击者的有趣目标也就不足为奇了。

强化系统是指改进系统防御的过程,以使恶意黑客更难破坏该系统并在网络中获得立足点。

当然,强化 Web 服务器的过程将取决于您使用的 Web 服务器的类型(例如 Apache HTTP Server、Nginx、Microsoft IIS……),但是,有许多核心原则和最佳实践来改进您的无论您使用哪个 Web 服务器,都应牢记 Web 服务器安全性。

本文是 Web 服务器加固指南。 在其中,我们将研究一些与技术无关的最佳实践,您可以通过这些最佳实践来提高 Web 服务器的安全性。 对于 WordPress 加固,请参阅我们的 WordPress 安全和加固指南。

1. 保持您的网络服务器更新

保持软件最新可能听起来没什么大不了的,但按时应用安全补丁可以说是您可以实施的最重要的防御措施之一。 除了性能和稳定性改进之外,Web 服务器和操作系统更新通常包含对安全漏洞的修复。

从表面上看,这听起来可能微不足道,但是,任何信息安全专业人员都会告诉您,打补丁比听起来要复杂得多——不是因为安装大多数软件的最新版本特别难,而是因为打补丁总是被视为可以被推迟。

确保您的 Web 服务器软件不断更新的最佳方法是找到适合您或负责更新您的 Web 服务器和操作系统软件的任何人的系统或例程。 大多数情况下,它归结为定期提醒(例如设置重复的日历事件),您将为此腾出时间。

2.删除不必要的软件和模块

虽然看起来并不总是如此,但 Web 服务器是复杂的软件。 一些 Web 服务器,例如 Apache HTTP Server,附带一系列“模块”(类似于 WordPress 的插件),您可以根据自己的用例启用或禁用这些模块。 众所周知,恶意攻击者会利用 Web 服务器模块的功能和漏洞来收集有关您的 Web 服务器的更多信息。 虽然这可能不是攻击成功的唯一原因,但 Web 服务器加固的重点是采取深度防御方法,让恶意行为者难以获得哪怕是最微小的立足点。

这方面的一个实际示例是诸如 Apache HTTP Server 的 mod_status 之类的模块。 此模块旨在通过 /server-status URL 获取服务器活动和性能的概览(当前主机、正在处理的请求数、空闲工作人员的数量和 CPU 利用率)。 这样的功能可以为攻击者提供一个很好的指示,表明您的 Web 服务器的性能——这是在发生拒绝服务 (DoS) 攻击时非常有用的工具。

同样,在您的 Web 服务器上运行的其他未使用的软件可能会带来不必要的风险。 例如:

  1. 您是否正在运行不需要的 FTP 服务器,例如vsftpd
  2. 是否有您不再需要的邮件传输代理,例如 Sendmail 或 Postfix? 如果您使用第三方服务来提高 WordPress 电子邮件的送达率,则不需要此类服务。

服务器上的这些应用程序/服务和许多其他组件都是具有自己的安全怪癖、漏洞和修补要求的组件。

总之——尽可能少运行软件。 如果您不使用模块或服务,则应考虑禁用或删除它。 当然,不要在开发或登台环境中未经彻底测试就禁用模块或应用程序(有时可能不完全清楚正在使用 Web 服务器模块或应用程序)。

3、加强门禁

控制对您的 Web 服务器的访问对于正确处理至关重要。 毕竟,您希望最大限度地减少访问您的 Web 服务器的机会落入坏人之手。 以下是与维护适当的访问控制相关的一些最佳实践。

  • 不要使用 root 用户。 如果您需要执行管理任务,请改用 sudo;
  • 使用强系统(和 WordPress)密码;
  • 使用 SSH 时使用 SSH 密钥代替密码;
  • 考虑限制来自特定 IP 地址的 SSH/RDP 访问;
  • 在任何云提供商帐户上启用双因素身份验证 (2FA);
  • 确保每个访问 Web 服务器的人都有自己的用户——不要在用户之间共享用户帐户;
  • 将 shell/SSH/远程桌面访问明确限制为需要它的人。

4. 设置文件完整性监控 (FIM)

文件完整性监控 (FIM) 可帮助系统管理员识别 Web 服务器上的文件何时发生更改。 虽然作为正常 Web 服务器操作的一部分,某些文件会经常更改,但除非管理员进行更改(例如更新 wp-config.php 文件)或更新 WordPress 本身,否则不应更改诸如 WordPress 安装之类的文件。

虽然在文件完整性监控方面您可以选择使用多种选项,但建议您坚持使用特定于您正在运行的应用程序、易于设置和操作且不需要很多调整。 否则,您将淹没在毫无意义的通知中,在不知不觉中,警报疲劳就会开始,抹去您与他人相处的努力。 简而言之,就 FIM 而言,更多的警报和功能并不等于更好,而是寻找一种以最少的开销提供最大价值的解决方案。

5. 使用 DDoS 缓解和 WAF 服务

您应该考虑使用 Cloudflare、Fastly、Akamai 或类似服务来保护自己免受包括分布式拒绝服务 (DDoS) 攻击在内的大量攻击,而不是将您的 Web 服务器直接暴露在 Internet 上。 拒绝服务 (DoS) 攻击是一种攻击类型,攻击者旨在通过请求淹没网站,从而阻止您的 Web 服务器向合法用户提供请求。

除了拒绝服务缓解之外,此类云服务通常还提供 Web 应用程序防火墙 (WAF) 功能,能够阻止许多普通的 Web 应用程序攻击,例如基本 SQL 注入 (SQLi) 和简单的跨站点脚本(XSS)。 虽然 WAF 不是 Web 应用程序漏洞的解决方案,但它们提供了一些防止利用的保护——尤其是针​​对 WordPress 网站优化的 WAF 规则。

什么是下一个步骤?

虽然本文介绍了一些常见的 Web 服务器强化技术,但安全方面的任何内容都不是灵丹妙药。 因此,没有一种防御系统的方法是万无一失的,尤其是在面对坚定的对手时。 因此,为什么您需要保护构成 WordPress 网站的每个组件。 您不能保护您的 Web 服务器而忽略 WordPress 安全性或您自己的计算机。

然而,不断修补并遵循良好的安全实践和卫生可以大大增加攻击者成功发起攻击所需的努力——这在大多数情况下意味着挫败攻击者,迫使他们转向更软的目标。