audit日志重复保存

一、当前环境

Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-aarch64-Build04/20200711
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-aarch64-Build20/20210518

二、问题描述

Centos: audit 服务启动状态下,只会 /var/log/audit/audit.log 会记录 audit的信息
Kylinos: 在 audit 服务启动状态下,会同时向 /var/log/messages 和 /var/log/audit/audit.log 会记录 audit的信息
openeuler 也存在同样的问题

三、分析

1.经过分析,内核的audit使用netlink与用户空间进行通信。
如下图所示
在这里插入图片描述
2.下载systemd 243的源码,可见对内核的audit的netlink进行了连接
在这里插入图片描述

3.下载对应版本的audit服务的源码,也可见对内核的audit的netlink进行了连接。
在这里插入图片描述

4.如下图所示,左边为Kylin V10 SP1 20200711,左边CentOS8,Kylin-V10(SP1)多了一个systemd-journald-audit.socket。

在这里插入图片描述

5.当删除/usr/lib/systemd/system/systemd-journald-audit.socket文件时,/var/log/message日志中便不再保存audit日志了。

6.经过分析,该问题为systemd的问题,systemd-journald.service会记录audit的日志,开启auditd服务之后,又会去记录audit日志,导致audit日志记录了双份。

7.经资料查找,下面补丁,可以解决这个问题。

From 7a650ee8d3faf79fd5ef866b69741880a3a42b8d Mon Sep 17 00:00:00 2001
From: Jan Synacek <jsynacek@redhat.com>
Date: Thu, 2 May 2019 14:11:54 +0200
Subject: [PATCH] journal: don't enable systemd-journald-audit.socket
 by default

Resolves: #1699287

---
 units/meson.build                 | 3 +--
 units/systemd-journald.service.in | 2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/units/meson.build b/units/meson.build
index 4eb09a3..ccea8a6 100644
--- a/units/meson.build
+++ b/units/meson.build
@@ -110,8 +110,7 @@ units = [
          'sysinit.target.wants/'],
         ['systemd-journal-gatewayd.socket',     'ENABLE_REMOTE HAVE_MICROHTTPD'],
         ['systemd-journal-remote.socket',       'ENABLE_REMOTE HAVE_MICROHTTPD'],
