如何在 Discourse 实例上防止 DDoS 攻击?

你好。

我上个月运营的一个 Discourse 论坛遭到了严重的 DDoS 攻击(这是一个关于新闻的社区,当时我发布了一些关于厄瓜多尔抗议活动的新闻,结果因此被攻击。这真是一次深刻的教训)。总之,这基本上是我的一个“爱好”,我没有预算聘请专家或购买昂贵的服务器。我目前使用的只是一个价格相当低廉的普通 VPS,专门用于运行 Discourse。

那么,你能给我一些加固 Discourse 安全性的实用建议吗?

配置 UFW,如有必要,通过 Cloudflare 页面规则将其置于其后,并设置为“禁用性能优化”,以免其干扰代码运行。

谢谢。你能详细说明一下这两个想法吗?

  1. 对于 Discourse,ufw 的良好配置应该是什么?我是否应该允许端口 80,还是只允许端口 224?

  2. 那个页面规则会是什么样子?

这是 Cloudflare 的一个真正适用的场景。但你必须极其小心,绝不能泄露 IP 地址,否则就全盘皆输。

那么在这种情况下,如果通过页面规则禁用了性能,云图标是否可以变为橙色?

这意味着,可以说要在论坛的“所有”环节都使用 Cloudflare 吗?

我几乎采用了 Cloudflare 的默认配置,运行良好。不过,这里有些帖子建议“启用这个、禁用那个”,这让我担心恰恰会出现 IP 泄露的问题。

我禁用了 Cloudflare 上的“Rocket”和“代码压缩”功能,基本上就这些。这样没问题吧?

创建一条页面规则,如下所示:

这将禁用所有可能篡改代码的行为,无论是现在还是未来。

如果您还想为 /uploads/ 创建缓存规则以节省服务器传输流量,那也没问题。

除了@Stephen在上面提到的,我还需要做些什么来防止IP泄露吗?

还有一些较新的主题涵盖了这个问题。

在不使用 Cloudflare 等服务的情况下,我推测 Discourse 开箱即用不会以任何方式泄露 IP 地址,对吗?