第 5 章 检查审计日志


您可以使用审计日志来识别 pod 安全违反情况。

5.1. 通过审计日志识别 pod 安全违反情况

您可以通过查看服务器审计日志来识别工作负载中的 pod 安全准入违反情况。以下流程演示了如何访问审计日志,并解析它们以在工作负载中查找 pod 安全准入违反情况。

先决条件

  • 您已安装了 jq
  • 您可以使用具有 cluster-admin 角色的用户访问集群。

流程

  1. 要检索节点名称,请运行以下命令:

    $ <node_name>=$(oc get node -ojsonpath='{.items[0].metadata.name}')
  2. 要查看审计日志,请运行以下命令:

    $ oc adm node-logs <node_name> --path=kube-apiserver/ 1
    1
    <node_name > 替换为从上一步中检索的节点的名称。

    输出示例

    rhel-94.lab.local audit-2024-10-18T18-25-41.663.log
    rhel-94.lab.local audit-2024-10-19T11-21-29.225.log
    rhel-94.lab.local audit-2024-10-20T04-16-09.622.log
    rhel-94.lab.local audit-2024-10-20T21-11-41.163.log
    rhel-94.lab.local audit-2024-10-21T14-06-10.402.log
    rhel-94.lab.local audit-2024-10-22T06-35-10.392.log
    rhel-94.lab.local audit-2024-10-22T23-26-27.667.log
    rhel-94.lab.local audit-2024-10-23T16-52-15.456.log
    rhel-94.lab.local audit-2024-10-24T07-31-55.238.log

  3. 要解析受影响的审计日志,请输入以下命令:

    $ oc adm node-logs <node_name> --path=kube-apiserver/audit.log \
      | jq -r 'select((.annotations["pod-security.kubernetes.io/audit-violations"] != null) and (.objectRef.resource=="pods")) | .objectRef.namespace + " " + .objectRef.name + " " + .objectRef.resource' \
      | sort | uniq -c 1
    1
    <node_name > 替换为从上一步中检索的节点的名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.