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
通过以上配置,可以有效监控系统登录异常,及时发现潜在的安全威胁。

讨论