<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Kubernetes之Open Policy Agent的實踐

    VSole2021-12-05 16:42:03

    很簡單,只需要在Kubernetes下安裝gatekeeper,

    下載安裝模板,wget https://raw.githubusercontent.com/open-policy-agent/gatekeeper/master/deploy/gatekeeper.yaml,

    執行,kubectl apply -f gatekeeper.yaml,

    接下來就全都是效果驗證,

    創建能控制容器鏡像的模板,vim k8srequiredregistry_template.yaml,

    apiVersion: templates.gatekeeper.sh/v1beta1

    kind: ConstraintTemplate

    metadata:

     name: k8srequiredregistry

    spec:

     crd:

       spec:

         names:

           kind: K8sRequiredRegistry

         validation:

           # Schema for the `parameters` field

           openAPIV3Schema:

             properties:

               image:

                 type: string

     targets:

       - target: admission.k8s.gatekeeper.sh

         rego: |

           package k8srequiredregistry

           violation[{"msg": msg, "details": {"Registry should be": required}}] {

             input.review.object.kind == "Pod"

             some i

             image := input.review.object.spec.containers[i].image

             required := input.parameters.registry

             not startswith(image,required)

             msg := sprintf("Forbidden registry: %v", [image])

           }

    創建策略,僅允許使用docker.mirrors.ustc.edu.cn的鏡像,

    vim all_images_must_come_from_docker.mirrors.ustc.edu.cn.yaml,

    apiVersion: constraints.gatekeeper.sh/v1beta1

    kind: K8sRequiredRegistry

    metadata:

     name: images-must-come-from-docker.mirrors.ustc.edu.cn

    spec:

     match:

       kinds:

         - apiGroups: [""]

           kinds: ["Pod"]

     parameters:

       registry: "docker.mirrors.ustc.edu.cn/"

    創建個違反策略的容器部署,

    vim sshd-deployment-opa.yaml,

    apiVersion: apps/v1

    kind: Deployment

    metadata:

     name: sshd-opa

     labels:

       app: sshd-opa

     namespace: default

    spec:

     selector:

       matchLabels:

         app: sshd-opa

     template:

       metadata:

         labels:

           app: sshd-opa

       spec:

         containers:

         - name: sshd-opa

           image: rastasheep/ubuntu-sshd:14.04

           imagePullPolicy: IfNotPresent

           ports:

           - containerPort: 22

    沒創建成功,查容器實例都查不到,但可以查看部署信息,

    kubectl get deployments sshd-opa -o yaml,

    確認是由于僅允許使用docker.mirrors.ustc.edu.cn的鏡像的策略導致。

    kubernetesmirrors
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    最近在學習云原生相關的滲透知識,該系列文章記錄學習過程,包括基礎知識(主要是k8s的搭建使用以及一些概念等,docker基礎使用操作不贅述。)、工具的使用、逃逸漏洞復現等。 服務器準備 騰訊云 云服務器,新建三臺服務器(香港地區)。
    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak, sudo vim /etc/apt/sources.list, deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliy
    搭建 k8s docker 漏洞環境
    ubuntu20.04,單網卡,能訪問互聯網, 切換到阿里云的源, sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak, sudo vim /etc/apt/sources.list, deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe mult
    之前做過NetworkPolicy的實踐,那個比較簡單,只驗證了同一個namespace下不同應用之間的訪問控制場景,本周實踐了一下不同namespace下應用之間的訪問控制場景, 首先還是創建應用,一個sshd,另一個httpd,分屬于兩個不同的namespace,
    很簡單,只需要在Kubernetes下安裝gatekeeper, 下載安裝模板,wget https://raw.githubusercontent.com/open-policy-agent/gatekeeper/master/deploy/gatekeeper.yaml, 執行,kubectl apply -f gatekeeper.yaml, 接下來就全都是效果驗證, 創建能控制容器
    雖然網上有大量從零搭建 K8S 的文章,但大都針對老版本,若直接照搬去安裝最新的 1.20 版本會遇到一堆問題。故此將我的安裝步驟記錄下來,希望能為讀者提供 copy and paste 式的集群搭建幫助。
    雖然網上有大量從零搭建?的文章,但大都針對老版本,若直接照搬去安裝最新的?版本會遇到一堆問題。故此將我的安裝步驟記錄下來,希望能為讀者提供?式的集群搭建幫助。服務等,可供用戶免費下載、使用和分享。??啟動的三節點服務已經配置好了以下使用?節點進行演示查看,其他節點操作均一致#?
    前言學習筆記-請勿當真。如有錯誤-也很正常。練習地址https://katacoda.com/madhuak
    和master節點kube api-server通信的組件有很多,包括: kubelet calico scheduler kubectl 某些pod可能會和kube api-server通信 這些組件和api-server通信時用的是什么身份,可以操作哪些api資源呢? 本文使用的k8s集群是用kubekey[1]搭建,命令是./kk create cluster --with-
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类