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

使用容器內(nèi)部操作審計(jì)功能

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

計(jì)費(fèi)說明

容器內(nèi)部操作審計(jì)功能當(dāng)前處于公測中,可以免費(fèi)使用。開通容器內(nèi)部操作審計(jì)功能后,使用日志服務(wù)SLS的相關(guān)功能,會(huì)產(chǎn)生相關(guān)費(fèi)用。日志服務(wù)相關(guān)計(jì)費(fèi)信息,請參見計(jì)費(fèi)概述

使用限制

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

  • 集群版本及操作系統(tǒng)限制:僅支持內(nèi)核版本大于4.19的Alibaba Cloud Linux、Ubuntu操作系統(tǒng)。

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

    • Ubuntu:

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

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

步驟一:啟用容器內(nèi)部操作審計(jì)功能

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

  • logtail-ds組件:將審計(jì)日志收集到日志服務(wù)并創(chuàng)建默認(rèn)的審計(jì)報(bào)表。

  • ack-advanced-audit組件:實(shí)現(xiàn)容器內(nèi)操作審計(jì)。

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

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理 > 組件管理

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

步驟二:查看審計(jì)報(bào)表

容器內(nèi)部操作審計(jì)功能啟用后,默認(rèn)將在日志Project下創(chuàng)建一個(gè)名為Kubernetes容器內(nèi)部操作審計(jì)的報(bào)表。

  1. 登錄日志服務(wù)控制臺

  2. 在Project列表區(qū)域,選擇集群使用的日志Project,單擊名稱進(jìn)入日志Project頁面。

  3. 在頁面左側(cè)的圖標(biāo)欄單擊儀表盤儀表盤圖標(biāo),然后單擊Kubernetes容器內(nèi)部操作審計(jì)查看審計(jì)報(bào)表內(nèi)容。

    • 查看進(jìn)入Pod容器的次數(shù)以及相關(guān)Pod信息。報(bào)表1

    • 執(zhí)行操作的Kubernetes操作賬號信息、進(jìn)入容器后執(zhí)行的命令列表以及常見的高危列表。報(bào)表2風(fēng)險(xiǎn)列表報(bào)表

步驟三:查看詳細(xì)日志記錄

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

  • 在審計(jì)報(bào)表頁面查看:適用于查看最近的單個(gè)事件的日志記錄。

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

在審計(jì)報(bào)表頁面查看

