GCP - VPC & Networking
Last updated
Last updated
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)
VPC 包含 防火墙 规则以允许传入流量到 VPC。VPC 还包含 子网络,其中 虚拟机 将被 连接。 与 AWS 相比,防火墙 是 AWS 安全组和 NACLs 的 最接近 事物,但在这种情况下,这些规则是在 VPC 中定义的,而不是在每个实例中。
计算实例连接到属于 VPC 的 子网络 (虚拟私有云)。在 GCP 中没有安全组,只有 VPC 防火墙,其规则在此网络级别定义,但应用于每个 VM 实例。
一个 VPC 可以有 多个子网络。每个 子网络位于 1 个区域。
默认情况下,每个网络都有两个 隐含防火墙规则:允许出站 和 拒绝入站。
当创建 GCP 项目时,还会创建一个名为 default
的 VPC,具有以下防火墙规则:
default-allow-internal: 允许来自 default
网络上其他实例的所有流量
default-allow-ssh: 允许来自任何地方的 22
default-allow-rdp: 允许来自任何地方的 3389
default-allow-icmp: 允许来自任何地方的 ping
如您所见,防火墙规则 对于 内部 IP 地址 通常是 更宽松 的。默认 VPC 允许计算实例之间的所有流量。
可以为默认 VPC 或新 VPC 创建更多 防火墙规则。可以通过以下 方法 将 防火墙规则 应用到实例:
VPC 中的所有实例
不幸的是,没有简单的 gcloud
命令可以列出所有在互联网上开放端口的计算实例。您必须将防火墙规则、网络标签、服务账户和实例之间的关系连接起来。
这个过程是通过 这个 python 脚本 自动化的,该脚本将导出以下内容:
显示实例、公共 IP、允许的 TCP、允许的 UDP 的 CSV 文件
nmap 扫描以针对所有在公共互联网(0.0.0.0/0)上允许入站的端口的实例
masscan 针对允许来自公共互联网(0.0.0.0/0)的所有 TCP 端口的实例的完整 TCP 范围
分层防火墙策略 允许您创建并 在整个组织中强制执行一致的防火墙策略。您可以将 分层防火墙策略分配给整个组织 或单个 文件夹。这些策略包含可以明确拒绝或允许连接的规则。
您可以将防火墙策略作为单独的步骤创建和应用。您可以在 资源层次结构 的 组织或文件夹节点 上创建和应用防火墙策略。防火墙策略规则可以 阻止连接、允许连接或将防火墙规则评估推迟 到在 VPC 网络中定义的较低级别文件夹或 VPC 防火墙规则。
默认情况下,所有分层防火墙策略规则适用于与该策略关联的组织或文件夹下的所有项目中的所有 VM。然而,您可以通过指定 目标网络或目标服务账户 来 限制哪些 VM 获取特定规则。
您可以在这里阅读如何 创建分层防火墙策略。
组织:分配给组织的防火墙策略
文件夹:分配给文件夹的防火墙策略
VPC:分配给 VPC 的防火墙规则
全局:可以分配给 VPC 的另一种类型的防火墙规则
区域:与 VM 的 NIC 和 VM 所在区域的 VPC 网络相关联的防火墙规则。
允许连接两个虚拟私有云 (VPC) 网络,以便 每个网络中的资源可以相互通信。 对等的 VPC 网络可以位于同一项目中、同一组织的不同项目中,或 不同组织的不同项目中。
所需的权限如下:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
更多文档。
学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE) 学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)