只允许来自Cloudflare的stream量

我是Linux系统pipe理的新手,我正在尝试使用iptables试图学习如何真正locking一个系统。 而我的一个朋友推荐的一个事实是,有一种方法可以通过Cloudflare传递所有传入的stream量,所以即使攻击者解决了服务器IP,他们仍然不能(D)直接处理它。

这正是他们所说的:“简单地configuration你的服务器iptables只允许来自CloudFlares IP范围的传入连接,然后将其设置为只允许你的IP / IP范围连接端口21(SSH)”

有人可以帮我一下,我需要运行Ubuntu的命令来得到这个效果吗?

– | 更新2017年2月7日| –这仍然是一个高级的设置选项 – 因为如果不正确的话你可以很容易地locking自己的服务器。 话虽如此,如果你愿意这样做,随时locking你的起源,只接受Cloudflare IP到端口80和端口443.只要确保你不会意外阻止SSH。

– | 旧评论从2013年起 –我们积极劝阻这种设置,对于没有使用业务级别的服务(至less)的任何客户。 只有我们的业务和企业级计划包括先进的DDoS防护选项。 免费和专业级别的计划包括基本的DDoS保护,这意味着如果攻击对其他CloudFlare客户产生负面影响,则需要将该站点从CloudFlare路由 – 然后,如果您只允许来自CloudFlare IP的stream量,则会阻止所有合法的stream量到您的网站。

ps我为CloudFlare工作。

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 

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

也许你可以使用--in-interface来进一步指定哪个规则匹配什么。

请记住,这是一个非常简单的例子,只是为了向您指出大方向。 请咨询man iptables了解更多信息。 另外,要小心locking自己。

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

/ Michael