1. 确保日志完整性:防止篡改与丢失
通过chattr命令给关键日志文件(如/var/log/messages、/var/log/secure)添加不可更改属性,阻止未经授权的修改;同时配置logrotate进行日志轮转,避免单个文件过大导致数据覆盖。例如,使用chattr +i /var/log/secure设置不可变属性,编辑/etc/logrotate.d/rsyslog配置每日轮转、保留30天压缩日志(daily rotate 30 compress missingok)。
2. 保障日志传输安全:加密与访问控制
若需将日志传输到远程服务器,应启用TLS/SSL加密(通过module(load="tls")加载TLS模块,配置证书和密钥),避免数据在传输过程中被窃取;同时使用firewalld限制Syslog端口(UDP/TCP 514)的访问,仅允许可信IP(如内网日志服务器)访问。例如,配置firewall-cmd --permanent --add-source=192.168.1.0/24限制UDP 514端口仅内网可访问。
3. 规范日志存储策略:保留期限与权限管理
根据合规要求(如GDPR、等保)设置日志保留期限(如50天),通过logrotate的rotate参数控制保留数量,并启用压缩节省存储空间;设置日志文件权限为640(所有者可读写,组可读,其他无权限),避免非授权用户访问敏感日志。例如,/etc/logrotate.d/rsyslog中配置compress delaycompress missingok rotate 50,使用chmod 640 /var/log/secure设置权限。
4. 实现全面的日志审计:监控与分析
使用auditd工具定义审计规则,监控对敏感文件(如/etc/passwd、/etc/shadow)、关键操作(如用户登录、sudo使用、进程执行)的访问;通过ausearch查询日志,aureport生成审计报告(如近期登录事件、文件修改记录)。例如,添加-w /etc/passwd -p wa -k passwd_change规则监控passwd文件的写操作,使用aureport -k passwd_change生成报告。
5. 遵循合规的时间同步要求
确保所有系统和日志服务器使用NTP(网络时间协议)同步时间,避免日志时间戳不一致导致审计困难。例如,安装chrony服务(yum install chrony),配置/etc/chrony.conf同步公共NTP服务器(如server ntp.aliyun.com iburst),并启动服务(systemctl start chronyd && systemctl enable chronyd)。
6. 最小权限原则:降低攻击面
为rsyslog服务分配最小必要权限,例如限制其运行用户为syslog(默认),仅允许访问必要的日志目录(如/var/log);定期更新rsyslog软件包至最新版本,修复已知安全漏洞。例如,使用systemctl edit rsyslog设置User=syslog Group=syslog,通过yum update rsyslog更新软件。