作为IT工程师,保障Linux系统日志安全是系统安全的重要组成部分。以下是全面的Linux日志安全保障方案:
syslog服务配置
/etc/rsyslog.conf
auth,authpriv.* /var/log/auth.log
kern.* /var/log/kern.log
*.emerg :omusrmsg:*
journald配置 (systemd系统)
/etc/systemd/journald.conf
Storage=persistent
Compress=yes
ForwardToSyslog=yes
日志文件权限设置
chmod 640 /var/log/auth.log
chown root:adm /var/log/*
日志轮转配置
/etc/logrotate.conf
/var/log/syslog {
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
远程日志服务器
*.* @192.168.1.100:514
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca-cert.pem
$DefaultNetstreamDriverCertFile /etc/ssl/certs/client-cert.pem
$DefaultNetstreamDriverKeyFile /etc/ssl/private/client-key.pem
*.* @@(o)logs.example.com:6514
使用auditd进行细粒度审计
apt install auditd
/etc/audit/auditd.conf
):
log_file = /var/log/audit/audit.log
max_log_file = 50
num_logs = 5
flush = incremental_async
bash
auditctl -a always,exit -F arch=b64 -S execve
auditctl -w /etc/passwd -p wa -k identity
实时日志监控
bash
apt install fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
SIEM集成
日志签名
# 使用gpg签名日志
gpg --clearsign /var/log/syslog
使用AIDE进行文件完整性检查
apt install aide
aideinit
aide --check
区块链日志验证 (高级方案)
日志备份策略
# 每日备份日志
tar -czf /backup/logs-$(date +%Y%m%d).tar.gz /var/log
日志分析工具
bash
grep "Failed password" /var/log/auth.log
journalctl --since "1 hour ago" -p err
ausearch -k identity -i
入侵检测
xml
<rule id="1001" level="10">
<match>sshd.*Failed password</match>
<description>SSHD brute force trying</description>
</rule>
满足GDPR/PCI-DSS等标准
定期审计
# 检查日志配置合规性
auditctl -l
ausearch --start today --raw | aureport --summary
通过以上措施,可以全面保障Linux系统的日志安全,实现有效的安全监控和事后审计能力。