成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

十個優秀開源Docker&Kubernetes安全掃描工具,提升容器安全性!

開源 安全
本文主要介紹k8s和Docker所面對的安全性問題,并推薦幾款開源免費容器安全工具。

Kubernetes(k8s)是一種目前流行的開源容器編排系統,可以自動部署、擴展和管理容器化工作負載。Kubernetes提供了容器自修復、自動擴展和服務發現的功能,但是,也存在一些固有的安全風險。Docker 是一個容器平臺,用于構建、部署和管理應用程序。Docker容器的輕量、可移植和可擴展特性為應用程序的開發和交付帶來了巨大的便利,特別是在微服務架構應用上,是許多開發者和組織的首選。然而,隨著容器化的廣泛應用,Docker也面臨著日益復雜和嚴峻的容器安全挑戰。

本文主要介紹k8s和Docker所面對的安全性問題,并推薦幾款開源免費容器安全工具。

Kubernetes的安全性問題

(1)集群安全

集群安全包括通過啟用認證、授權和加密來保護控制組件,如API服務器、etcd和Kubernetes控制器管理程序(Kubernetes controller manager)等。

(2)節點安全

節點安全主要是指正確配置網絡和保護Kubernetes運行時環境,包括刪除不必要的用戶帳戶、確保應用訪問的合規性。

(3)應用程序安全

應用程序安全意味著要對pod進行保護,在Kubernetes中,pod是用于運行應用程序的容器。保護這些應用程序的前提是保護pod。Kubernetes提供了多個安全特性來幫助保護應用程序。這些特性可用于限制資源訪問、實施網絡策略,并支持容器之間的安全通信。

Docker容器的安全問題

(1)鏡像污染

目前Docker Hub上面有著數量眾多的第三方上傳鏡像,這些鏡像質量參差不齊。在這其中,不排除有黑客故意上傳包含了惡意程序的鏡像,并偽裝成業務鏡像供用戶下載使用。當用戶誤用此類鏡像啟動容器時,無疑會導致容器被入侵。因此,用戶必須對這些鏡像進行掃描甄別,以保證容器所使用的鏡像是可受信任的,盡可能不使用非信任的第三方鏡像。

(2)網絡攻擊

Docker默認使用bridge網絡,該網絡會創建一個虛擬網橋,連接在同一個網橋之間的容器可以互相訪問。當某個容器被入侵時,黑客有可能順著網絡訪問到宿主機中的其他容器。同時 ,攻擊者也可以通過DDos等方式,攻擊容器的服務來耗盡主機的資源,從而引起整個宿主機的崩潰。

(3)內核攻擊

當黑客獲取到容器權限時,由于共享內核的緣故,理論上可通過對內核的攻擊來達到控制或影響主機的地步 。

(4)操作不當

有些操作不當容易使容器出現漏洞,例如:

  • 在啟動容器時將主機的根目錄映射到容器中;
  • 在啟用容器時使用特權模式——privileged,此時Docker容器允許可以訪問主機上的所有設備,并可以獲取大量設備文件的訪問權限。

(5)針對Docker Daemon的攻擊

Docker使用的是C/S架構,作為服務端的Docker Daemon會接收客戶端通過CLI或者REST API發送的命令,并執行對容器的相應操作。但請求不一定都是由可信任的用戶發起的,攻擊者可能通過偽造請求的方式,來達到欺騙Daemon端執行危險的操作。

(6)Docker漏洞攻擊

Docker本身屬于應用程序,不可避免地會有出現代碼的漏洞,這可能導致程序受到攻擊。

綜上所述,要確保容器安全,涉及設備、系統、網絡、鏡像、應用、操作等各個層次。其中,容器本身的安全往往容易容易被忽略,下面內容主要推薦一些對保護Kubernetes集群和Docker容器有用的開源工具,有助于Docker 鏡像的靜態掃描、安全審計、加固 Kubernetes 集群和實現運行時安全性。

1.Trivy

https://github.com/aquasecurity/trivy

Trivy是一個全面且多功能的安全掃軟件。Trivy包含擁有查找安全問題的掃描器,并將目標定位在可以找到這些問題的地方。可用于查找容器、Kubernetes、代碼存儲庫、云等當中存在的漏洞、錯誤配置、密碼泄露、SBOM等問題。Trivy支持大多數流行的編程語言,支持跨平臺操作系統。

Trivy支持掃描的對象包括:

  • 容器鏡像
  • 文件系統
  • Git倉庫(遠程)
  • 虛擬機鏡像
  • Kubernetes
  • AWS

Trivy能夠發現的問題包括:

  • 使用中的操作系統包和軟件依賴關系(SBOM)
  • 已知漏洞(CVEs)
  • IaC問題和錯誤配置
  • 敏感信息和秘密
  • 軟件許可信息

在執行Trivy掃描之后,將得到一個漏洞列表,包括漏洞的嚴重性和CVE編號。

實際的安裝和使用如下:

(1)安裝

使用Homebrew for MacOS and Linux 安裝:

brew install trivy
docker run aquasec/trivy

或者使用腳本安裝:

curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.47.0

也可以基于源碼安裝:

git clone --depth 1 --branch v0.47.0 https://github.com/aquasecurity/trivy
cd trivy
go install ./cmd/trivy

(2)掃描容器鏡像

docker run -v /var/run/docker.sock:/var/run/docker.sock -v $HOME/Library/Caches:/root/.cache/ aquasec/trivy:0.47.0 image python:3.4-alpine

掃描結果如下:

2.Docker Bench for Security

https://github.com/docker/docker-bench-security

Docker Bench for Security是一個Docker安全相關的命令集,用于自動檢查在生產環境中部署Docker容器的數十種常見最佳實踐。

使用以下腳本可以從本機運行:

git clone https://github.com/docker/docker-bench-security.git
cd docker-bench-security
sudo sh docker-bench-security.sh

或者基于Docker執行:

docker run --rm --net host --pid host --userns host --cap-add audit_control \
    -e DOCKER_CONTENT_TRUST=$DOCKER_CONTENT_TRUST \
    -v /etc:/etc:ro \
    -v /lib/systemd/system:/lib/systemd/system:ro \
    -v /usr/bin/containerd:/usr/bin/containerd:ro \
    -v /usr/bin/runc:/usr/bin/runc:ro \
    -v /usr/lib/systemd:/usr/lib/systemd:ro \
    -v /var/lib:/var/lib:ro \
    -v /var/run/docker.sock:/var/run/docker.sock:ro \
    --label docker_bench_security \
    docker-bench-security

3.Clair

https://github.com/quay/clair

Clair是一個用于靜態分析Docker和appc容器中的漏洞的開源項目。該工具有多種部署模式,最適合高可伸縮性和可用性。Clair 支持REST api,并提供HTML掃描報告。他還可以與Docker Registry集成以自動提供漏洞報告。

Clair 目前的版本v4使用ClairCore庫作為其檢查內容和報告漏洞的引擎。在較高的層次上,可以將Clair視為ClairCore庫中提供的功能的服務包裝器。Clair V4的架構如下圖所示:

詳細使用方式可以參考官方文檔:https://quay.github.io/clair/howto/getting_started.html

4.Kube-bench

https://github.com/aquasecurity/kube-bench

CIS Benchmarking 是保護IT系統和數據的全球公認標準,它提供了一系列的指導手冊來保護容易受到網絡攻擊的操作系統、軟件和網絡。

Kube-bench是一個開源工具,用于檢查Kubernetes是否按照CIS Kubernetes基準(包含一組Kubernetes安全最佳實踐)來優化部署。因此,當僅為CIS基準測試目的需要掃描時,kube-bench是最好的。

運行kube-bench有多種方法。可以在pod中運行kube-bench,但它需要訪問主機的PID命名空間以檢查正在運行的進程,以及訪問主機上存儲配置文件和其他文件的某些目錄。GitHub存儲庫包含特定于云的 job-*.yaml 文件 ,kube-bench將根據機器上運行的Kubernetes版本自動決定運行哪個測試集。

例如:

$ kubectl apply -f job.yaml
job.batch/kube-bench created

$ kubectl get pods
NAME                      READY   STATUS              RESTARTS   AGE
kube-bench-j76s9   0/1     ContainerCreating   0          3s

# Wait for a few seconds for the job to complete
$ kubectl get pods
NAME                      READY   STATUS      RESTARTS   AGE
kube-bench-j76s9   0/1     Completed   0          11s

# The results are held in the pod's logs
kubectl logs kube-bench-j76s9
[INFO] 1 Master Node Security Configuration
[INFO] 1.1 API Server
...

具體可以參考相關文檔:https://github.com/aquasecurity/kube-bench/blob/main/docs/running.md

5.kubeaudit

https://github.com/Shopify/kubeaudit

kubeaudit是一個可以針對常見的安全控制對Kubernetes的部署進行審計的開源工具,比如:

  • 以非root用戶運行
  • 使用只讀的根文件系統
  • 放棄易受攻擊的能力,不要添加新的
  • 不要特權運行

kubeaudit的Brewhome安裝如下:

kubeaudit all -f "/path/to/manifest.yml"

Kubeaudit 可以在三種不同的模式下運行:manifest、cluster和local。它還可以自動修復清單,這使它有別于其他競爭對手。

manifest模式運行—在該模式下,需要提供相關Kubernetes資源的manifest文件。

例如:

kubeaudit all -f "/path/to/manifest.yml"

輸出結果:

$ kubeaudit all -f "internal/test/fixtures/all_resources/deployment-apps-v1.yml"

---------------- Results for ---------------

  apiVersion: apps/v1
  kind: Deployment
  metadata:
    name: deployment
    namespace: deployment-apps-v1

--------------------------------------------

-- [error] AppArmorAnnotationMissing
   Message: AppArmor annotation missing. The annotation 'container.apparmor.security.beta.kubernetes.io/container' should be added.
   Metadata:
      Container: container
      MissingAnnotation: container.apparmor.security.beta.kubernetes.io/container

-- [error] AutomountServiceAccountTokenTrueAndDefaultSA
   Message: Default service account with token mounted. automountServiceAccountToken should be set to 'false' or a non-default service account should be used.

-- [error] CapabilityShouldDropAll
   Message: Capability not set to ALL. Ideally, you should drop ALL capabilities and add the specific ones you need to the add list.
   Metadata:
      Container: container
      Capability: AUDIT_WRITE
...

另外,還有集群模式:

kubeaudit all

本地模式:

kubeaudit all -f "/path/to/config"
br

此外,kubeaudit有多個審計配置文件,包括外觀,能力,限制,特權,rootfs, seccomp, netpols和asat。

6.Kubescape

https://github.com/kubescape/kubescape

Kubescape是一個開源的Kubernetes安全平臺,適用于IDE、CI/CD管道和集群。它的功能包括風險分析、安全性、合規性和錯誤配置掃描,為Kubernetes用戶和管理員節省了寶貴的時間、精力和資源。

安裝:

curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash

執行掃描:

kubescape scan --verbose

結果如下

7.Kube-hunter

https://github.com/aquasecurity/kube-hunter

kube-hunter是一個用Python開發的開源滲透測試工具,用于在Kubernetes集群中尋找安全漏洞。它支持編寫可以在本地機器、集群內部以及主動和被動模式下遠程執行的自定義模塊。

在活動模式下,kube-hunter可以發現任何漏洞,還可以將kube-hunter作為模擬攻擊工具在staging 環境中運行。

安裝和使用方式如下:

