7.15. 收集 OVN 网络策略审计日志
您可以从 OVN-Kubernetes pod 上的 /var/log/ovn/acl-audit-log.log
文件中收集 OVN 网络策略审计日志,并将它们转发到日志记录服务器。
先决条件
- 您使用 OpenShift Container Platform 版本 4.8 或更高版本。
- 您使用集群日志记录 5.2 或更高版本。
-
您已设置了一个
ClusterLogForwarder
自定义资源 (CR) 对象。 - OpenShift Container Platform 集群是为 OVN-Kubernetes 网络策略审计日志配置的。请参阅以下"附加资源"部分。
注意
通常,存储审计数据的服务器必须符合企业及政府对合规性和安全性的要求。
流程
-
创建或编辑定义
ClusterLogForwarder
CR 对象的 YAML 文件,如将日志转发到第三方系统的其他主题中所述。 在 YAML 文件中,将
audit
日志类型添加到管道中的inputRefs
元素中。例如:pipelines: - name: audit-logs inputRefs: - audit 1 outputRefs: - secure-logging-server 2
重新创建更新的 CR 对象:
$ oc create -f <file-name>.yaml
验证
验证日志记录服务器收集的日志数据中是否存在来自节点的审计日志条目。
在 /var/log/ovn/acl-audit-log.log
中查找原始审计日志条目,并将它与日志记录服务器上的对应日志条目进行比较。
例如,/var/log/ovn/acl-audit-log.log
中的原始日志条目可能类似如下:
2021-07-06T08:26:58.687Z|00004|acl_log(ovn_pinctrl0)|INFO|name="verify-audit- logging_deny-all", verdict=drop, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:12,dl_dst=0a:58:0a:81:02:14,nw_src=10 .129.2.18,nw_dst=10.129.2.20,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0
您在日志记录服务器上找到的对应 OVN 审计日志条目可能如下所示:
{ "@timestamp" : "2021-07-06T08:26:58..687000+00:00", "hostname":"ip.abc.iternal", "level":"info", "message" : "2021-07-06T08:26:58.687Z|00004|acl_log(ovn_pinctrl0)|INFO|name=\"verify-audit-logging_deny-all\", verdict=drop, severity=alert: icmp,vlan_tci=0x0000,dl_src=0a:58:0a:81:02:12,dl_dst=0a:58:0a:81:02:14,nw_src=10.129.2.18,nw_dst=10.129.2.20,nw_tos=0,nw_ecn=0,nw_ttl=64,icmp_type=8,icmp_code=0" }
其中:
-
@timestamp
是日志条目的时间戳。 -
hostname
是日志源自的节点。 -
level
是日志条目。 -
Message
是原始审计日志消息。
注意
在 Elasticsearch 服务器上,查找索引以 audit-00000
开头的日志条目。
故障排除
- 验证 OpenShift Container Platform 集群是否满足所有先决条件。
- 验证您已完成此步骤。
-
验证生成 OVN 日志的节点是否已启用,并且具有
/var/log/ovn/acl-audit-log.log
文件。 - 检查 Fluentd pod 日志是否有问题。
其他资源