【本文由Cloud Ace整理发布,更多内容请访问Cloud Ace 官网

防火墙规则是 Google Cloud 中网络安全的重要组成部分。Google Cloud 中的防火墙大致可分为两种类型;网络防火墙策略分层防火墙策略。 虽然网络防火墙直接与 VPC 相关联以允许/拒绝流量,但分层防火墙可以被视为使用资源层次结构在整个组织中创建和执行策略的策略引擎。可以在组织级别或文件夹级别实施分层策略。与网络防火墙规则一样,分层防火墙策略规则可以允许或拒绝流量,还可以将评估委托给较低级别​​的策略或网络防火墙规则本身(使用 go_next)。较低级别的规则不能覆盖资源层次结构中较高位置的规则。这使组织范围内的管理员可以在一个地方管理关键的防火墙规则。

那么,现在让我们考虑几个使用分层防火墙策略的场景。1.减少网络防火墙的数量示例:假设在 xyz.com 中根据其业务部门获得了 6 个共享 VPC。拒绝 SSH 访问公司中的任何虚拟机是一种安全策略,即拒绝 TCP 端口 22 流量。对于网络防火墙,需要在 6 个地方(每个共享 VPC)执行此规则。每个网段越来越多的细粒度网络防火墙规则意味着更多的接触点,即意味着更多的漂移和事故机会。安全管理员忙于手持,几乎总是成为即使是简单的防火墙更改的瓶颈。借助分层防火墙策略,安全管理员可以创建通用/单一策略来拒绝 TCP 端口 22 流量并将其强制执行到 xyz.com 组织。或者从策略中明确定位一个/多个共享 VPC。这样,单个策略就可以定义更广泛的流量控制态势。

2. 使用集中策略管理关键防火墙规则,并在 VPC 级别安全地委派非关键控制示例:在 xyz.com 上,SSH 到 GCE 是被严格禁止的,并且是不可协商的。审计师需要这个。允许/拒绝到端口 443 的 TCP 流量取决于流量要到达的共享 VPC。在这种情况下,安全管理员可以创建一个策略来拒绝 TCP 端口 22 流量并将该策略强制执行到 xyz.com。另一个策略是为 TCP 端口 443 流量创建“go_next”并在下一个较低级别决定是否允许此流量。然后,使用网络防火墙规则在共享 VPC 级别允许/拒绝 443 流量。

通过这种方式,安全管理员可以在更高级别进行更广泛的控制,以强制执行流量控制策略并在可能的情况下进行委派。在一个地方管理最关键的防火墙规则的能力也使项目级管理员(例如,项目所有者、编辑或安全管理员)不必跟上不断变化的组织范围的政策。

通过分层防火墙策略,安全管理员可以集中实施、管理和观察流量控制模式。

创建、配置和实施分层防火墙策略

分层防火墙策略有 3 个主要组成部分;规则、政策和协会。

从广义上讲,“规则”是一种决策结构,用于声明是否应允许、拒绝或将流量委托给下一级进行决策。“策略”是规则的集合,即一个或多个规则可以与策略相关联。“关联”说明政策在谷歌云资源层次结构中的执行点。

这些概念在产品页面上有广泛的解释。

规则、策略和关联的简单可视化看起来像

分层防火墙策略的基础架构即代码 (Terraform)

需要将3 个Terraform 资源拼接在一起以构建和实施分层防火墙策略。

#1 政策Terraform 资源– google_compute_firewall_policy

在这个模块中,最重要的参数是“parent”参数。分层防火墙策略,如项目,由文件夹或组织资源作为父级。请记住,这不是执行或关联策略的文件夹。它只是一个拥有您正在创建的策略的文件夹。使用文件夹来拥有分层防火墙策略,还简化了 IAM 来管理谁可以创建/修改这些策略,即只需将 IAM 分配给该文件夹。

对于扩展环境,建议创建一个单独的“firewall-policy”文件夹来托管所有分层防火墙策略。

样本

/*
Create a Policy
*/
resource "google_compute_firewall_policy" "base-fw-policy" {
parent     = "folders/<folder-id>"
short_name = "base-fw-policy"
description = "A Firewall Policy Example"
}

