8

介绍一个小工具:网络策略可视化编辑器

 3 years ago
source link: https://mp.weixin.qq.com/s?__biz=MzIxMDY5ODM1OA%3D%3D&%3Bmid=2247485318&%3Bidx=1&%3Bsn=c5ebb2d7f3133949f5815cf710791b99
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

引子

跳过本节不影响阅读

既然是牛年第一篇,总要写点废话起个头。另外写小工具系列经常面对的一个难题就是——怎样凑够 300 字的原创门槛。

2020 年有大半年我都在唠叨云原生安全的事情,现在的情况按照我的理解,有点像 2000 年附近的互联网——各种东西都在往新瓶子里装,那时候的新瓶子是互联网,现在的新瓶子是云原生;那时候的旧酒是邮件、留言板、传呼机,现在的旧酒除了这些生活内容之外,多了更多的 ToB/G 的内容;从前的较大规模的公开互联网服务多数是自建自维护的,现在的公开服务则往往会用到大量的公有云、SaaS/PaaS 服务以及第三方交付项目。

在 Kubernetes 来说:

  • 推出了 CKS 认证

  • OPA 毕业

  • Kyverno 进入沙箱

  • Redhat 收购 StackRox

综上,经过轰轰烈烈的云原生运动之后,安全问题就已经被怼到了我们面前,很多时候一些重点服务一旦遭到破坏,虽说安全相关的黑产已经有了成熟的获利链条;然而在责任方来说,的确可以挤出一句——这不是钱的事儿。

正文

言归正传,今天要介绍的是一个 安全相关 的网络策略 小工具

网络策略是 Kubernetes 内置的重要安全机制之一,用它可以轻松地使用 Namespace、Label Selector、CIDR 等方式,限制 Pod 的 Ingress/Egress 访问,相对于 RBAC 来说,这东西其实更贴近传统网络策略的限制方式,但是目前应用还较少,也就显得比较难用了。Cilium 推出的这个可视化编辑器,是个很好的入门工具。

缺省界面如图所示:

raMRZfb.png!mobile

整个界面分为几个部分:

  • A:

    可视化编辑区:

    区域中可以用点选的方式产生不同的 Ingress Egress 规则。

  • B:

    代码编辑区:

    交互式编辑区产生的策略变更都会用 YAML 代码的形式反映在该区域,另外左上角还可以通过上传的方式载入现有 YAML 文件,上传的内容也会反向映射回到可视化编辑区中。

  • C:

    该区域是教学区域,下拉菜单中包含了几个常用的策略的相关教学,注意这里的是教学,给出的可能是一个待修复的策略和修复方法,不要直接复制使用。

可视化编辑区分为左中右三个部分:

  • 1:

    这里可以定义策略的主体,例如命名空间、名称、策略对应的管理目标(Pod Selector),另外还可以定义 Ingress 和 Egress 的缺省行为,例如缺省 Deny 或者 Allow,这里可以看到,随着策略的变化,相应的连接线颜色会发生变化。

  • 2:

    Ingress 区域,管理进入 Pod 的流量,分为集群外、集群内、本命名空间三种配置方法。

  • 3:

    Egress 区域,管理从 Pod 发出的流量,和 Ingress 区域一样,分为三种配置。

例如新建一个缺省禁止所有其它命名空间访问的策略,只要新建策略,在 1 区点击 Ingress ,将其设为 Default Deny,然后在 2 区点击 In Namespace ,在弹出窗口中选择 Allow from any pod 即可。最终结果如图所示:

fYJfe2V.png!mobile

除了 All 之外,编辑器还支持 namespaceSelector、podSelector 以及集群外 CIDR 等的源头选择。Egress 策略中也包括对目标端口的设置。

结论

这才能叫可视化吧。

相关链接

  • 工具地址:

    https://editor.cilium.io/

  • Kubernetes Network Policies:

    https://kubernetes.io/docs/concepts/services-networking/network-policies/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK