日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用容器內部操作審計功能

容器內部操作審計功能可以方便您審計組織內成員或應用程序進入容器后執行的命令操作。本文介紹如何使用容器內部操作審計功能,以及如何通過日志服務收集分析審計日志,并根據需求為審計日志設置自定義的告警規則。

計費說明

容器內部操作審計功能當前處于公測中,可以免費使用。開通容器內部操作審計功能后,使用日志服務SLS的相關功能,會產生相關費用。日志服務相關計費信息,請參見計費概述

使用限制

  • 集群類型:僅支持ACK集群Pro版ACK集群基礎版ACK專有集群

  • 集群版本及操作系統限制:僅支持內核版本大于4.19的Alibaba Cloud Linux、Ubuntu操作系統。

    • Alibaba Cloud Linux:集群版本為1.18及以上。

    • Ubuntu:

      • 集群版本為1.30及以上。如需升級集群,請參見手動升級集群

      • 在ACK集群中使用Ubuntu操作系統的功能目前處于邀測中。如需使用,提交工單,并提供您的阿里云賬號ID。

      • 目前不支持CIS集群檢查、CPFS存儲卷、GPU插件、鏡像加速插件、安全加固等功能。

步驟一:啟用容器內部操作審計功能

您可以通過安裝logtail-ds組件和ack-advanced-audit組件啟用容器內部操作審計功能。

  • logtail-ds組件:將審計日志收集到日志服務并創建默認的審計報表。

  • ack-advanced-audit組件:實現容器內操作審計。

容器內部操作審計功能啟用后,默認將在logtail-ds組件使用的日志Project中創建一個名為advaudit-${cluster_id}的日志庫,用于保存審計日志。該日志庫數據的保存時間為180天。如需修改日志保存時間,請參見管理Logstore

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面,在日志與監控頁簽定位logtail-ds組件,在安全頁簽定位ack-advanced-audit組件,并按照頁面提示完成安裝。

步驟二:查看審計報表

容器內部操作審計功能啟用后,默認將在日志Project下創建一個名為Kubernetes容器內部操作審計的報表。

  1. 登錄日志服務控制臺

  2. 在Project列表區域,選擇集群使用的日志Project,單擊名稱進入日志Project頁面。

  3. 在頁面左側的圖標欄單擊儀表盤儀表盤圖標,然后單擊Kubernetes容器內部操作審計查看審計報表內容。

    • 查看進入Pod容器的次數以及相關Pod信息。報表1

    • 執行操作的Kubernetes操作賬號信息、進入容器后執行的命令列表以及常見的高危列表。報表2風險列表報表

步驟三:查看詳細日志記錄

您可以通過以下兩種方式查看詳細的日志記錄。

  • 在審計報表頁面查看:適用于查看最近的單個事件的日志記錄。

  • 在日志庫頁面通過查詢語句查看:適用于復雜場景,查看更多的歷史信息以及歷史事件。

在審計報表頁面查看

Kubernetes容器內部操作審計報表頁面,通過單擊風險程序操作列表區域的traceIdeventId表格列的鏈接,查看對應審計日志的詳細信息。

  • 單擊traceId表格列的鏈接,可以查看單次進入容器后執行的所有操作命令的審計日志。

  • 單擊eventId表格列的鏈接,可以查看執行的單個命令的詳細信息。

在日志庫頁面通過查詢語句查看

日志庫頁面,通過查詢語句查看詳細的審計日志記錄。

  1. 登錄日志服務控制臺

  2. 在Project列表區域,選擇集群使用的日志Project,單擊名稱進入日志Project頁面。

  3. 日志存儲 > 日志庫頁簽中,單擊名為advaudit-${cluster_id}的日志庫(Logstore)。

    advaudit-${cluster_id}中,${cluster_id}為您的集群ID。

  4. 在輸入框中輸入查詢和分析語句。

    • 查詢進入某個Pod的容器后執行的命令操作審計日志:輸入* and k8s.pod.namespace: <namespace> and k8s.pod.name: <pod_name>,將<namespace>替換為Pod所在的命名空間,<pod_name>替換為Pod的名稱。

    • 查詢執行指定程序的操作審計日志:輸入* and process.name: <name>,將<name>替換為待查找的程序名稱。

      更多查詢統計方式,請參見日志服務查詢分析方法

  5. 單擊15分鐘(相對),設置查詢分析的時間范圍。

  6. 單擊查詢/分析,查看查詢分析結果。

(可選)步驟四:配置操作審計告警

