centos

CentOS Syslog日志审计功能详解

小樊
38
2025-10-30 06:18:24
栏目: 智能运维

CentOS Syslog日志审计功能详解

日志审计是系统安全管理的关键环节,通过记录、分析用户及系统行为,帮助管理员检测异常、满足合规要求(如等保)。在CentOS系统中,rsyslog(Syslog实现)与auditd(Linux审计框架)是实现日志审计的核心工具,二者协同工作可覆盖从系统日志到细粒度操作审计的全场景需求。

一、日志审计的核心组件

1. rsyslog:系统日志收集与转发

rsyslog是CentOS默认的Syslog服务,负责收集系统各组件的日志(如内核、认证、服务日志),并将其存储到本地或转发至远程服务器。其核心功能包括日志分级(如infoerr)、分类(如authpriv用于认证日志)及远程传输(通过UDP/TCP)。

2. auditd:细粒度审计框架

auditd是Linux内核级审计系统,可监控文件访问、命令执行、用户登录等细粒度操作,生成结构化日志(存储于/var/log/audit/audit.log)。相比rsyslog,auditd能记录操作结果、进程ID、用户ID等深度信息,更适合安全审计。

二、rsyslog日志审计配置

rsyslog主要收集系统常规日志(如认证、服务),配置重点在于分类存储远程转发,以满足审计溯源需求。

1. 基础配置步骤

2. 日志轮转设置(避免日志过大)

通过logrotate工具自动切割、压缩旧日志,配置文件为/etc/logrotate.d/rsyslog(默认存在),内容示例如下:

/var/log/auth.log
/var/log/cron.log
/var/log/kern.log {
    daily          # 每日切割
    missingok      # 文件缺失不报错
    rotate 7       # 保留7天日志
    compress       # 压缩旧日志(如.gz格式)
    notifempty     # 日志为空不切割
    create 640 root adm  # 新日志权限(root用户,adm组)
}

修改后无需重启,logrotate会每日自动执行。

三、auditd细粒度审计配置

auditd用于监控关键系统操作(如文件修改、命令执行),生成可追溯的审计日志,是日志审计的核心。

1. 安装与启动

2. 添加审计规则

审计规则定义了需要监控的对象(文件、目录、命令),常用命令如下:

3. 日志查看与分析

四、日志审计的最佳实践

1. 关键文件监控

必监控文件包括:/etc/passwd(用户信息)、/etc/shadow(密码哈希)、/etc/sudoers(sudo权限)、/etc/ssh/sshd_config(SSH配置)、/root/.bash_history(root用户命令历史)。

2. 关键目录监控

/etc/(系统配置目录)、/bin//sbin/(系统命令目录)、/home/(用户家目录)。

3. 日志权限管理

确保审计日志仅管理员可访问:

chmod 640 /var/log/audit/audit.log
chown root:adm /var/log/audit/audit.log
chmod 640 /var/log/auth.log
chown root:adm /var/log/auth.log

4. 远程日志转发

将日志发送至远程日志服务器(如专用的ELK或Splunk服务器),避免本地日志被篡改,提高安全性。

通过以上配置,CentOS系统可实现从系统日志到细粒度操作的全面审计,满足安全合规需求。需注意的是,日志审计仅为安全体系的一部分,还需结合防火墙、入侵检测等工具,形成多层防御。

0
看了该问题的人还看了