-        ['systemd-journald-audit.socket',       '',
-         'sockets.target.wants/'],
+        ['systemd-journald-audit.socket',       ''],
         ['systemd-journald-dev-log.socket',     '',
          'sockets.target.wants/'],
         ['systemd-journald.socket',             '',
diff --git a/units/systemd-journald.service.in b/units/systemd-journald.service.in
index 0cb1bfa..fa7348a 100644
--- a/units/systemd-journald.service.in
+++ b/units/systemd-journald.service.in
@@ -34,7 +34,7 @@ RestrictRealtime=yes
 RestrictSUIDSGID=yes
 RuntimeDirectory=systemd/journal
 RuntimeDirectoryPreserve=yes
-Sockets=systemd-journald.socket systemd-journald-dev-log.socket systemd-journald-audit.socket
+Sockets=systemd-journald.socket systemd-journald-dev-log.socket
 StandardOutput=null
 SystemCallArchitectures=native
 SystemCallErrorNumber=EPERM
-- 
2.23.0
<think>嗯,用户之前问过如何在华为交换机查看操作日志,我给出了详细的步骤,包括实时日志、历史日志、配置验证和过滤方法。现在用户又提了类似的问题,但这次用的是“调取”这个词,可能他们想要更具体的操作步骤或者不同的方法。 首先,我需要确认用户的需求是否和之前一样,还是有什么不同。之前的回答已经涵盖了基本的方法,但用户可能希望更深入,比如导出日志或者远程备份。也有可能用户在使用过程中遇到了问题,比如找不到日志文件,或者权限不够。 用户这次的查询提到“参考站内引用”,但之前的引用可能不是他们真正需要的,所以需要仔细分析他们实际的需求。可能用户需要的是如何将日志导出到外部服务器,或者如何自动化日志收集。另外,用户可能对权限管理有疑问,比如哪些用户有权访问日志,或者如何设置日志的访问控制。 还需要检查之前的回答是否遗漏了某些命令或者配置步骤。比如,是否提到了日志文件的存储路径,或者如何调整日志级别。此外,用户可能需要知道如何查看不同时间段的日志,或者如何解析日志文件进行分析。 另外,用户可能遇到的具体问题,比如日志文件过大无法打开,或者日志没有记录某些操作,这时候需要检查日志配置是否正确,存储空间是否足够,或者是否有足够的权限。 最后,生成的相关问题需要覆盖用户可能的后续疑问,比如备份日志、管理日志文件大小、故障诊断等。要确保回答不仅重复之前的内容,还要补充可能的进阶操作和故障排除方法。</think>### 华为交换机调取操作日志的详细方法 操作日志的调取需要根据实际需求选择不同方式,以下是**4种核心方法**及其使用场景: --- #### **1. 实时日志抓取(内存缓冲区)** **适用场景**:快速查看最近操作记录(如调试配置、验证命令是否执行成功)。 **命令与解释**: ```bash <HUAWEI> display logbuffer | include "executed|saved|User" # 过滤关键操作 ``` - **核心过滤标签**: - `executed`:用户输入的命令(需开启命令日志记录) - `saved`:配置保存事件 - `User`:用户登录/登出记录 - **配置增强**: ```bash [HUAWEI] info-center source command channel logfile # 强制记录所有CLI命令[^1] [HUAWEI] info-center logbuffer size 512 # 调整缓冲区大小(默认256条) ``` --- #### **2. 日志文件调取(持久化存储)** **适用场景**:审计历史操作(如安全事件溯源、配置变更追踪)。 **操作步骤**: 1. **定位日志文件**: ```bash <HUAWEI> dir flash:/logfile/ # 查看日志存储目录 ``` 2. **查看特定文件**: ```bash <HUAWEI> more flash:/logfile/operation.log # 逐页查看日志内容 ``` 3. **导出日志**(需开启FTP/TFTP): ```bash <HUAWEI> tftp 192.168.1.100 put flash:/logfile/operation.log # 上传到服务器 ``` --- #### **3. 精准时间范围查询** **适用场景**:排查特定时间段的操作异常(如网络中断期间的操作记录)。 **命令示例**: ```bash <HUAWEI> display logbuffer start-time 2023-10-01-10:00 end-time 2023-10-01-11:00 ``` - **时间格式**:`YYYY-MM-DD-HH:MM` - **组合过滤**: ```bash <HUAWEI> display logbuffer | include "GigabitEthernet0/0/1" # 指定端口日志 ``` --- #### **4. 高危操作监控** **配置方法**(通过ACL匹配敏感操作): ```bash [HUAWEI] acl 3000 [HUAWEI-acl-adv-3000] rule 5 permit tcp destination-port eq 23 # 监控Telnet操作 [HUAWEI] info-center filter-id 3000 ``` **监控效果**: ``` 2023-10-01 14:30:25 User:guest attempted Telnet access via 10.1.1.2 (ACL 3000 triggered) ``` --- ### **关键配置验证** 1. **检查日志功能状态**: ```bash <HUAWEI> display info-center # 确认日志通道状态为"Active" ``` 2. **存储路径验证**: ```bash <HUAWEI> display logfile directory # 查看日志文件实际存储位置 ``` 3. **权限管理**: ```bash [HUAWEI] aaa [HUAWEI-aaa] local-user audit01 privilege level 3 service-type terminal # 创建审计专用账户 ``` --- ### **常见问题排查** | 现象 | 解决方法 | |---------------------|--------------------------------------------------------------------------| | 日志文件无法导出 | 检查网络连通性,确认`tftp-server`或`ftp-server`已启用 | | 日志记录时间不准确 | 配置NTP同步:`[HUAWEI] ntp-service unicast-server 192.168.1.200` | | 部分操作未记录 | 检查用户权限等级,`level 3`以下用户操作可能被过滤[^2] | --- ### 相关问题 1. **如何设置华为交换机自动删除30天前的历史日志?** 2. **如何通过SNMP协议远程获取交换机的操作日志?** 3. **操作日志中出现大量`%SECURITY/ATTACK`告警应如何分析?** 建议参考华为《日志管理最佳实践》文档[^3]获取深度配置案例。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值