通過日志服務的告警功能,您可以配置容器內部操作審計的實時告警,便于監控容器內關鍵的操作事件。告警方式支持短信、釘釘機器人、郵件、自定義Webhook和通知中心。本文以配置釘釘告警的方式,介紹如何配置容器內部操作審計告警。更多告警配置方式,請參見告警

  1. 登錄日志服務控制臺

  2. 進入Webhook集成頁面。

    1. 在Project列表區域,單擊目標Project。

    2. 在左側導航欄中,單擊告警

    3. 告警中心頁面,單擊通知對象頁簽,然后單擊Webhook集成

  3. 創建Webhook。

    1. Webhook集成頁面,單擊新建

    2. 新建Webhook對話框中,配置如下配置項,然后單擊確認

      配置項

      描述

      標識符

      Webhook的唯一標識,不可重復。本示例配置為ack-container-operation-audit-alert

      名稱

      Webhook名稱。本示例配置為Kubernetes容器內部操作審計告警

      類型

      Webhook類型。本示例選擇釘釘

      請求地址

      Webhook URL地址。

      在釘釘側創建自定義機器人,并獲取Webhook URL地址。更多信息,請參見自定義機器人接入

  4. 新建內容模板。

    1. 告警中心頁面,單擊通知策略頁簽,然后單擊內容模板

    2. 內容模板頁面,單擊創建

    3. 配置內容模板的ID和名稱,然后配置釘釘告警通知的標題和發送內容。

      關于添加內容模板的更多信息,請參見創建內容模板。本文需配置兩個內容模板,具體配置內容如下。

      ID

      名稱

      標題

      發送內容

      ack-container-operation-audit-alert-enter

      Kubernetes進入容器告警

      KubernetesKubernetes容器內部操作審計告警

      - 告警規則:${alert_name}
      - 觸發時間:${alert_time}
      - 告警嚴重度:${severity}
      - 集群ID:{{ alert.results[0].fire_result['clusterid'] }}
      
      有賬號通過 kubectl exec或終端功能進入了容器,請檢查是否存在異常。
      操作次數:{{ alert.fire_results_count }} 次,下面是其中一次操作的具體信息:
      
      - 操作時間:{{ alert.results[0].fire_result['time'] }}
      {% if alert.results[0].fire_result['k8s.user.aliuid'] -%}
      - 操作賬號:{{ alert.results[0].fire_result['k8s.user.aliuid'] }}
      {% else -%}
      - 操作賬號:{{ alert.results[0].fire_result['k8s.user.username'] }}
      {% endif -%}
      - 命名空間:{{ alert.results[0].fire_result['k8s.pod.namespace'] }}
      - Pod:{{ alert.results[0].fire_result['k8s.pod.name'] }}
      - 容器:{{ alert.results[0].fire_result['kubeobject.operation.podexecoptions.container'] }}
      - 命令:{{ alert.results[0].fire_result['kubeobject.operation.podexecoptions.commandstr'] }}
      
      [[詳情](${query_url})]
      [[設置](${alert_url})]

      ack-container-operation-audit-alert-run-danger-cmd

      Kubernetes進入容器后執行風險程序告警

      Kubernetes容器內部操作審計告警

      - 告警規則:${alert_name}
      - 觸發時間:${alert_time}
      - 告警嚴重度:${severity}
      - 集群ID:{{ alert.results[0].fire_result['clusterid'] }}
      
      有賬號通過 kubectl exec或終端功能進入容器后執行了存在風險的程序命令,請檢查是否存在異常。
      操作次數:{{ alert.fire_results_count }} 次,下面是其中一次操作的具體信息:
      
      - 操作時間:{{ alert.results[0].fire_result['time'] }}
      {% if alert.results[0].fire_result['k8s.user.aliuid'] -%}
      - 操作賬號:{{ alert.results[0].fire_result['k8s.user.aliuid'] }}
      {% else -%}
      - 操作賬號:{{ alert.results[0].fire_result['k8s.user.username'] }}
      {% endif -%}
      - 命名空間:{{ alert.results[0].fire_result['k8s.pod.namespace'] }}
      - Pod:{{ alert.results[0].fire_result['k8s.pod.name'] }}
      - 容器:{{ alert.results[0].fire_result['k8s.container.name'] }}
      - 操作目錄:{{ alert.results[0].fire_result['process.cwd'] }}
      - 執行的程序命令:{{ alert.results[0].fire_result['process.cmdline'] }}
      
      [[詳情](${query_url})]
      [[設置](${alert_url})]
  5. 配置告警。

    1. Kubernetes容器內部操作審計報表頁面,單擊告警 > 新建告警

      告警

    2. 告警監控規則頁面,配置Kubernetes進入容器告警Kubernetes進入容器后執行風險程序告警的告警規則。配置完成后,單擊確定

      以下配置項均為示例值,請根據實際需求設置。

      • Kubernetes進入容器告警的告警規則

        配置項

        描述

        規則名稱

        Kubernetes進入容器告警

        檢查頻率

        固定間隔:1分鐘

        查詢統計

        單擊右側添加,然后單擊高級配置頁簽,配置如下信息。配置完成后,單擊確認

        • 日志庫:搜索并選中advaudit-${cluster_id},例如advaudit-c76da730c08ca45adb90fad86fb74****。

        • 查詢區間:本示例選中1分鐘(相對)

        • 查詢:設置日志庫后,會顯示該字段。代碼配置為:

          kind: Kubernetes and kubeObject.operation.kind: PodExec | select "clusterid", "time", "traceId", "eventId", "k8s.user.aliuid", "k8s.user.username", json_extract(k8s, '$.user.groups') as "k8s.user.groups", "host.hostip", "host.nodename", "k8s.pod.namespace", "k8s.pod.name", json_extract(k8s, '$.pod.labels') as "k8s.pod.labels", "kubeobject.operation.podexecoptions.container", json_extract(kubeobject, '$.operation.podExecOptions.command') as "kubeobject.operation.podexecoptions.command", "kubeobject.operation.podexecoptions.commandstr" from log

        觸發條件

        選擇當有數據時,嚴重程度:報告

        告警策略

        極簡模式。需配置如下信息。

        • 渠道:選擇釘釘

        • 選擇Webhook:選擇Kubernetes容器內部操作審計告警

        • 提醒方式:選擇不提醒

        • 內容模板:搜索并選擇Kubernetes進入容器告警

        • 發送時段:選擇任意

        • 自動分派:默認關閉。

      • Kubernetes進入容器后執行風險程序告警的告警規則

        配置項

        描述

        規則名稱

        Kubernetes進入容器后執行風險程序告警

        檢查頻率

        固定間隔:1分鐘

        查詢統計

        單擊右側添加,然后單擊高級配置頁簽,配置如下信息。配置完成后,單擊確認

        • 日志庫:搜索并選中advaudit-${cluster_id},例如advaudit-c76da730c08ca45adb90fad86fb74****。

        • 查詢區間:選中1分鐘(相對)

        • 查詢:設置日志庫后,才會顯示該字段。代碼配置為:

          kind: Command | select "clusterid", "time", "traceId", "eventId", "k8s.user.aliuid", "k8s.user.username", json_extract(k8s, '$.user.groups') as "k8s.user.groups", "host.hostip", "host.nodename", "k8s.pod.namespace", "k8s.pod.name", json_extract(k8s, '$.pod.labels') as "k8s.pod.labels", "k8s.container.name", "k8s.container.image", "process.cwd", "process.name", "process.cmdline", json_extract(process, '$.pid') as "process.pid", "process.user.uid", json_extract(process, '$.parentPid') as "process.parentpid", "process.parentname" from log where "process.name" in ('rm', 'sudo', 'su', 'nsenter', 'curl', 'wget', 'yum', 'apt-get', 'apt', 'apk', 'dpkg', 'nc', 'ncat', 'ssh', 'scp', 'nmap', 'docker', 'crictl', 'nerdctl', 'podman', 'kubectl', 'helm', 'mysql', 'redis', 'psql', 'redis-cli', 'pip', 'npm', 'gem')

        觸發條件

        有數據時,嚴重程度:

        告警策略

        極簡模式。需配置如下信息。

        • 渠道:選擇釘釘

        • 選擇Webhook:選擇Kubernetes容器內部操作審計告警

        • 提醒方式:選擇不提醒

        • 內容模板:選擇Kubernetes進入容器后執行風險程序告警

        • 發送時段:選擇任意

        • 自動分派:默認關閉。

  6. 測試告警規則。

    1. 通過kubectl exec -it <pod_name> bash命令進入容器,觸發Kubernetes進入容器告警的告警規則。告警信息如下圖所示。

      進入容器告警

    2. 進入容器后,通過touch a.txt && rm a.txt命令,觸發Kubernetes進入容器后執行風險程序告警的告警規則。告警信息如下圖所示。

      命令執行告警

關閉容器內部操作審計功能

您可以通過卸載ack-advanced-audit組件關閉容器內部操作審計功能。

重要

關閉容器內部操作審計功能,不會刪除自動創建的advaudit-${cluster_id}日志庫,您需要登錄日志服務控制臺手動刪除該日志庫,請參見刪除Logstore

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  3. 組件管理頁面,單擊日志與監控頁簽,找到ack-advanced-audit組件,單擊組件右下方的卸載,按照頁面提示完成卸載。

相關文檔