日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何使用Kubescape保護(hù)Kubernetes

如何使用 Kubescape 保護(hù) Kubernetes

作者:科技狠活與軟件技術(shù) 2022-12-06 17:32:18

云計(jì)算

云原生 將對(duì)云原生環(huán)境中的漸進(jìn)式交付選項(xiàng)進(jìn)行分析,以探索如何在 Kubernetes 環(huán)境中添加此增強(qiáng)功能。

Kubernetes 功能強(qiáng)大,但也很復(fù)雜。很容易讓集群容易受到攻擊。第一道防線是自動(dòng)安全檢查。

Kubernetes 不斷增長(zhǎng)。根據(jù)最近的一項(xiàng)調(diào)查,它在開發(fā)人員中的采用率在 2021 年增長(zhǎng)了驚人的 67%。企業(yè)正在遷移到 Kubernetes 以享受云原生應(yīng)用程序的靈活性和可擴(kuò)展性。

Kubernetes 對(duì)企業(yè)的價(jià)值毋庸置疑,但它是有代價(jià)的:由于其復(fù)雜性,很容易使集群容易受到攻擊。企業(yè)知道這一點(diǎn);在其Kubernetes 安全狀況報(bào)告中,紅帽表示,59% 的受訪者認(rèn)為容器安全是一種威脅。

在持續(xù)集成和交付 (CI/CD) 中安裝自動(dòng)化安全檢查,這是所有代碼在進(jìn)入生產(chǎn)之前必須通過的唯一地方,是開始防御威脅的最佳方式,而 Kubescape 可以幫助您做到這一點(diǎn)。

在本文中,我們將學(xué)習(xí)如何在我們的 CI/CD 管道中運(yùn)行Kubescape以在威脅部署之前檢測(cè)它們。

進(jìn)入 Kubescape

Kubescape 是 Kubernetes 的開源安全檢查工具。該工具由ARMO開發(fā),可以掃描 Kubernetes 集群、檢查容器并檢測(cè)不安全的部署。

即使擁有多年運(yùn)行 Kubernetes 的經(jīng)驗(yàn),企業(yè)仍在學(xué)習(xí)保護(hù)集群的來龍去脈。2019 年,一個(gè)加密貨幣礦工以某種方式進(jìn)入了 JW Player 的集群,并開始使用他們的資源進(jìn)行挖礦。開發(fā)人員發(fā)現(xiàn)原因是權(quán)限提升的容器。在這種情況下,如果 JW Player 的團(tuán)隊(duì)在他們的部署過程中使用了 Kubescape,那么在部署之前就會(huì)檢測(cè)到提升的容器權(quán)限。

Kubescape 基于 NSA、CISA 和 Microsoft 的安全指南實(shí)施了 70 多種控制。這些控件分為四類,稱為框架:

  • NSA:遵循NSA Kubernetes 強(qiáng)化指南。這是一個(gè)專注于應(yīng)用程序安全性的自上而下的框架。
  • MITRE:遵循 Microsoft 的MITRE Framework。MITRE 主要關(guān)注保護(hù) Kubernetes 基礎(chǔ)設(shè)施。
  • ArmoBest:ARMO 框架由 Kubescape 背后的同一批人維護(hù)。該框架試圖覆蓋 MITRE 和 NSA 框架之間的盲點(diǎn)。
  • DevOpsBest:一個(gè)最小的框架,涵蓋了基礎(chǔ)設(shè)施和應(yīng)用程序安全性的最基本點(diǎn)。

默認(rèn)情況下,Kubescape 將運(yùn)行所有檢查并打印出每個(gè)框架的風(fēng)險(xiǎn)級(jí)別。

確保 Kubernetes 安全的完整性控制

我們可以從兩個(gè)角度處理 Kubernetes 安全性。在最基本的層面上,有一個(gè)集群必須適當(dāng)?shù)丶庸桃缘钟簟@對(duì)于自我管理和本地安裝尤為重要。在應(yīng)用程序級(jí)別,我們必須檢查部署是否遵循最佳實(shí)踐,并且不要留下可利用的漏洞。

使用 Kubescape 保護(hù) Kubernetes

我們將看到的第一組控制涉及保護(hù)部署清單,Kubernetes 使用它來描述一組資源的所需狀態(tài)。通過分析這個(gè)清單,Kubescape 可以檢測(cè)到以下問題:

  • 在容器內(nèi)運(yùn)行的不安全 SSH 服務(wù)。
  • 容器啟動(dòng)命令中的sudo-commands。
  • 以 root 身份運(yùn)行容器或使用過多的功能
  • 在沒有父 ReplicaSet 的情況下運(yùn)行 Pod。
  • Pod 占用所有可用的 CPU 和內(nèi)存。

