Debian日志中如何检测系统入侵
小樊
34
2025-12-10 09:14:53
Debian日志入侵检测实操指南
一 关键日志与定位路径
- 认证与授权:/var/log/auth.log(SSH 登录、sudo 提权、PAM 事件)
- 系统通用:/var/log/syslog 或 /var/log/messages
- 内核与硬件:/var/log/kern.log、/var/log/dmesg
- 包管理变更:/var/log/dpkg.log(安装、升级、移除软件包)
- Web 服务:/var/log/apache2/access.log、/var/log/apache2/error.log
- 数据库:/var/log/mysql/error.log
- 审计日志(若启用审计服务):/var/log/audit/audit.log
- 建议先确认 rsyslog 已正确记录认证类日志,必要时在 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf 中确保包含行:auth,authpriv. /var/log/auth.log*,并重启服务 systemctl restart rsyslog。
二 快速检测命令与用法
- 认证异常与暴力破解
- 统计失败与成功登录:
- grep “Failed password” /var/log/auth.log | awk ‘{print $11}’ | sort | uniq -c | sort -nr
- grep “Accepted” /var/log/auth.log | awk ‘{print $11}’ | sort | uniq -c | sort -nr
- 查看失败登录的上下文(前后各 10 行):
- grep -C 10 “Failed password” /var/log/auth.log
- 时间窗内可疑事件排查(systemd 日志)
- 查看最近 1 小时全部日志:journalctl --since “1 hour ago”
- 查看某服务最近 30 分钟日志:journalctl -u ssh.service --since “30 min ago”
- 内核与系统异常
- 内核告警/崩溃线索:grep -i “segfault|oops|panic” /var/log/kern.log
- 可疑进程与网络连接
- 当前网络连接与对应进程:ss -tulnp 或 lsof -i -P -n
- 异常进程排查:top/htop、ps aux --forest
- Web 与数据库异常
- Web 访问与错误:tail -n 100 /var/log/apache2/access.log | grep " 4[0-9][0-9] ";tail -n 100 /var/log/apache2/error.log
- 数据库错误:tail -n 200 /var/log/mysql/error.log | grep -i “error|warning”
- 审计日志线索(若启用 auditd)
- 关键系统调用:ausearch -m EXECVE -ts recent;ausearch -m PATH -ts recent。
三 常见入侵迹象与日志特征
- 多次失败的 SSH 登录后紧跟一次成功登录(常见于暴力破解成功后登录)
- 来自同一来源的大量连接尝试或非常规端口访问(DoS/扫描迹象)
- sudo 提权成功但对应账户本不应具备管理员权限
- /var/log/dpkg.log 出现可疑软件包安装或异常升级(例如未知来源的包)
- Web 日志中出现异常 HTTP 404/403 爆发、可疑 User-Agent、路径遍历或 WebShell 特征
- 内核日志出现 segfault、oops、panic 等异常,可能意味着被利用导致的崩溃
- 审计日志(auditd)中出现异常的 execve、open、chmod 等系统调用序列(配合 ausearch 检索)。
四 自动化与持续监控
- 部署 Fail2Ban:自动封禁反复失败的来源 IP(SSH、FTP、Web 等),配置 /etc/fail2ban/jail.local 并启用服务
- 集中化日志与告警:使用 ELK Stack(Elasticsearch/Logstash/Kibana)、Graylog 或 Splunk 做日志聚合、可视化与阈值告警
- 主机入侵检测:部署 OSSEC/Wazuh 做文件完整性、日志分析与主动响应
- 网络入侵检测:部署 Snort 或 Suricata 做流量侧攻击识别
- 日志生命周期管理:配置 logrotate 进行轮转、压缩与保留策略,防止日志被占满或被篡改。
五 事件响应与取证要点
- 立即隔离:限制外网访问、将可疑主机从生产网段下线
- 现场取证:保存当前内存与关键日志快照(如 /var/log/、当前网络连接、运行进程列表)
- 账户与权限核查:检查 /etc/passwd、/etc/shadow、sudoers 与新增用户、异常 SSH authorized_keys
- 进程与网络固化:记录 ss -tulnp、lsof -i、ps aux 输出,便于后续分析
- 文件完整性:对关键系统文件与配置做哈希校验(如 sha256sum),与基线对比
- 修补与恢复:执行 apt update && apt upgrade,根据取证结果清理后门、重置凭据并重启服务
- 复核与加固:复核 Fail2Ban、IDS/IPS 与日志告警规则,完善最小权限与多因素认证。