必须配置三层防护确保审计日志长期可用:1. auditd内置轮转与压缩(num_logs=10);2. logrotate按日切割归档并重载服务;3. rsync远程异步备份至异地存储,满足等保三级要求。

您需要在麒麟V10系统中确保审计日志长期可用且不因轮转或磁盘满而丢失,必须配置系统日志的自动备份机制。直接依赖默认auditd轮转不足以满足等保三级异地保存要求,需叠加压缩归档、远程同步与事件快照三层防护。
配置auditd内置日志轮转与压缩归档
auditd服务自身支持日志大小控制与自动压缩轮转,这是最轻量级的基础防护层,但仅限本地保留,无法防止单点故障。
1、编辑审计守护进程主配置文件:sudo nano /etc/audit/auditd.conf
2、定位并修改以下参数(若被注释则取消注释):log_file = /var/log/audit/audit.log → max_log_file = 50 → num_logs = 10 → compress = yes → flush = data → freq = 10。其中【num_logs = 10表示最多保留10个轮转文件,超出后自动删除最旧的一个】。
3、保存退出后重启服务:sudo systemctl restart auditd
4、手动触发一次轮转测试验证配置生效:sudo auditctl -s | grep "logs",确认输出中显示“num_logs=10”且log_file路径正确。
使用logrotate实现审计日志定时切割与归档
logrotate是Linux标准日志管理工具,可对audit.log进行按日切割、压缩、保留周期控制,并支持执行自定义脚本完成归档动作,弥补auditd轮转缺乏时间维度控制的短板。
方法一:创建专用logrotate配置文件
执行命令:sudo nano /etc/logrotate.d/auditd
方法二:写入以下内容(注意缩进与空格必须严格匹配):
/var/log/audit/audit.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
create 600 root root
sharedscripts
postrotate
/bin/systemctl kill --signal=SIGHUP auditd.service > /dev/null 2>&1 || true
endscript
}
【重要前提:每行开头不能有Tab,必须用空格缩进;postrotate脚本中的SIGHUP信号用于通知auditd重载日志文件,否则新日志可能写入旧文件】
本文档主要讲述的是Android 操作系统的介绍;Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
方法三:立即测试配置语法是否正确:sudo logrotate -d /etc/logrotate.d/auditd,观察输出中是否有error或warning。
方法四:强制执行一次轮转验证:sudo logrotate -f /etc/logrotate.d/auditd
方法五:检查归档文件是否生成:ls -l /var/log/audit/audit.log.*.gz,应看到带日期后缀的压缩包,例如audit.log.20260625.gz。
基于rsync的远程异步备份方案
将审计日志定期同步至远程安全存储节点,避免本地磁盘故障导致日志丢失,适用于等保三级环境要求的日志异地保存场景。该步骤不可省略,是合规性硬性要求。
第一步:在目标服务器上创建专用接收目录并设置权限
sudo mkdir -p /backup/audit/kylin-$(hostname)/ && sudo chown -R root:root /backup/audit/
第二步:在麒麟V10主机上生成免密SSH密钥并分发至远端
ssh-keygen -t rsa -b 4096 -f /root/.ssh/audit_backup_id_rsa -N "" && ssh-copy-id -i /root/.ssh/audit_backup_id_rsa.pub user@192.168.10.151
这一步操作起来很简单,直接把文件拖进去就行。但要注意:【必须使用绝对路径指定私钥文件,否则rsync无法读取密钥】。
第三步:编写远程同步脚本
sudo nano /usr/local/bin/audit_rsync.sh,写入:
#!/bin/bash
SRC="/var/log/audit/"
DEST="user@192.168.10.151:/backup/audit/kylin-$(hostname)/"
rsync -avz --delete --log-file=/var/log/audit_rsync.log $SRC $DEST
第四步:赋予脚本执行权限并测试运行
sudo chmod +x /usr/local/bin/audit_rsync.sh && sudo /usr/local/bin/audit_rsync.sh
检查日志:sudo tail -n 10 /var/log/audit_rsync.log,确认出现“sent … bytes received … bytes”字样即表示成功。
第五步:设置每日凌晨1点执行同步任务
sudo crontab -e,新增一行:
0 1 * * * /usr/local/bin/audit_rsync.sh