您可以在ArmoSec 文檔中查看所有控件和可用框架。每個(gè)控制都與從低到嚴(yán)重的風(fēng)險(xiǎn)級(jí)別相關(guān)聯(lián)。在掃描過程結(jié)束時(shí),Kubescape 會(huì)計(jì)算從 0%(非常安全)到 100%(不安全)的風(fēng)險(xiǎn)評(píng)分。

掃描 Kubernetes 清單

讓我們看看 Kubescape 的實(shí)際應(yīng)用。對(duì)于本教程的這一部分,任何有效的 Kubernetes 清單都可以。作為示例,我將使用此存儲(chǔ)庫(kù)中的部署清單:

  • 信號(hào)量-demo-nodejs-k8s

掃描 Kubernetes 清單文件的基本命令如下所示:

$ kubescape scan deployment.yml
Controls: 31 (Failed: 14, Excluded: 0, Skipped: 0)
+----------+----------------------------------------+------------------+--------------------+---------------+--------------+
| SEVERITY | CONTROL NAME | FAILED RESOURCES | EXCLUDED RESOURCES | ALL RESOURCES | % RISK-SCORE |
+----------+----------------------------------------+------------------+--------------------+---------------+--------------+
| High | Resources CPU limit and request | 1 | 0 | 1 | 100% |
| High | Resources memory limit and request | 1 | 0 | 1 | 100% |
| Medium | Allow privilege escalation | 1 | 0 | 1 | 100% |
| Medium | CVE-2022-0492-cgroups-container-escape | 1 | 0 | 1 | 100% |
| Medium | Configured liveness probe | 1 | 0 | 1 | 100% |
| Medium | Images from allowed registry | 1 | 0 | 1 | 100% |
| Medium | Ingress and Egress blocked | 1 | 0 | 1 | 100% |
| Medium | Linux hardening | 1 | 0 | 1 | 100% |
| Medium | Non-root containers | 1 | 0 | 1 | 100% |
| Low | Configured readiness probe | 1 | 0 | 1 | 100% |
| Low | Immutable container filesystem | 1 | 0 | 1 | 100% |
| Low | K8s common labels usage | 1 | 0 | 1 | 100% |
| Low | Label usage for resources | 1 | 0 | 1 | 100% |
| Low | Resource policies | 1 | 0 | 1 | 100% |
+----------+----------------------------------------+------------------+--------------------+---------------+--------------+
| | RESOURCE SUMMARY | 1 | 0 | 1 | 40.27% |
+----------+----------------------------------------+------------------+--------------------+---------------+--------------+

FRAMEWORKS: MITRE (risk: 0.00), AllControls (risk: 40.27), ArmoBest (risk: 36.73), DevOpsBest (risk: 63.16), NSA (risk: 36.99)在不選擇特定框架的情況下,Kubescape 評(píng)估所有控件。您可以通過添加framework. 例如:

$ kubescape scan framework DevOpsBest deployment.yml?

您還可以通過列出其ID 代碼來運(yùn)行單個(gè)控件。

$ kubescape scan control C-0076,C-0004 deployment.yml?

如您所見,Kubescape 輸出一個(gè)包含控件、它們的狀態(tài)和最終風(fēng)險(xiǎn)評(píng)分的表格。

健全性檢查 Kubernetes 集群

由于 Kubernetes 的默認(rèn)配置導(dǎo)致了大約 47% 的安全問題,因此大多數(shù)自我管理的集群都存在風(fēng)險(xiǎn)。Kubescape 可以檢查正在運(yùn)行的集群配置,檢測(cè)潛在問題并提供修復(fù)建議。以下是該工具可以執(zhí)行的一些集群級(jí)別檢查:

  • 識(shí)別不安全的工作節(jié)點(diǎn)。
  • 檢查暴露的和不安全的接口,例如管理儀表板。
  • 檢測(cè)集群是否受到任何已知 CVE 的影響。
  • 檢測(cè)缺失的網(wǎng)絡(luò)策略。
  • 查找在沒有 TLS 身份驗(yàn)證的情況下運(yùn)行的 Kubelet 客戶端。

要掃描集群,請(qǐng)使用以下命令:

