必须配置系统日志自动备份机制以确保麒麟v10审计日志长期可用:一、启用auditd内置压缩轮转;二、用logrotate定时归档;三、通过rsync远程异步备份;四、基于augenrules触发关键事件快照。

如果您在麒麟V10系统中需要确保审计日志长期可用且不因轮转或磁盘满而丢失,则必须配置系统日志的自动备份机制。以下是实现审计日志自动备份的多种可行方法:
一、配置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
3、保存退出后重启服务:sudo systemctl restart auditd
4、验证轮转行为:手动触发日志轮转测试:sudo auditctl -s | grep "logs",确认num_logs与log_file路径生效
二、使用logrotate实现审计日志定时压缩归档
logrotate是Linux标准日志管理工具,可对/var/log/audit/audit.log进行按日/按周切割、压缩、保留周期控制,并支持执行自定义脚本完成归档动作。
1、创建专用logrotate配置文件:sudo nano /etc/logrotate.d/auditd
2、写入以下内容:
/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
}
3、立即测试配置语法是否正确:sudo logrotate -d /etc/logrotate.d/auditd
4、强制执行一次轮转验证:sudo logrotate -f /etc/logrotate.d/auditd
5、检查归档文件是否生成:ls -l /var/log/audit/audit.log.*.gz
三、基于rsync的远程异步备份方案
将审计日志定期同步至远程安全存储节点,避免本地磁盘故障导致日志丢失,适用于等保三级环境要求的日志异地保存场景。
一款AI视频创作工具,主要用于蛙蛙写作辅助AI写文,帮助获取创意灵感,提供拆书、小说转剧本、视频生成等功能,是一款功能全面的AI智能写作工具,适合需要提升相关任务效率的用户。
1、在目标服务器上创建专用接收目录并设置权限:sudo mkdir -p /backup/audit/kylin-$(hostname)/ && sudo chown -R root:root /backup/audit/
2、在麒麟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@backup-server
3、编写备份脚本:sudo nano /usr/local/bin/audit-remote-backup.sh
4、脚本内容如下:
#!/bin/bash
DATE=$(date +\%Y\%m\%d_\%H\%M)
LOG_DIR="/var/log/audit"
BACKUP_USER="user"
BACKUP_HOST="backup-server"
BACKUP_PATH="/backup/audit/kylin-$(hostname)/"
rsync -avz --delete --exclude='*.gz' -e "ssh -i /root/.ssh/audit_backup_id_rsa" $LOG_DIR/ $BACKUP_USER@$BACKUP_HOST:$BACKUP_PATH$DATE/ 2>>/var/log/audit_backup.log
5、赋予执行权限并添加到crontab:sudo chmod +x /usr/local/bin/audit-remote-backup.sh && echo "0 1 * * * /usr/local/bin/audit-remote-backup.sh" | sudo crontab -
四、利用augenrules与自定义规则触发日志快照
当特定高风险操作(如/etc/passwd修改、sudoers变更)发生时,通过审计规则联动shell脚本,自动触发当前audit.log的即时压缩快照并打上事件标签,形成可追溯的“关键事件锚点”。
1、在规则文件中添加事件响应规则:echo '-a always,exit -F arch=b64 -S execve -F exe=/usr/bin/vi -F auid!=4294967295 -k critical_edit' | sudo tee -a /etc/audit/rules.d/critical.rules
2、创建事件处理脚本:sudo nano /usr/local/bin/audit-snapshot.sh
3、脚本内容为:
#!/bin/bash
TAG=$1
TS=$(date +\%Y\%m\%d_\%H\%M\%S)
cp /var/log/audit/audit.log /var/log/audit/audit_snapshot_${TAG}_${TS}.log
gzip /var/log/audit/audit_snapshot_${TAG}_${TS}.log
4、赋予执行权限:sudo chmod +x /usr/local/bin/audit-snapshot.sh
5、配置ausearch+systemd-run联动(需配合systemd服务模板):sudo ausearch -k critical_edit --start recent --raw | auditreduce -i | aureport -f -i >> /dev/null 2>&1 && /usr/local/bin/audit-snapshot.sh critical_edit










