首页 > 解决方案 > 如何找到 Google Cloud Platform VM 日志?

问题描述

我正在尝试查找访问我的 GCP VM 的 IP 的过去日志(如果可能,按日期)。我在哪里可以找到这个?

我熟悉日志资源管理器功能,但无法找到尝试访问 VM 但被防火墙/安全阻止的 IP。

我的目标是跟踪这些 IP 以将其列入某种黑名单。

我是否需要进行一些设置才能跟踪这些 IP?

编辑 1:日志记录和访问控制对我来说相对较新(请耐心等待),这是我迄今为止发现的。

  1. 现在为阻止外部访问的主要规则启用了防火墙规则日志记录。
  2. Web 服务器日志记录已启用,我目前是日志记录管理员。
  3. 一些背景:我在一个实例上使用 Jupyter Notebook,我注意到一个可疑的 IP 在 Jupyter 日志中发出了一个奇怪的 GET 调用(带有 404 响应)。据我所知,我立即吓坏了并加强了安全性,但我确实想找到根源。
  4. 现在,这是我发现的有关访问尝试的信息。

4.a - 日志浏览器中的防火墙“资源类型”没有以任何方式捕获/记录奇怪的访问尝试(但它确实记录了我那天的成功访问尝试,很奇怪)

4.b - 大约在我注意到 IP 的时候,VM 实例“资源类型”中记录了两个 IntegrityEvent。ShieldedVM完整性?这可能与此有关吗?它没有告诉我IP地址。(在此期间,我会尝试更好地了解受防护的虚拟机。)

4.c - 在进行奇怪的 API 调用时,我正在查看日志,这感觉就像运气一样,这将使我在 GCP 安全课程上加倍努力。

另外,你们是怎么知道这样的东西的?

编辑 2:

通过防火墙规则的流量

好的,现在我可以跟踪试图通过该防火墙规则访问的 IP。我看到很多来自俄罗斯、中国等的国际 IP。这正常吗?

你不需要像密钥一样访问 SSH 端口,这些 IP 是如何通过我的防火墙的?

当我看到图像中的流量时,Sorta 有点小毛病。请注意,当我没有针对 SSH 端口的任何 IP 过滤器时,会记录流量(图像)。这些 IP 获得访问权限是什么意思?我的密钥被泄露了吗?

您能帮我找到可以找到如何正确创建防火墙的资源吗?我尝试仅将入口设置为我的 IP,但这似乎不起作用。

我还尝试通过限制访问来复制 @Jose 的防火墙规则以获得“拒绝”,但我也无法做到这一点。对不起,如果我看起来像一个初学者。

任何帮助表示赞赏。

谢谢!

标签: logginggoogle-cloud-platformvirtual-machine

解决方案


如果您启用了防火墙规则日志记录,您将能够看到正在访问您的 GCP 虚拟机的 IP。如果没有,您可以按照@jabbson 提到的那样启用防火墙规则日志记录。

当您为防火墙规则启用日志记录时,每次规则允许或拒绝流量时,Google Cloud 都会创建一个称为连接记录的条目。您可以在 Cloud Logging 中查看这些记录,并且可以将日志导出到 Cloud Logging 导出支持的任何目标。

每个连接记录都包含源和目标 IP 地址、协议和端口、日期和时间,以及对应用于流量的防火墙规则的引用。

请注意它会创建大量日志,并且由于它是在防火墙中定义的,因此您可以通过端口对其进行过滤以避免接收到数千条日志。

启用防火墙规则日志记录,您可以使用以下命令:

gcloud compute firewall-rules update NAME \
    --enable-logging
    --logging-metadata=LOGGING_METADATA

防火墙规则的名称在哪里NAME,并LOGGING_METADATA指定防火墙规则日志记录是否包括防火墙规则日志中的元数据字段。

编辑 1

激活防火墙规则日志记录后,您可以查看以这种方式收集的信息:

转到 Google Cloud Console 中的防火墙页面。然后单击您要查看日志的规则的名称,然后查找日志部分并单击view in Logs Explorer

在此处输入图像描述

然后,您可以根据需要调整查询。

在我的示例中,我为我的端口 22 (ssh) 创建了一个防火墙规则,然后我过滤了 jsonPayload.disposition="DENIED"

然后您将能够看到连接区域下的IP

在此处输入图像描述


推荐阅读