$ kubescape scan
Controls: 57 (Failed: 35, Excluded: 0, Skipped: 5)
+----------+---------------------------------------------------------------------+------------------+--------------------+---------------+--------------+
| SEVERITY | CONTROL NAME | FAILED RESOURCES | EXCLUDED RESOURCES | ALL RESOURCES | % RISK-SCORE |
+----------+---------------------------------------------------------------------+------------------+--------------------+---------------+--------------+
| Critical | Data Destruction | 17 | 0 | 67 | 25% |
| Critical | Disable anonymous access to Kubelet service | 0 | 0 | 0 | skipped* |
| Critical | Enforce Kubelet client TLS authentication | 0 | 0 | 0 | skipped* |
| High | Cluster-admin binding | 1 | 0 | 67 | 1% |
| High | List Kubernetes secrets | 10 | 0 | 67 | 15% |
| High | Privileged container | 1 | 0 | 6 | 14% |
| High | Resources CPU limit and request | 6 | 0 | 6 | 100% |
| High | Resources memory limit and request | 5 | 0 | 6 | 69% |
| High | Workloads with Critical vulnerabilities exposed to external traffic | 0 | 0 | 0| skipped** |
| High | Workloads with RCE vulnerabilities exposed to external traffic | 0 | 0 | 0 | skipped** |
| High | Workloads with excessive amount of vulnerabilities | 0 | 0 | 0 | skipped** |
| High | Writable hostPath mount | 3 | 0 | 6 | 42% |
| Medium | Access container service account | 2 | 0 | 2 | 100% |
| Medium | Allow privilege escalation | 5 | 0 | 6 | 69% |
| Medium | Allowed hostPath | 3 | 0 | 6 | 42% |
| Medium | Automatic mapping of service account | 4 | 0 | 8 | 57% |
| Medium | CVE-2022-0492-cgroups-container-escape | 1 | 0 | 6 | 31% |
| Medium | Cluster internal networking | 5 | 0 | 5 | 100% |
| Medium | Configured liveness probe | 1 | 0 | 6 | 14% |
| Medium | CoreDNS poisoning | 3 | 0 | 67 | 4% |
| Medium | Delete Kubernetes events | 3 | 0 | 67 | 4% |
| Medium | Exec into container | 1 | 0 | 67 | 1% |
| Medium | HostNetwork access | 5 | 0 | 6 | 69% |
| Medium | HostPath mount | 4 | 0 | 6 | 56% |
| Medium | Ingress and Egress blocked | 6 | 0 | 6 | 100% |
| Medium | Linux hardening | 1 | 0 | 6 | 14% |
| Medium | Mount service principal | 4 | 0 | 6 | 56% |
| Medium | Namespace without service accounts | 4 | 0 | 7 | 57% |
| Medium | Network mapping | 5 | 0 | 5 | 100% |
| Medium | No impersonation | 1 | 0 | 67 | 1% |
| Medium | Non-root containers | 6 | 0 | 6 | 100% |
| Medium | Portforwarding privileges | 1 | 0 | 67 | 1% |
| Low | Audit logs enabled | 1 | 0 | 1 | 100% |
| Low | Configured readiness probe | 4 | 0 | 6 | 56% |
| Low | Immutable container filesystem | 5 | 0 | 6 | 69% |
| Low | K8s common labels usage | 6 | 0 | 6 | 100% |
| Low | Label usage for resources | 2 | 0 | 6 | 44% |
| Low | PSP enabled | 1 | 0 | 1 | 100% |
| Low | Resource policies | 6 | 0 | 6 | 100% |
| Low | Secret/ETCD encryption enabled | 1 | 0 | 1 | 100% |
+----------+---------------------------------------------------------------------+------------------+--------------------+---------------+--------------+
| | RESOURCE SUMMARY | 37 | 0 | 90 | 16.62% |
+----------+---------------------------------------------------------------------+------------------+--------------------+---------------+--------------+

FRAMEWORKS: MITRE (risk: 12.58), AllControls (risk: 16.62), ArmoBest (risk: 13.44), DevOpsBest (risk: 40.27), NSA (risk: 17.92)

添加--enable-host-scan以在每個(gè)節(jié)點(diǎn)上安裝診斷容器。這給出了更詳細(xì)的結(jié)果,如下所示:

$ kubescape scan framework DevOpsBest --enable-host-scan
Controls: 11 (Failed: 6, Excluded: 0, Skipped: 0)
+----------+------------------------------------+------------------+--------------------+---------------+--<
網(wǎng)頁(yè)題目:如何使用Kubescape保護(hù)Kubernetes
分享鏈接:http://www.dlmjj.cn/article/cogccej.html