仅允许来自 Cloudflare 的流量

仅允许来自 Cloudflare 的流量

我是 Linux 系统管理的新手,我正在尝试使用 iptables 来学习如何真正地用它们锁定系统。我的一个朋友推荐了一种方法,即通过 Cloudflare 传递所有传入流量,这样即使攻击者解析了服务器 IP,他们仍然无法直接 (D) 执行该操作。

他们说的就是这个:“只需将你的服务器 iptables 配置为仅允许来自 CloudFlares IP 范围的传入连接,然后将其设置为仅允许你的 IP/IP 范围连接到端口 21(SSH)”

有人能帮我一下需要在 Ubuntu 上运行什么命令才能达到这种效果吗?

答案1

--| 更新时间:2017 年 2 月 7 日 |-- 这仍然是一个高级设置选项——因为如果操作不正确,您很容易将自己锁定在服务器之外。话虽如此,如果您愿意,可以随意锁定您的源,以仅接受 Cloudflare IP 到端口 80 和端口 443。只需确保您不会意外阻止 SSH。

--| 2013 年的旧评论 |-- 对于未使用商业级服务(至少)的任何客户,我们积极劝阻此类设置。只有我们的商业和企业级计划包括高级 DDoS 保护选项。免费和专业级计划包括基本 DDoS 保护,这意味着如果攻击对其他 CloudFlare 客户产生负面影响,我们将需要将该网站从 CloudFlare 路由出去——然后,如果您只允许来自 CloudFlare IP 的流量,那么您将阻止所有合法流量进入您的网站。

附言:我在 CloudFlare 工作。

答案2

iptables --append INPUT --source 192.0.2.1 --protocol tcp --destination-port 22 --jump ACCEPT
iptables --append INPUT --source 203.0.113.0/24 --jump ACCEPT
iptables --policy INPUT DROP

192.0.2.1 是您的 IP,用于 SSH 访问。203.0.113.0/24 是 CloudFlare 的 IP 范围(如果有多个,您可能需要添加多条规则)。

也许您可以用来--in-interface进一步指定哪条规则与什么匹配。

请记住,这是一个非常简单的示例,仅旨在为您指明大致方向。请咨询man iptables更多信息。另外,小心不要将自己锁在门外。

答案3

在 Gnarfoz 的回复的附录中,这是 cloudflare 使用的 IP 范围列表: https://www.cloudflare.com/ips

相关内容