Kubernetes容器內(nèi)部操作審計(jì)報(bào)表頁面,通過單擊風(fēng)險(xiǎn)程序操作列表區(qū)域的traceIdeventId表格列的鏈接,查看對應(yīng)審計(jì)日志的詳細(xì)信息。

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

  • 單擊eventId表格列的鏈接,可以查看執(zhí)行的單個(gè)命令的詳細(xì)信息。

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

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

  1. 登錄日志服務(wù)控制臺

  2. 在Project列表區(qū)域,選擇集群使用的日志Project,單擊名稱進(jìn)入日志Project頁面。

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

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

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

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

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

      更多查詢統(tǒng)計(jì)方式,請參見日志服務(wù)查詢分析方法

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

  6. 單擊查詢/分析,查看查詢分析結(jié)果。

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

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

  1. 登錄日志服務(wù)控制臺

  2. 進(jìn)入Webhook集成頁面。

    1. 在Project列表區(qū)域,單擊目標(biāo)Project。

    2. 在左側(cè)導(dǎo)航欄中,單擊告警

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

  3. 創(chuàng)建Webhook。

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

    2. 新建Webhook對話框中,配置如下配置項(xiàng),然后單擊確認(rèn)

      配置項(xiàng)

      描述

      標(biāo)識符

      Webhook的唯一標(biāo)識,不可重復(fù)。本示例配置為ack-container-operation-audit-alert

      名稱

      Webhook名稱。本示例配置為Kubernetes容器內(nèi)部操作審計(jì)告警

      類型

      Webhook類型。本示例選擇釘釘

      請求地址

      Webhook URL地址。

      在釘釘側(cè)創(chuàng)建自定義機(jī)器人,并獲取Webhook URL地址。更多信息,請參見自定義機(jī)器人接入

  4. 新建內(nèi)容模板。

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

    2. 內(nèi)容模板頁面,單擊創(chuàng)建

    3. 配置內(nèi)容模板的ID和名稱,然后配置釘釘告警通知的標(biāo)題和發(fā)送內(nèi)容。

      關(guān)于添加內(nèi)容模板的更多信息,請參見創(chuàng)建內(nèi)容模板。本文需配置兩個(gè)內(nèi)容模板,具體配置內(nèi)容如下。

      ID

      名稱

      標(biāo)題

      發(fā)送內(nèi)容

      ack-container-operation-audit-alert-enter

      Kubernetes進(jìn)入容器告警

      KubernetesKubernetes容器內(nèi)部操作審計(jì)告警

      - 告警規(guī)則:${alert_name}
      - 觸發(fā)時(shí)間:${alert_time}
      - 告警嚴(yán)重度:${severity}
      - 集群ID:{{ alert.results[0].fire_result['clusterid'] }}
      
      有賬號通過 kubectl exec或終端功能進(jìn)入了容器,請檢查是否存在異常。
      操作次數(shù):{{ alert.fire_results_count }} 次,下面是其中一次操作的具體信息:
      
      - 操作時(shí)間:{{ 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})]
      [[設(shè)置](${alert_url})]

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

      Kubernetes進(jìn)入容器后執(zhí)行風(fēng)險(xiǎn)程序告警

      Kubernetes容器內(nèi)部操作審計(jì)告警

      - 告警規(guī)則:${alert_name}
      - 觸發(fā)時(shí)間:${alert_time}
      - 告警嚴(yán)重度:${severity}
      - 集群ID:{{ alert.results[0].fire_result['clusterid'] }}
      
      有賬號通過 kubectl exec或終端功能進(jìn)入容器后執(zhí)行了存在風(fēng)險(xiǎn)的程序命令,請檢查是否存在異常。
      操作次數(shù):{{ alert.fire_results_count }} 次,下面是其中一次操作的具體信息:
      
      - 操作時(shí)間:{{ 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'] }}
      - 執(zhí)行的程序命令:{{ alert.results[0].fire_result['process.cmdline'] }}
      
      [[詳情](${query_url})]
      [[設(shè)置](${alert_url})]
  5. 配置告警。

    1. Kubernetes容器內(nèi)部操作審計(jì)報(bào)表頁面,單擊告警 > 新建告警

      告警

    2. 告警監(jiān)控規(guī)則頁面,配置Kubernetes進(jìn)入容器告警Kubernetes進(jìn)入容器后執(zhí)行風(fēng)險(xiǎn)程序告警的告警規(guī)則。配置完成后,單擊確定

      以下配置項(xiàng)均為示例值,請根據(jù)實(shí)際需求設(shè)置。

      • Kubernetes進(jìn)入容器告警的告警規(guī)則

        配置項(xiàng)

        描述

        規(guī)則名稱

        Kubernetes進(jìn)入容器告警

        檢查頻率

        固定間隔:1分鐘

        查詢統(tǒng)計(jì)

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

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

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

        • 查詢:設(shè)置日志庫后,會(huì)顯示該字段。代碼配置為:

          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

        觸發(fā)條件

        選擇當(dāng)有數(shù)據(jù)時(shí),嚴(yán)重程度:報(bào)告

        告警策略

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

        • 渠道:選擇釘釘

        • 選擇Webhook:選擇Kubernetes容器內(nèi)部操作審計(jì)告警

        • 提醒方式:選擇不提醒

        • 內(nèi)容模板:搜索并選擇Kubernetes進(jìn)入容器告警

        • 發(fā)送時(shí)段:選擇任意

        • 自動(dòng)分派:默認(rèn)關(guān)閉。

      • Kubernetes進(jìn)入容器后執(zhí)行風(fēng)險(xiǎn)程序告警的告警規(guī)則

        配置項(xiàng)

        描述

        規(guī)則名稱

        Kubernetes進(jìn)入容器后執(zhí)行風(fēng)險(xiǎn)程序告警

        檢查頻率

        固定間隔:1分鐘

        查詢統(tǒng)計(jì)

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

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

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

        • 查詢:設(shè)置日志庫后,才會(huì)顯示該字段。代碼配置為:

          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')

        觸發(fā)條件

        當(dāng)有數(shù)據(jù)時(shí),嚴(yán)重程度:

        告警策略

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

        • 渠道:選擇釘釘

        • 選擇Webhook:選擇Kubernetes容器內(nèi)部操作審計(jì)告警

        • 提醒方式:選擇不提醒

        • 內(nèi)容模板:選擇Kubernetes進(jìn)入容器后執(zhí)行風(fēng)險(xiǎn)程序告警

        • 發(fā)送時(shí)段:選擇任意

        • 自動(dòng)分派:默認(rèn)關(guān)閉。

  6. 測試告警規(guī)則。

    1. 通過kubectl exec -it <pod_name> bash命令進(jìn)入容器,觸發(fā)Kubernetes進(jìn)入容器告警的告警規(guī)則。告警信息如下圖所示。

      進(jìn)入容器告警

    2. 進(jìn)入容器后,通過touch a.txt && rm a.txt命令,觸發(fā)Kubernetes進(jìn)入容器后執(zhí)行風(fēng)險(xiǎn)程序告警的告警規(guī)則。告警信息如下圖所示。

      命令執(zhí)行告警

關(guān)閉容器內(nèi)部操作審計(jì)功能

您可以通過卸載ack-advanced-audit組件關(guān)閉容器內(nèi)部操作審計(jì)功能。

重要

關(guān)閉容器內(nèi)部操作審計(jì)功能,不會(huì)刪除自動(dòng)創(chuàng)建的advaudit-${cluster_id}日志庫,您需要登錄日志服務(wù)控制臺手動(dòng)刪除該日志庫,請參見刪除Logstore

  1. 登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群

  2. 集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇運(yùn)維管理 > 組件管理

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

相關(guān)文檔