Ubuntu日志安全设置怎么做
导读:Ubuntu日志安全设置实操清单 一 基础安全基线 保护日志目录与关键文件权限:将日志目录与核心日志设为仅管理员可读写,其他用户只读或无权限;例如将 /var/log/syslog 设置为 root:adm 640,并禁止普通用户访问日志...
Ubuntu日志安全设置实操清单
一 基础安全基线
- 保护日志目录与关键文件权限:将日志目录与核心日志设为仅管理员可读写,其他用户只读或无权限;例如将 /var/log/syslog 设置为 root:adm 640,并禁止普通用户访问日志目录。对关键身份与配置文件的权限一并收紧(如 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow),仅保留必要访问。
- 加固日志服务配置与进程:确保 rsyslog 配置与日志文件权限最小化,仅启用必要模块;及时更新 rsyslog 版本以修复已知漏洞。
- 启用持久化与本地只读视图:Ubuntu 默认 journald 与 rsyslog 均会维护持久化日志;将 /var/log 挂载为只读(或对该分区采用只读策略)能降低本地篡改风险,同时保留 rsyslog 文本日志用于取证。
- 时间同步:开启 NTP/chrony 保证日志时间戳一致,便于审计与取证。
以上措施能显著降低本地篡改与信息泄露风险,并为后续集中化与审计打基础。
二 日志传输与集中化
- 方案选型:小规模可用 rsyslog 通过 UDP/TCP 转发;跨公网或高安全场景建议使用 TLS 加密传输(证书认证)。
- 服务器与客户端配置要点:
- 服务器:启用 TLS(如 TLS 1.2+)、证书校验与访问控制;仅开放必要端口(如 514/6514)。
- 客户端:将本地日志按设施/级别转发到集中服务器;对敏感日志启用加密通道。
- 实践参考:使用 systemd-journal-remote 与 Certbot 配置服务器与客户端证书,实现日志的加密传输与相互认证,适合在不可信网络中安全汇聚日志。
- 防火墙策略:仅允许来自受管客户端的日志流量进入日志服务器(例如 UFW/iptables 白名单)。
集中化可提升留存周期、统一分析与取证能力,并降低单点被清空的风险。
三 审计与防篡改
- 启用内核审计服务 auditd:在 Ubuntu 22.04 上安装并启用 auditd,配置关键规则以覆盖登录认证、特权命令、敏感文件访问与审计日志自身防篡改。
- 常用规则示例(写入 /etc/audit/rules.d/audit.rules 以持久化):
- 监控账户与认证相关文件:
-w /etc/passwd -p wa -k user_account_changes
-w /etc/shadow -p wa -k shadow_changes - 监控审计日志自身:
-w /var/log/audit/audit.log -p wa -k audit_log_tamper - 监控特权命令执行(示例:chmod/chown):
-a always,exit -F arch=b64 -S chmod -k chmod_watch
-a always,exit -F arch=b64 -S chown -k chown_watch - 监控进程创建(命令执行):
-a always,exit -F arch=b64 -S execve -k process_execution
- 监控账户与认证相关文件:
- 查看与验证:使用 ausearch -k 检索审计事件;必要时调整 /etc/audit/auditd.conf(如 max_log_file、num_logs)控制滚动与留存。
审计日志提供用户不可抵赖的证据链,是合规与取证的关键数据来源。
四 轮转压缩与留存策略
- 使用 logrotate 管理本地日志生命周期:按日/周轮转、压缩归档、保留指定份数、创建新文件时设置安全权限与属主。
- 示例(/etc/logrotate.d/syslog):
/var/log/syslog
{
daily
rotate 30
compress
delaycompress
missingok
notifempty
create 640 root adm
postrotate
systemctl reload rsyslog > /dev/null 2> & 1 || true
endscript
} - 对 journald 可配置持久化与 SystemMaxUse/MaxRetentionSec 等参数,控制二进制日志的磁盘占用与保留时长。
- 定期备份与异地留存:将归档日志与关键审计日志定期备份到受控存储或离线介质,满足长期留存与灾难恢复需求。
五 监控告警与快速核查
- 日常核查命令:
- 登录与失败登录:last、lastb
- 认证与安全事件:sudo tail -f /var/log/auth.log
- 内核与系统消息:dmesg、/var/log/kern.log
- 服务与单元日志:sudo journalctl -u sshd -f
- 自动化分析与告警:部署 Logwatch/Logcheck 生成日报/周报并邮件告警;对关键事件(如多次失败登录、sudo 提权)设置实时告警。
- 入侵迹象快速排查:
- 异常登录与来源 IP:last -i | head
- 失败登录峰值:sudo grep “Failed password” /var/log/auth.log | awk ‘{ print $11} ’ | sort | uniq -c | sort -nr | head
- 审计规则命中:ausearch -k audit_log_tamper
持续监控与告警能缩短检测与响应时间,降低入侵影响。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu日志安全设置怎么做
本文地址: https://pptw.com/jishu/772970.html
