Linux日志是系统安全审计和故障排查的核心,合理配置日志安全策略对系统安全至关重要。以下是全面的Linux日志安全策略方案:
syslog服务强化
# 安装rsyslog
yum install rsyslog # RHEL/CentOS
apt install rsyslog # Debian/Ubuntu
conf
$FileCreateMode 0640 # 日志文件权限
$DirCreateMode 0755 # 日志目录权限
$EscapeControlCharacters on # 防止日志注入
日志文件权限控制
chmod 640 /var/log/secure
chown root:adm /var/log/auth.log
集中式日志管理
conf
*.* @192.168.1.100:514 # UDP传输
*.* @@192.168.1.100:514 # TCP传输
journald配置(Systemd系统)
# /etc/systemd/journald.conf
[Journal]
Storage=persistent
Compress=yes
Seal=yes
auditd服务配置
# 监控关键文件访问
auditctl -w /etc/passwd -p wa -k passwd_changes
auditctl -w /etc/shadow -p wa -k shadow_changes
常用审计规则示例
# 监控sudo使用
auditctl -a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo
实时日志监控工具
# 使用logwatch进行日志分析
yum install logwatch # RHEL/CentOS
logwatch --output mail --range yesterday
入侵检测集成
xml
<rule id="1001" level="10">
<match>Failed password</match>
<description>SSH login failed</description>
</rule>
日志防篡改技术
# 使用chattr防止删除
chattr +a /var/log/messages
日志加密传输
# rsyslog TLS配置示例
$DefaultNetstreamDriver gtls
$DefaultNetstreamDriverCAFile /etc/ssl/certs/ca.pem
日志保留策略
# /etc/logrotate.conf
/var/log/secure {
rotate 90
daily
compress
missingok
notifempty
}
PCI-DSS日志要求
# 查看最近登录
last -aiF
# 分析ssh登录失败
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c
# 检查可疑进程
ps auxf | grep -E '(ncat|sqlmap|john)'
通过以上策略的综合实施,可以构建符合等保2.0三级要求的日志安全体系,有效支持安全事件调查和合规审计需求。