在预算内处理对 Web 服务器的安全威胁的正确方法

lsw*_*wim 5 postgresql security vps nginx ddos

在我们的年度安全审查期间,我想起了今年早些时候发生的一起事件,我们在该事件中收到了对我们组织的 Web 服务器的威胁。它超出了组织政策,并威胁要对我们的网站进行 DDoS。幸运的是,它并没有发生什么不好的事情,结果证明它只是一个空洞的威胁。但是,我们仍然立即通知了 CIO、CSO 和 CEO 以及我们的托管服务提供商,他们对我们的回应表示赞赏。由于我们组织(教育)的性质,先发制人的反应涉及许多人,包括与当地执法部门的协调。

尽管我们的回应对于一个空洞的威胁来说已经足够了,但它让我意识到网络应用程序所经历的攻击计划是多么的少。现在的设置是:

  • 一个不在企业防火墙后面的 Linode VPS(这背后有一个很长的故事,不值得解释)
  • 同一台服务器上的 PostgreSQL 数据库,只允许本地连接
  • 我们目前正在遵循最佳实践来保护 Nginx 服务器 [ 1 ]
  • 我们正在迁移到证书身份验证的 SSH 访问
  • 具有所有最新服务器设置的备份 VPS,只需要推送最新版本的代码和迁移数据库设置(现在用作测试服务器,但也被设想为地理冗余选项)

我想我的问题可能可以归结为我应该采取哪些其他步骤来锁定我的服务器以及防止 DDoS?我们很想将Cloudflare Business与他们的 DDoS 保护一起使用,但我们并不总是需要它,而且每月 200 美元对组织来说有点贵。我还需要这个吗?是否有允许临时 DDoS 保护的解决方案?如果不是,在攻击期间/之后保持稳定性的最佳方法是什么?最后,应该实施哪些日志记录,以便在发生攻击时协助执法?

ine*_*ber 7

我应该采取哪些其他步骤来锁定我的服务器并防止 DDoS?

  1. 防火墙关闭所有未使用的端口和协议。在适用和可能的情况下,将访问限制为仅受信任的 IP。
  2. 及时应用所有安全补丁和更新
  3. 实施一个网络监视器,可以对可疑的活动爆发发出警报

每月 200 美元对于该组织来说有点陡峭。我还需要这个吗?

不。直到它增加价值并成为必备品。

是否有允许临时 DDoS 保护的解决方案?

是的。他们可能需要大量的前期投资来解决实施 DDoS 服务的复杂问题。 http://www.blacklotus.net/protect/emergency-ddos-protection就是这样一种按需服务。

如果不是,在攻击期间/之后保持稳定性的最佳方法是什么?

只是坐在那里拿走它。这就是 DDoS 的本质。您可以尝试使用防火墙关闭 IP,但如果攻击真的是分布式的……那就像用喷枪扑灭野火一样。

最后,应该实施哪些日志记录,以便在发生攻击时协助执法?

维护传入源 IP 和时间戳以及任何其他相关取证数据的日志。例如,如果它是 Web 服务器,请尝试记录用户代理、请求的资源。流量速率,如每秒数据包数和每秒请求数是有帮助的。

DDoS 归结为数学分析。如果有人试图敲诈您,他们会打赌他们可以破坏您的业务,足以迫使您支付保护费以防止它发生。规模是一个因素,取缔较小的运营商更容易,但他们能够支付更少的费用。如果您收到电子邮件威胁 - 最好的做法是忽略它。发起和维持 DDoS 攻击需要大量僵尸网络资源 - 它们不能像垃圾邮件发送者一样直接攻击所有人。他们很可能只是在进行大规模的网络钓鱼攻击,寻找容易威胁的目标。由于 DDoS 野兽的性质,受害者相当无助,除非他们能够部署复杂的数据包过滤预防方案或有预算与外部服务签约。


小智 5

inetplumber 的回答很棒。

我要补充的是,另一个选项是将您的应用程序配置为可扩展,以便您可以在不影响用户的情况下处理更大的攻击。例如,您可以在 Amazon AWS 上设置虚拟私有云 (VPC),使您的 PostgreSQL 服务器只能从您的 VPC 内部访问。您可以设置负载平衡器前端以在多个服务器之间分配负载。

这样做的好处是您可以快速扩展到 100 台(或更多)服务器而无需前期投资,而且速度非常快(如果您已经配置),这使您成为一个更困难的目标。您只需要在实际受到攻击的几个小时内为这些服务器付费。当您没有受到攻击时,您只需为一台 Web 服务器和一台数据库服务器付费。

困难的部分是设置,它肯定比您当前的配置复杂一些。设置以快速扩展将需要更多的工作。但是,如果您正在寻找可以做计划的事情(特别是如果由于其他问题,您认为自己将来可能成为目标),那就是它。