数字档案馆系统审计追踪不及时的落地修复实操方法

一、前置准备

仅需部署在CentOS 7/8操作系统的数字档案馆环境,系统默认集成rsyslog、logrotate、journalctl工具,确认archive-system服务正常运行(执行`sudo systemctl status archive-system`查看状态,显示active(running)即可)。

二、核心修复步骤

1. 审计追踪模块配置核查与修正

找到archive-system核心配置文件,路径为/opt/archive-system/config/audit.yaml,直接替换为以下完整内容:

```yaml audit: enable: true track_events: - user_login - document_upload - document_download - permission_grant - permission_revoke - system_config_change log_path: /var/log/archive/audit.log flush_interval: 5s buffer_size: 1000 ```

务必确认audit字段下enable设为true,track_events需包含所有业务关键操作类型,避免遗漏核心追踪项。配置修改完成后,执行命令重启服务:

```bash sudo systemctl daemon-reload sudo systemctl restart archive-system ```

验证配置生效:执行`sudo tail -f /var/log/archive/audit.log`,触发登录操作(使用合法账号),若出现对应日志记录则配置成功。

2. 日志采集规则补全

编辑rsyslog全局配置文件/etc/rsyslog.conf,在文件末尾添加以下规则:

``` 数字档案馆审计日志专属采集规则 if $programname == 'archive-system' then { /var/log/archive/audit.log & stop } ```

保存后执行命令重启rsyslog服务:

```bash sudo systemctl restart rsyslog ```

验证采集生效:执行`sudo journalctl -u rsyslog | grep "archive"`,若输出包含config规则则说明采集已激活。

3. 实时异常告警机制搭建

CentOS 8执行命令安装sendemail工具:

```bash sudo dnf install sendemail -y ```

创建告警脚本/usr/local/bin/alert_audit.sh,内容完整如下:

```bash !/bin/bash 告警配置参数(需替换为实际信息) MAIL_USER="alert@your-domain.com" MAIL_PASS="your-email-app-password" MAIL_TO="admin@your-domain.com" SMTP_SERVER="smtp.your-domain.com" SMTP_PORT="587" 日志数量阈值(按业务调整,建议设为单分钟最大操作数的2倍) THRESHOLD=200 统计最近1分钟审计日志量 LOG_COUNT=$(sudo wc -l /var/log/archive/audit.log | awk '{print $1}') 超过阈值触发告警 if [ $LOG_COUNT -gt $THRESHOLD ]; then sendemail -f $MAIL_USER -t $MAIL_TO -u "【异常告警】数字档案馆审计日志突增" -m "最近1分钟审计日志数:${LOG_COUNT},超过阈值${THRESHOLD},请排查异常操作" -s $SMTP_SERVER:$SMTP_PORT -xu $MAIL_USER -xp $MAIL_PASS -o tls=yes fi ```

数字档案馆系统审计追踪不及时的落地修复实操方法

给脚本添加执行权限:

```bash sudo chmod +x /usr/local/bin/alert_audit.sh ```

添加定时任务,每1分钟执行一次告警检查,执行`sudo crontab -e`,在文件末尾添加:

```bash /usr/local/bin/alert_audit.sh >> /var/log/alert_audit.log 2>&1 ```

务必替换脚本中的邮箱、SMTP参数为实际业务信息,避免告警无法发送;THRESHOLD需根据实际操作频率调整,确保告警精准

4. 日志自动切割与权限加固

创建logrotate配置文件,路径/etc/logrotate.d/archive-audit,内容完整如下:

``` /var/log/archive/audit.log { daily missingok rotate 7 compress notifempty create 600 archive archive sharedscripts postrotate sudo systemctl restart rsyslog endscript } ```

创建巡检脚本/usr/local/bin/check_audit.sh,内容完整如下:

```bash !/bin/bash AUDIT_LOG="/var/log/archive/audit.log" 检查日志文件存在性 if [ ! -f $AUDIT_LOG ]; then sudo touch $AUDIT_LOG sudo chown archive:archive $AUDIT_LOG fi 检查日志权限是否为600(防篡改) LOG_PERM=$(stat -c "%a" $AUDIT_LOG) if [ $LOG_PERM -ne 600 ]; then sudo chmod 600 $AUDIT_LOG fi 每天凌晨1点执行巡检 if [ $(date +%H) -eq 1 ]; then /usr/local/bin/check_audit.sh >> /var/log/audit_daily_check.log 2>&1 fi ```

给巡检脚本添加执行权限:

```bash sudo chmod +x /usr/local/bin/check_audit.sh ```

create字段的archive:archive需替换为archive-system服务运行的用户和组,避免日志生成失败;日志权限设置为600确保仅服务可读写,防止篡改

三、验证与验收

按以下步骤100%验证功能是否生效:

  • 登录数字档案馆后台,执行「上传文件」「修改用户权限」两个关键操作;
  • 执行`sudo tail -n 10 /var/log/archive/audit.log`,确认两条操作对应日志已生成;
  • 等待1分钟,查看/var/log/alert_audit.log,确认无异常告警(若手动输入1000行日志,需确认告警触发);
  • 手动填充1GB测试日志,执行`sudo logrotate -f /etc/logrotate.d/archive-audit`,确认生成压缩的归档日志(路径/var/log/archive/audit.log.1.gz)。

四、后续运维要点

每月执行一次审计服务重启:`sudo systemctl restart archive-system`;每季度更新一次audit.yaml中的track_events,补充新增的业务操作类型;每半年更新一次告警邮箱的应用密码,避免过期失效;日志保留周期调整为至少6个月,符合档案管理要求。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统