在現今快速發展的數據應用環境之下,Kubernetes已經成為部署和管理容器化應用的首選平台。但是隨著應用服務愈來愈複雜、被攻擊的風險也愈來愈高。為了保護Kubernetes環境的安全性,跟大家介紹一個針對Kubernetes安全合規掃描的工具,幫助確保您的 Kubernetes 叢集設置和應用程序部署符合最佳安全實踐,並幫助您識別和解決可能存在的安全漏洞。
本文將說明:
那就開始吧!!
Kubescape是一個針對Kubernetes安全合規掃描的工具,首先我們先簡單說明為什麼要做安全合規呢? 主要的目的是要確保系統是具備資訊安全和遵守法律法規,透過定期的檢視來達成以下關鍵目標:
而針對Kubernetes平台,kubescape就是一個讓管理者可以有效率的達成以上目標的其中一個做法,它的主要功能如下:
並且在CLI界面具備彈性的輸出格式與自動掃描功能來提供給管理者進行操作。針對小規模Cluster也有online dashboard可使用。
Kubescape可以用來掃描運行中的Cluster、YAML、Helm Charts。並且根據多個框架(NSA-CISA, CIS Benchmart..)來檢測錯誤設定。Kubescape是由ARMO這間公司所開發,也進入CNCF專案行列之中。
以下簡單說明如何在Kubernetes環境下部署Kubescape的流程:
#-------------------------------------------
# S2-1. 確認目前狀態
#-------------------------------------------
[master]# kubectl get nodes
#-------------------------------------------
# S2-2. 安裝 & 執行
#-------------------------------------------
[master]# wget https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh
[master]# chmod +x install.sh ; ./install.sh
#-------------------------------------------
# S2-3. Cluster掃描並產生PDF格式檔案
#-------------------------------------------
[master]# kubescape scan --enable-host-scan --format pdf --output results.pdf --verbose
如果可以正確產生報告,就代表安裝成功。下一步我們再來執行一些基本操作。
#-------------------------------------------
# S3-1. 針對特定namespace
#-------------------------------------------
[master]# kubescape scan --include-namespaces kube-system
#-------------------------------------------
# S3-2. 部署前掃描特定檔案
#-------------------------------------------
[master]# kubescape scan /root/networking/ingress-controller/nginx-community/nginx-ingress-controller/manifests/*.yaml
#-------------------------------------------
# S3-3. 使用不同框架掃描
#-------------------------------------------
[master]# kubescape scan framework nsa
[master]# kubescape scan framework mitre
除了個人測試之外,只要是在公司內使用的環境就勢必需要面對環境安全性的要求,除了建置前的仔細規劃、平時的各種更新之外,就必須要依靠外部工具來協助管理者掃描與找出其他沒有注意到的地方。
同時,還有大大小小的稽核檢查也需要提供對應的報告,而kubescape可以直接套用各種標準以不同產業的需求來進行掃描產出對應的報告,讓管理團隊直接針對自已的產業進行最適合的掃描,最少可以確保自已的環境是合乎業界標準。
最後,有幾個應用的時機可以分享給大家參考,當有以下的需求時,就可以考慮是否需要使用kubescape。
將Kubescape這類工具整合進 DevSecOps 流程中,並透過上述情境考量來確保容器化應用在 Kubernetes 環境中運行時能夠保持安全。減少潛在的風險,提高應用的安全性,並確保 Kubernetes 叢集的配置符合最佳實踐。在容器服務愈來愈多的現代環境,利用這類工具來確保安全是在這個領域的必學技能。
Reference: