如何让 Netlify 持续集成通过 Wordfence 防火墙?

How do I allow Netlify continuous integration to get past Wordfence firewall?

我安装了静态 Gatsby site that uses WordPress for it's back end. I also have the WordFence 插件以防止黑客造成破坏。我开始时没有安装 WordFence,网站被黑了,我们不得不放弃整个后端并从一个新数据库开始。

当尝试使用 Netlify 部署我的 Gatsby 网站时,我收到此错误消息:

If you are using a security plugin like WordFence or a server firewall you may need to whitelist your IP address or adjust your firewall settings for your GraphQL endpoint.

我安装了 NetlifyPress WordPress 插件。它无助于防止此问题。

通过在 Wordfence 防火墙设置中将我的 IP 地址列入白名单,我能够在本地修复此错误。

虽然在网站上将 Netlify 自动构建过程列入白名单并不那么简单。

有谁知道如何阻止 Wordfence 阻止 Netlify 吗?

我想出来了!

  1. 转到 WordFence 仪表板。
  2. 点击“工具”查看截获可疑的实时图表activity
  3. 切换到 Netlify 并 运行 部署您的网站(它应该会失败)
  4. 返回 WordFence 图并查看最上面的一行,“访问过的页面”列中应该有“/graphql”
  5. 单击该行
  6. 单击“将参数添加到防火墙白名单”按钮
  7. 运行 你的 Netlify 再次构建,它应该可以工作!

一些注意事项:

要格外小心,不要不小心将黑客列入白名单!

WordFence 不断阻止攻击。不过,大多数攻击并没有尝试访问“/graphql”,因此这是一个很好的指标,可以指示哪些行是您想要列入白名单的服务,哪些行是需要阻止的黑客。

上述方法似乎可以访问试图访问“/graphql”端点的任何人。这可能被认为是您的安全问题。从好的方面来说,这意味着它还解决了我的 BitBucket 管道问题。

另一种方法是复制“IP 地址”列中的 IP 地址,然后将其添加到您的 IP 地址白名单。

  1. 转到 Wordfence 仪表板
  2. 单击左侧导航栏中的“防火墙”
  3. 单击“所有防火墙选项”
  4. 在“允许绕过所有规则的列出的 IP 地址”字段中输入 IP 地址

虽然 Netlify 有很多服务器,但它们的 IP 地址都不同,所以这可能会变成一个很长的列表。您将不得不不断地将新的 IP 地址列入白名单。诚然,这是一种比第一种选择更安全的方法。此方法确保只有 Netlify 才能访问“/graphql”端点。