您可以使用以下命令获取“firewall-policy”文件夹的文件夹 IDgcloud resource-manager folders list --organization=<your organization ID> --filter='<name of the folder>'例如,如果您的防火墙策略文件夹名为“firewall-policy”,则使用gcloud resource-manager folders list --organization=<your organization ID> --filter='firewall-policy'#2 规则Terraform 资源– google_compute_firewall_policy_rule此资源定义中的大多数参数都非常明显,但有几个参数需要特别考虑。

  • disabled– 表示是否禁用防火墙策略规则。设置为 true 时,不会强制执行防火墙策略规则,流量的行为就好像它不存在一样。如果未指定,将启用防火墙策略规则。
  • enable_logging – 强烈建议启用防火墙日志记录,以获得许多未来的运营优势。要启用它,请传递true给此参数。
  • target_resources – 当您想要针对此规则的某些共享 VPC 时,此参数会派上用场。您需要传递共享 VPC 的 URI 路径。顶部获取 VPC 的 URI 使用此命令
gcloud config set project <Host Project ID>
gcloud compute networks list --uri

样本

下面是一些示例 Terraform 代码,用于创建优先级为 9000 的防火墙策略规则,以拒绝来自 35.235.240.0/20 CIDR 块的 TCP 端口 22 流量(用于身份感知代理

/*
Create a Firewall rule #1
*/
resource "google_compute_firewall_policy_rule" "base-fw-rule-1" {
firewall_policy = google_compute_firewall_policy.base-fw-policy.id
description = "Firewall Rule #1 in base firewall policy"
priority = 9000
enable_logging = true
action = "deny"
direction = "INGRESS"
disabled = false
match {
  layer4_configs {
    ip_protocol = "tcp"
    ports = [22]
  }
  src_ip_ranges = ["35.235.240.0/20"]
}
target_resources = ["https://www.googleapis.com/compute/v1/projects/<PROJECT
-ID>/global/networks/<VPC-NAME>"]
}

#3 关联Terraform 资源– google_compute_firewall_policy_association在attachment_target传递要执行此策略的文件夹 ID 中,即此文件夹下的所有内容(所有项目)都将获得此策略。对于共享 VPC,目标文件夹应该是您的宿主项目的父文件夹。样本

/*
Associate the policy
*/
resource "google_compute_firewall_policy_association" "associate-base-fw-policy" {
firewall_policy = google_compute_firewall_policy.base-fw-policy.id
attachment_target = "folders/<Folder ID>"
name = "Associate Base Firewall Policy with dummy-folder"
}

执行这些策略后,您可以在“VPC 网络-> 防火墙”下的控制台上看到它,如下所示。在防火墙策略文件夹中,将显示创建的分层防火墙策略。请记住,每个策略都有 4 个默认防火墙规则,因此即使您在策略中创建单个规则,规则计数也将为 5,如下面的面板所示。进入策略以查看您创建的规则和策略的关联(显示在 2 个面板中)。 

概括

分层防火墙策略简化了在整个 Google Cloud 环境中实施一致的流量控制策略的复杂过程。借助本文中展示的 Terraform 模块和自动化,它使安全管理员能够使用策略引擎和已知的基础架构即代码平台构建护栏。

Google Cloud Platform | 使用 Terraform 的分层防火墙策略自动化的更多相关文章

  1. 用Google Cloud Platform搭建***服务教程

    之前FQ一直用的是***,天有不测风云,前几天发现ss服务挂了.更可怕的是ping都ping不通,多方打听,***中文社区已经炸开锅了,原因就是IP被封了.需要付费更换IP.然后到现在还是没有给我更换 ...

  2. 使用Google Cloud Platform构建机器学习项目-宠物识别

    宠物识别我们使用到了tensorflow object-detection API  (https://github.com/tensorflow/models/tree/master/researc ...

  3. Google Cloud Platform 续

    Google Cloud Platform 创建新实例 地区:australia-southeast1-a 机器类型:1个vCPU n1-standard-1 系统:Ubuntu 16.04 LTS ...

  4. 使用Gardener在Google Cloud Platform上创建Kubernetes集群

    Gardener是一个开源项目,github地址: https://github.com/gardener/gardener/ 使用Gardener,我们可以在几分钟之内在GCP, AWS, Azur ...

  5. 如何取消 Google Cloud Platform 试用 & 关闭 GCP 帐号 & 删除信用卡 & 取消订阅

    如何取消 Google Cloud Platform 试用 & 关闭 GCP 帐号 & 删除信用卡 & 取消订阅 关闭您的 Google Cloud Platform 帐号 s ...

  6. 对Google cloud platform 做了点研究

    Google也推出了云计算基础服务, 加上微软Azure,亚马逊AWS, 都齐活了. 下面是研究了一下对其的一个初步了解. 计算: Compute Engine     IaaS平台,提供VM,操作灵 ...

  7. Google Cloud Platform

    一个离我们很遥远,很遥远的公司.作为全球三大公有云厂商之一,在国内根本听不到他的声音.其实吧,听到了也没用,因为在国内没法用!AWS还在纠结的落地过程中挣扎,GCP基本上就当不存在吧. 抛开这些乌烟瘴 ...

  8. Google Cloud服务免费申请试用以及使用教程

    简介 Google Cloud Platform lets you build and host applications and websites, store data, and analyze ...

  9. google cloud storage products

    https://cloud.google.com/products/storage/ BigTable Cloud Bigtable 是 Google 面向大数据领域的 NoSQL 数据库服务.它也是 ...

随机推荐

  1. 再来一次,新技术搞定老业务「GitHub 热点速览 v.22.44」

    上上周 Next.js 新版本火了一把,这不本周热点趋势就有了一个 Next.js 13 新特性构建的网站,虽然它只是个实验性项目.同样可以搞定一些业务的还有 lama-cleaner,不过它并不是个 ...

  2. 【笔记】入门DP

    复习一下近期练习的入门 \(DP\) .巨佬勿喷.\(qwq\) 重新写一遍练手,加深理解. 代码已经处理,虽然很明显,但请勿未理解就贺 \(qwq\) 0X00 P1057 [NOIP2008 普及 ...

  3. Linux内存泄露案例分析和内存管理分享

    作者:李遵举 一.问题 近期我们运维同事接到线上LB(负载均衡)服务内存报警,运维同事反馈说LB集群有部分机器的内存使用率超过80%,有的甚至超过90%,而且内存使用率还再不停的增长.接到内存报警的消 ...

  4. MSP430中断小实验——通过按键改变小灯闪烁频率

    本小实验基于MSP430f5529,不同的型号可能管脚和中断配置有所不同. 实现的功能为: 第一次按下按键后,系统以每 2 秒钟,指示灯暗 1 秒,亮 1 秒的方式闪烁.程序采用默认时钟配置: 第二次 ...

  5. 基于python的数学建模---轮廓系数的确定

    直接上代码 from sklearn import metrics import matplotlib.pyplot as plt from sklearn.cluster import KMeans ...

  6. 禁用显卡自动更新(解决官办驱动和OEM驱动相冲)

    起因 有一天打开MC(我的世界)时候突然显示显卡不支持,想了想可能是自己捣鼓电脑的时候弄坏了,提示说版本不支持,一看自己的驱动还是上古版本,但是之前都是可以正常玩的,想着更新下驱动就行了呗,更新完&q ...

  7. 原来用 MySQL 也可以做全文检索

    我是风筝,公众号「古时的风筝」,专注于 Java技术 及周边生态. 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在里面. 有朋友聊到他们的系统中要接入全 ...

  8. 剖析一下"抢茅台"脚本底层逻辑

    本文作者:梁东东 前言: 今天你撸茅台了么? 撸茅台已经成为社会现象,茶余饭后讨论的最佳实践 2022年双十一大促已经完美收官,兄弟姐妹克服种种困难与挑战.. 备战的会议室忙碌中带着紧张,当峰值过后的 ...

  9. python选课系统项目详解

    选课系统项目详解 选课系统简介及分析 选课系统架构设计分析 选课系统目录设计 管理员视图 注册 登录 创建学校 创建课程 创建讲师 学生视图 注册 登录 选择学校 选择课程 查看分数 教师视图 登录 ...

  10. ES文件浏览器局域网传输文件分析

    软件下载链接 1.前言 我之前从手机上传输到电脑上一些apk进行分析,都是使用es文件浏览器这款软件获取 app,传输方面使用QQ,这样很麻烦,走外网流量暂且不提,总是感觉浪费掉了局域网这个环境.简单 ...