pip install kube-hunter # Installing Kube-hunter.
kube-hunter --remote some.node.com # Running remotely.
kube-hunter --cidr 192.168.0.0/24. # Network Scanning.
kube-hunter --remote some.domain.com --active # Active Mode.
kube-hunter --list --active # List of test cases.
kube-hunter --remote some.node.com --json # Json output
kube-hunter --k8s-auto-discover-nodes --kubeconfig "/path/config"

8.Cilium

https://github.com/cilium/cilium

Cilium是一個網絡安全檢測項目,提供基于eBPF的網絡可觀察性和安全性解決方案。它與Docker和Kubernetes兼容,允許在不更改應用程序代碼或容器配置的情況下應用安全策略。

9.Syft and Grype

https://github.com/anchore/syft

https://github.com/anchore/grype

Syft是一個基于Go開發的CLI工具庫,用于從容器映像和文件系統生成軟件物料清單(SBOM)。Grype是一個針對容器映像和文件系統的漏洞掃描工具。當Syft與Grype等掃描工具一起搭配使用時,可以用于檢測系統漏洞或異常。

Syft安裝:

curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin

Grype安裝:

curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin

具體使用,可參考官方文檔。

10.Dockle

https://github.com/goodwithtech/dockle

Dockle是一個基于遵循CIS(互聯網安全中心)Docker基準,并按照最佳實踐構建安全的Docker容器鏡像的工具。

掃描Docker Image的操作命令如下:

(1)掃描Docker鏡像:

$ dockle goodwithtech/test-image:v1
br

(2)掃描Docker鏡像文件:

$ docker save alpine:latest -o alpine.tar
$ dockle --input alpine.tar

(3)獲取掃描JSON結果:

$ dockle -f json goodwithtech/test-image:v1
$ dockle -f json -o results.json goodwithtech/test-image:v1

更多操作可參考官方手冊。

責任編輯:趙寧寧 來源: andflow
相關推薦

2011-08-01 09:20:16

2021-10-25 14:40:43

Web工具Linux

2021-02-21 09:33:19

Docker容器安全 應用程序

2025-04-08 09:46:56

2022-07-18 11:13:07

容器安全Docker

2024-04-24 12:34:44

2020-06-16 11:22:19

SaaS云服務云安全

2023-02-24 14:28:56

2022-11-03 15:26:52

2017-06-12 08:47:14

ESXi安全vSphere

2020-10-08 10:15:15

LynisLinux系統安全

2023-11-17 12:09:54

2021-12-26 08:03:31

容器安全掃描工具漏洞

2016-11-15 11:20:39

2018-11-27 09:00:53

DockerKubernetes容器

2020-06-09 21:07:56

OT安全網絡安全攻擊

2012-04-05 09:52:21

開源軟件Linux

2012-02-29 09:13:08

ibmdw

2010-09-06 10:47:56

2024-08-13 00:23:48

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 992人人草| 成人黄色电影免费 | 四虎成人免费电影 | 国产精品1区2区 | 午夜激情在线视频 | 午夜成人免费视频 | 亚洲免费视频一区二区 | 久久久久久久国产精品视频 | 国产日韩欧美在线 | 久久久999精品| 亚洲毛片 | 久久久久久久一区 | 欧美一区二区三区久久精品 | 成在线人视频免费视频 | 欧美一区二区 | 精品在线一区二区 | 玖玖操 | 亚洲国产精品一区 | 国产精品久久久久久久岛一牛影视 | 国产高清区 | 免费看国产一级特黄aaaa大片 | 国产欧美精品一区二区 | 在线播放中文字幕 | 成人夜晚看av | 一区二区在线不卡 | 亚洲一区三区在线观看 | 日韩国产在线 | 国产在线资源 | 91在线免费视频 | aaaaa毛片 | 午夜精品久久久久久久久久久久久 | 欧美日韩在线播放 | 亚洲狠狠爱 | 日韩精品在线视频 | 亚洲精品一区二区二区 | 国产综合欧美 | 在线久草 | 久久久精品一区 | 91精品国产一二三 | 亚洲毛片 | 久久大陆 |