【问题标题】:How to locate Google Cloud Platform VM Logs?如何找到 Google Cloud Platform VM 日志?
【发布时间】:2021-04-05 22:17:46
【问题描述】:

我正在尝试查找访问我的 GCP 虚拟机的 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 是如何通过我的防火墙的?

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

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

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

感谢任何帮助。

谢谢!

【问题讨论】:

  • 只是为了确保您确实为阻止访问的规则启用了firewall rule logging,对吧?
  • 您需要启用两个功能。 1) Web 服务器日志记录。 2) 具有正确 IAM 权限的 Google Cloud Logging 设置。使用系统的详细信息编辑您的问题。
  • @Pramod Anantha,我已经编辑了我的答案,请看一下。
  • @JoseLuisDelgadillo 非常感谢您的回复。我现在也添加了一个编辑。

标签: logging google-cloud-platform virtual-machine


【解决方案1】:

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

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

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

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

enabling firewall rules logging 可以使用以下命令:

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

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

编辑 1

激活防火墙规则日志后,您可以通过以下方式查看收集的信息:

转到 Google Cloud Console 中的 Firewall page。 然后点击你想查看日志的规则名称,找到日志部分,点击view in Logs Explorer

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

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

然后你就可以看到连接区域下的IP了

【讨论】:

    【解决方案2】:

    添加到上面@Jose 的答案,这里有一些有用的指示

    这是我如何弄清楚日志记录和访问控制

    • https://cloud.google.com/vpc/docs/firewalls

    • 据我了解,有一些自动化软件(我认为是 IP 轮换)会不断尝试访问您的虚拟机。这些是我在日志中注意到的 IP。

      • 确保删除不必要的防火墙规则。
      • 如果您对尝试访问您的 VM 的 IP 类型感到好奇,那么为 所有端口 创建 DENY(NOT ALLOW) 规则可能是一个很好的练习和高于所有其他规则的所有 IP,然后打开日志记录,您将在日志记录控制台上看到这些 IP。由于除允许的 IP 之外的所有 IP 都会被 GCP 默认防火墙自动踢出,因此您通常看不到它们。请务必在执行此操作之前进行 DD。
      • 请打开 SecureBoot 和完整性监控等 VM 功能,因为它们将起到另一层保护的作用。
    • 为了安全访问虚拟机实例,请参考这些官方来源

    如果您有任何问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-21
      • 2017-08-15
      • 1970-01-01
      • 2020-02-26
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多