一、强化日志服务自身安全
apt update && apt upgrade更新Debian系统及rsyslog、auditd等日志相关软件,及时修复已知安全漏洞,降低被攻击风险。ufw allow from 192.168.1.0/24 to any port 514 proto udp命令限制UDP 514端口的访问范围。omfwd模块配置SSL证书),防止中间人攻击截获敏感日志信息。示例配置(/etc/rsyslog.conf):action(type="omfwd" target="remote.server.com" port="6514" protocol="tcp" tls="on" tls.caCert="/path/to/ca.crt")。二、配置安全的日志存储策略
chown和chmod命令严格限制日志文件的访问权限。例如,系统日志(/var/log/syslog、/var/log/auth.log)应归root:syslog所有,权限设置为640(所有者可读写,所属组可读,其他用户无权限);用户应用日志(如/var/log/myapp/*.log)设置为640 root adm。logrotate工具定期压缩、删除旧日志,避免日志文件过大占用磁盘空间或包含过多历史敏感信息。编辑/etc/logrotate.conf或创建服务专属配置(如/etc/logrotate.d/rsyslog),示例规则:daily rotate 7 compress missingok notifempty create 640 root adm(每日轮转,保留7个压缩日志,缺失文件不报错,空文件不轮转,创建新日志时设置权限)。dm-crypt或gpg加密存储,确保即使日志文件被窃取,也无法直接查看内容。三、部署集中式日志管理
/etc/rsyslog.conf添加*.* @remote.syslog.server:514,使用UDP协议;或*.* @@remote.syslog.server:6514,使用TCP协议),远程服务器需开启rsyslog的接收功能(默认开启)。四、实施全面的日志监控与分析
journalctl(systemd系统)或tail -f命令实时查看系统日志(如journalctl -f -u ssh查看SSH服务日志,tail -f /var/log/auth.log查看认证日志),及时发现异常活动(如频繁的失败登录尝试)。/var/log/auth.log中的失败登录记录,当某IP在短时间内失败次数超过阈值(如5次),自动封禁该IP(通过iptables添加规则);Prometheus监控日志中的关键词(如“error”“attack”),触发告警时发送通知。aureport -au -i | grep "username")、检查是否有未授权的文件访问(ausearch -k file_access),或分析进程行为(autrace -p <PID>)。五、使用auditd增强审计粒度
sudo apt install auditd安装auditd服务(Debian默认仓库提供),编辑/etc/audit/audit.rules添加具体审计规则。常见规则包括:记录所有用户的sudo命令(-a always,exit -F arch=b64 -S sudo -k perm_mod)、记录root用户的所有活动(-a always,exit -F euid=0 -k root_activities)、记录失败的登录尝试(-w /var/log/faillog -p wa -k logins)、记录所有执行的命令(-a always,exit -S execve)。sudo augenrules --check检查规则语法是否正确,sudo augenrules --load加载规则,sudo systemctl restart auditd重启服务使规则生效。/var/log/audit/audit.log,使用ausearch命令搜索特定事件(如sudo ausearch -k perm_mod查看sudo命令记录),aureport命令生成汇总报告(如sudo aureport --summary查看审计摘要,sudo aureport --file查看文件访问情况)。此外,可通过autrace命令跟踪进程的系统调用(如sudo autrace -p <PID>),深入了解进程的行为。