好的,所以我们在生产中实现了 Recaptcha。我们收到错误是因为它无法到达使用该服务所需的 IP 地址。我们为 IP 地址打开一个端口以访问 Google。没问题。我们这样做并明确配置该 IP 地址以使其正常工作。它工作得很好。然后,第二天,我们又开始收到错误,因为 Recaptcha 使用了不同的IP 地址。我也可以允许来自该 IP 地址的请求,但现在我很不安。这些地址来自哪里?如何配置它以可靠地工作?
3 回答
来自 Google 的 Recatpcha 可以使用任何 Google IP 地址,并且有很多。
从 Windows 运行这个:
_netblocks.google.com 文本 = nslookup -type=TXT _netblocks.google.com "v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4 :209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ip4:173.194.0.0/16 ?all"
这就是谷歌目前使用的所有网络。这些可能会发生变化,因此请经常检查它们。
谷歌建议允许端口 80 到所有 IP 出站,这是非常不安全的。他们建议通过代理服务器,但如果您的网络服务器是 DMZ,这又是非常不安全的。代理感知木马确实存在。只需利用漏洞执行任意代码,您可以通过代理服务器在端口 80 上创建反向连接以下载有效负载。然后升级权限并拥有盒子是微不足道的。我不仅指 Windows 服务器,还指 Linux。我已经在实验室环境中完成了安全性。这真的很容易做到。
这是我从谷歌网站得到的:
http://code.google.com/p/recaptcha/wiki/FirewallsAndRecaptcha
我想用更多最新信息附加到这个答案。Chris所指的文档不包括挖掘所需的所有 TXT 记录(感谢 Google):
- _netblocks2.google.com(IPv6 子网)
- _netblocks3.google.com(附加 IPv4 子网)
在我的特殊情况下,_netblocks3 条目包含 2 个大 /19,这使我的初始规则无效
(我在这里找到了其他参考资料: https: //support.google.com/a/answer/60764?hl=en)
也许您应该使用主机名而不是 IP