天天看點

雲安全 | 雲原生安全是什麼?0x00 前言0x01 一些名詞介紹0x02 雲原生安全

0x00 前言

最近在接觸雲原生安全的時候碰到了不少以前不知道、不熟悉的名詞、技術等等,故在此做個筆記記錄一下。

0x01 一些名詞介紹

容器編排

容器編排(Container Orchestration)是指自動化容器的部署、管理、擴充和聯網,容器編排可以為需要部署和管理成百上千個 Linux 容器和主機的企業提供便利。

常見的容器編排工具方案有 Kubernetes、Docker Swarm 和 Apache Mesos 等。

以下是 Sysdig 在 2021 年給出的容器編排工具流行度圖表,可以看到 Kubernetes 可謂是一騎絕塵。

雲安全 | 雲原生安全是什麼?0x00 前言0x01 一些名詞介紹0x02 雲原生安全

圖檔來源:https://dig.sysdig.com/c/pf-2021-container-security-and-usage-report?x=u_WFRi&utm_source=gated-organic&utm_medium=website

無服務

無服務(Serverless)是一種雲原生開發模型,可使開發人員專注建構和運作應用,這并不是說沒有伺服器,而是說開發者不用去管伺服器隻負責開發就行。

無服務計算産品通常被分為兩類,分别是後端即服務(BaaS)和函數即服務(FaaS),其中 FaaS 是 Serverless 的主要實作方式,FaaS 的相關産品主要有 AWS 的 Lambda、Azure 的 Functions Serverless Compute、GCP 的 Firebase Cloud Functions、阿裡雲的 Function Compute 等。

微服務

微服務(Microservices)是一種軟體架構風格,它是以專注于單一責任與功能的小型功能區塊為基礎,利用子產品化的方式組合出複雜的大型應用程式,各功能區塊使用與語言無關的API集互相通信。

這個是 Wiki 上給出的定義,如果具體的想了解微服務是什麼可以看知乎上的這個文章:https://www.zhihu.com/question/65502802

服務網格

服務網格(Service Mesh)用于控制應用的不同部分之間如何共享資料,服務網格内置于應用程式中的專用基礎架構層,這個可見的基礎架構層可以記錄應用的不同部分是否能正常互動。

在服務網格中,請求将通過所在基礎架構層中的代理在微服務之間路由,構成服務網格的各個代理有時被稱為”sidecar”

如果沒有服務網格,每項微服務都需要進行邏輯編碼,才能管理服務間通信,這會導緻開發人員無法專注于業務目标,同時,這也意味着通信故障難以診斷,因為管理服務間通信的邏輯隐藏在每項服務中。

雲安全 | 雲原生安全是什麼?0x00 前言0x01 一些名詞介紹0x02 雲原生安全

CNCF

CNCF (Cloud Native Computing Foundation) 雲原生計算基金會,于 2015 年7月21日成立,隸屬于 Linux 基金會,CNCF 的口号是堅持和整合開源技術來編排容器作為微服務架構的一部分。

CNCF 是一個孵化、營運雲原生生态的中立組織,CNCF 對于雲原生應用的推廣和普及發揮着重要的作用。

在 landscape.cncf.io 可以看到由 CNCF 所維護的雲原生全景圖。

雲安全 | 雲原生安全是什麼?0x00 前言0x01 一些名詞介紹0x02 雲原生安全

0x02 雲原生安全

雲原生

雲原生(Cloud Native)可以拆分成「雲」和「原生」去看。

「雲」相對的就是本地,傳統應用都跑在本地伺服器上,而雲則表示跑在雲伺服器上。

「原生」則可以簡單的了解成出生地的意思,放在雲環境中所表達的意思就是:在把應用跑到雲伺服器上時,應該充分的利用雲自身的特點,比如彈性和分布式優勢。

如果隻是簡單的把原來本地跑的業務放到雲上,高舉“上雲”大旗,那隻能叫做“拆遷戶”,不能叫做雲原生;當“上雲”的風潮過去後,開始出現了直接就部署在雲上的業務,這些業務完全按照“雲”的特點去設計,這種是“雲”的原住民,可以叫做雲原生。

CNCF 對于雲原生的見解為:

雲原生技術有利于各組織在公有雲、私有雲和混合雲等新型動态環境中,建構和運作可彈性擴充的應用。雲原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式 API。

這些技術能夠建構容錯性好、易于管理和便于觀察的松耦合系統。結合可靠的自動化手段,雲原生技術使工程師能夠輕松地對系統作出頻繁和可預測的重大變更。

對于雲原生系統一般有以下特征:

  • 輕、快、不變的基礎設施
  • 彈性服務編排
  • 開發營運一體化
  • 微服務架構
  • 無服務模型

雲原生安全

在介紹完雲原生後,雲原生安全就變得容易了解了,雲原生安全至少包含了微服務安全、無服務安全、編排平台安全、服務網格安全、容器安全、主控端安全等等。

根據雲原生環境的構成,面向雲原生環境的安全體系可以概括為以下三個層面:

  • 容器安全
  • 編排系統安全
  • 雲原生應用安全:包括了微服務、無服務、服務網格、零信任體系、API 安全等等

另外除了這些和雲原生環境相關的技術之外,雲原生安全還包含了一些傳統安全的内容,比如主控端的安全等等。

原文連結:https://www.teamssix.com/220217-160755.html

參考連結:

《雲原生安全-攻防實踐與體系建構》

https://www.jianshu.com/p/a37baa7c3eff

https://www.51cto.com/article/652294.html

https://jimmysong.io/kubernetes-handbook/cloud-native/cncf.html

https://zh.wikipedia.org/wiki/%E5%BE%AE%E6%9C%8D%E5%8B%99

https://www.redhat.com/zh/topics/cloud-native-apps/what-is-serverless

https://www.redhat.com/zh/topics/microservices/what-is-a-service-mesh

https://decodezp.github.io/2020/05/23/quickwords43-what-is-cloudnative

https://www.redhat.com/zh/topics/containers/what-is-container-orchestration

https://jimmysong.io/kubernetes-handbook/cloud-native/cloud-native-definition.html

https://www.cncf.io/announcements/2015/06/21/new-cloud-native-computing-foundation-to-drive-alignment-among-container-technologies/