如何在Google VM上设置SSH防火墙规则,以便只有我的办公室计算机可以通过SSH访问VM?

时间:2018-12-28 07:30:46

标签: google-cloud-platform firewall vpc

最近几天,我的Google VM不断受到威胁,我收到警告并面临Google暂停VM的说法,说“在VM上发现了加密货币挖掘活动”。我怀疑有人入侵了我的VM并进行了此活动。因此,现在我想用安全的SSH防火墙创建一个新的VM,以便只有有限的计算机才能访问该VM。

我尝试在防火墙ssh allow规则上设置我的办公室路由器的IP,但是在设置此规则后,还会从其他IP地址建立到VM的SSH连接。我只想在防火墙规则中指定两个IP,但是它希望IP范围为CIDR格式(我不清楚)。

我还发现了一些建议,我应该更改VM的ssh端口。

任何人都可以解释一下,当这台计算机连接到路由器并且所有路由器(即路由器)的外部IP相同时,如何将我的Google VM的访问权限限制为仅特定的计算机吗?

谢谢

1 个答案:

答案 0 :(得分:1)

我了解您想使用安全防火墙SSH创建新的VM,并希望限制并允许从您的办公室路由器的特定IP地址进行访问。

为此,您可以按照1中的说明创建防火墙规则。要管理特定实例的访问,建议您将网络标签用于防火墙规则2

回到您的关注点,即使您为特定IP地址创建防火墙规则,也确实会从其他IP地址建立到VM的SSH连接。原因可能是由于以下原因:

您在GCP中创建的每个项目都带有默认的防火墙规则。 因此,可能有一个您需要阻止的default-allow-ssh规则,我想这可能是导致此问题的原因。请注意,默认网络包括一些其他规则,这些规则会覆盖此规则,从而允许某些类型的传入流量。有关更多详细信息,请参见附件中的链接[3] [4]。

[3] https://cloud.google.com/vpc/docs/firewalls#default_firewall_rules [4] https://cloud.google.com/vpc/docs/firewalls#more_rules_default_vpc

您还可以使用例如“ iptables”添加来宾级防火墙规则,以将另一个安全级别添加到您的VM实例。但是,GCP项目级防火墙规则负责检查网络流量,然后再将其发送到VM实例。操作系统防火墙阻止所有到任何端口22的Internet通信。

为了允许特定的地址能够在您的VM实例上进行连接,您可以在“ default-allow-ssh” GCP防火墙规则的“ IP range”值上添加/ 32的CIDR。例如45.56.122.7/32和208.43.25.31/32。