CentOS系统安全审计:系统日志监控与异常检测技术

时光静好 +0/-0 0 0 正常 2025-12-24T07:01:19 CentOS · 安全审计 · 日志监控

CentOS系统安全审计:系统日志监控与异常检测技术

在Linux系统安全防护中,系统日志监控是至关重要的安全措施。本文将通过实际案例演示如何在CentOS系统中配置有效的日志监控机制。

1. 系统日志基础配置

首先确保系统已安装rsyslog服务并启动:

# 检查rsyslog状态
systemctl status rsyslog

# 启动rsyslog服务
systemctl start rsyslog
systemctl enable rsyslog

2. 日志轮转配置

编辑/etc/logrotate.conf文件,添加安全相关的日志轮转规则:

/var/log/auth.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 root adm
}

3. 异常登录检测脚本

创建一个简单的登录异常检测脚本:

#!/bin/bash
# /usr/local/bin/monitor_login.sh

current_time=$(date '+%Y-%m-%d %H:%M')
login_attempts=$(grep "Failed password" /var/log/auth.log | grep "$current_time" | wc -l)

if [ $login_attempts -gt 5 ]; then
    echo "[ALERT] $login_attempts failed login attempts detected at $current_time" >> /var/log/security_alerts.log
fi

4. 实时监控配置

使用auditd进行系统调用审计:

# 安装auditd
yum install audit -y

# 启动auditd服务
systemctl start auditd
systemctl enable auditd

# 添加审计规则
auditctl -w /etc/passwd -p wa -k passwd_change

5. 日志分析与告警

配置日志分析脚本,每小时检查一次异常登录记录:

# /etc/cron.hourly/login_monitor
#!/bin/bash
awk '/Failed password/ {print $NF}' /var/log/auth.log | sort | uniq -c | awk '$1 > 3 {print "[SECURITY ALERT] IP " $2 " has " $1 " failed attempts"}' >> /var/log/security_alerts.log

通过以上配置,可以有效监控系统登录异常,及时发现潜在的安全威胁。

推广
广告位招租

讨论

0/2000
落花无声
落花无声 · 2026-01-08T10:24:58
日志轮转配置要结合实际业务量调整rotate次数,避免频繁轮转影响性能;建议加入logrotate的postrotate脚本执行rsyslog重启,确保日志写入一致性。
AliveWarrior
AliveWarrior · 2026-01-08T10:24:58
监控脚本应避免硬编码时间戳,可使用grep -E '^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}'提取当日记录,提升兼容性与准确性。