想知道如何在Google Cloud Platform(GCP)上允许或拒绝网络流量?
你在GCP中创建的每个项目都带有默认的防火墙规则。
让我们探讨一下它们是什么。
- default-allow-icmp –允许从任何来源到所有网络IP。 ICMP协议主要用于ping目标。
- default-allow-internal –允许任何端口上的实例之间的连接。
- default-allow-rdp –允许RDP会话从任何来源连接到Windows服务器。
- default-allow-ssh –启用SSH会话以从任何来源连接到UNIX服务器。
如你所见, 默认规则允许基本连接以启用ping并登录到服务器。
你还需要更多吗?
我确定你会的。那是你需要知道如何根据需要进行配置的地方。
GCP防火墙是软件定义的规则;你无需学习或登录传统的防火墙硬件设备。
Google Cloud防火墙规则是有状态的。
所有配置均可通过GCP控制台或命令完成。但是, 我将说明如何使用控制台。
左侧菜单中”网络”部分的VPC网络下提供了防火墙规则。
当你单击创建防火墙规则时, 它将询问你连接的详细信息。让我们了解一下我们拥有的所有选项以及这意味着什么。
名称–防火墙的名称(仅小写, 不允许使用空格)
描述-可选, 但可以输入有意义的内容, 因此你将来会记得
网络-如果你尚未创建任何VPC, 则只会看到默认值, 并保持原样。但是, 如果你有多个VPC, 请选择要在其中应用防火墙规则的网络。
优先级–应用于网络的规则优先级。最低优先级最高, 从1000开始。在大多数情况下, 你希望所有关键服务(HTTP, HTTPS等)的优先级都为1000。
流量方向–在入站(入站)和出站(出站)之间选择流类型。
比赛时采取的行动–选择是否要允许或拒绝
目标–你要在其中应用规则的目标。你可以选择将规则应用于网络中的所有实例, 仅允许在特定标签或服务帐户上使用。
源过滤器–将被验证为允许或拒绝的源。你可以按IP范围, 子网, 源标签和服务帐户进行过滤。
源IP范围-如果在源过滤器中选择了默认IP范围, 则提供允许的IP范围。
第二个源过滤器–可以进行多源验证。
例如:你可以将第一个源过滤器作为源标签, 将第二个过滤器作为服务帐户。无论哪个匹配项, 都将被允许/拒绝。
协议和端口–你可以选择所有端口或指定单个端口(TCP / UDP)。一个规则中可以有多个唯一的端口。
让我们探讨一下实时场景…
出于安全原因, 你已将SSH端口从22更改为其他端口(例如5000)。从那时起, 你将无法进入虚拟机。
为什么?
好吧, 你很容易猜测, 因为防火墙中不允许使用端口5000。若要允许, 你需要创建如下的防火墙规则。
- 提供规则名称
- 选择交通方向的入口
- 选择允许匹配动作
- 选择目标网络中的所有实例(假设你要连接到端口为5000的任何VM)
- 在源过滤器中选择IP范围(假设你想从任何源进行连接)
- 提供源IP范围为0.0.0.0/0
- 选择指定的协议和端口, 然后输入tcp:5000
- 点击创建
尝试将虚拟机连接到端口5000, 这应该没问题。
管理防火墙规则的一些最佳实践。
- 仅允许需要的内容(需要基础)
- 尽可能指定单个源IP或范围, 而不是0.0.0.0/0(ANY)
- 将VM实例与标签相关联, 并在目标而不是所有实例中使用它
- 在单个规则中组合多个端口以匹配源和目标
- 定期查看防火墙规则
GCP图形界面易于理解和管理。
我希望这能给你一个管理Google Cloud Platform防火墙规则的想法。如果有兴趣学习更多, 那么我会推荐这个在线课程。