Linux日志中的恶意访问检测
导读:Linux日志恶意访问检测实操指南 一 关键日志与定位 认证与安全:/var/log/auth.log(Debian/Ubuntu)、/var/log/secure(RHEL/CentOS),关注登录成功/失败、sudo/su 提权、用户...
Linux日志恶意访问检测实操指南
一 关键日志与定位
- 认证与安全:/var/log/auth.log(Debian/Ubuntu)、/var/log/secure(RHEL/CentOS),关注登录成功/失败、sudo/su 提权、用户增删改。
- 系统与内核:/var/log/syslog 或 /var/log/messages、/var/log/kern.log,关注异常重启、服务崩溃、内核告警。
- Web 服务:/var/log/apache2/access.log|error.log、/var/log/nginx/access.log|error.log,关注异常状态码、注入特征、可疑 UA/Referer。
- 集中与实时:使用 rsyslog/syslog-ng 将日志发往远程服务器;本地用 journalctl -f 实时跟踪。
- 建议将关键日志统一采集到 ELK/Graylog/Splunk 做集中分析与告警。
二 高频恶意访问模式与快速排查
| 场景 | 关键线索 | 快速命令示例 |
|---|---|---|
| SSH 暴力破解 | 短时间内大量 Failed password,来源陌生 IP | 统计失败来源:`sudo grep ‘Failed password’ /var/log/auth.log |
| Web 扫描与探测 | 大量 404/403,可疑路径(如 /wp-admin, /phpmyadmin),UA 含 sqlmap/nmap/burp | `awk ‘$9 ~ /4[0-9]{ 2} / { print $1} ’ /var/log/nginx/access.log |
| 可疑提权与账户变更 | sudo/su 成功但来源异常,新增用户或 UID=0 | `grep ‘sudo:’ /var/log/auth.log |
| Web 注入尝试 | 参数含 ’ OR 1=1、UNION SELECT、…/、<
script>
|
`grep -Ei "(’ OR 1=1 |
| 异常网络连接 | 连接到非常见端口/外网 IP,或本地异常监听 | `ss -tulpen |
| 内核与系统异常 | OOM、异常模块加载、崩溃 | `dmesg |
| 可疑定时任务与服务 | 新增 crontab、异常 systemd 服务 | crontab -l -u root;systemctl list-timers --all;grep -R "User=root" /etc/systemd/ /lib/systemd/ 2>
/dev/null |
| 可疑文件与权限 | 新增 SUID/SGID、隐藏文件、WebShell | find / -type f -perm -4000 -o -perm -2000 2>
/dev/null;find /var/www -name "*.php" -exec grep -l "eval|base64_decode" {
}
\;
|
| 历史登录异常 | 成功登录来源异常、非常用时间 | `last -a |
| 容器与宿主机 | 容器 IP 与异常连接 | ip addr show 查看 docker0 网段;docker ps 结合宿主机日志排查 |
三 自动化检测与响应
- Fail2Ban:基于日志自动封禁恶意 IP(SSH、Nginx、WordPress 等)。示例:
sudo apt-get install fail2ban;在 /etc/fail2ban/jail.local 启用并自定义规则与封禁时长。 - 集中式日志与告警:用 ELK/Graylog/Splunk 建立仪表盘与阈值告警(如 5 分钟内失败登录 > 10 次、单 IP 404 > 100 次)。
- 实时文件监控:swatch 对匹配模式执行脚本(邮件/封禁)。示例:
swatch --configfile /etc/swatch/swatch.conf --tail -f /var/log/auth.log。 - 入侵检测/防御:Suricata(NIDS/IPS)配合规则集识别 Web 攻击与异常流量,联动阻断。
- 日志轮转与保留:logrotate 控制日志体积与保留周期,防止被日志耗尽或篡改。
四 集中化与加固建议
- 远程日志与完整性:将 auth.、authpriv. 等通过 rsyslog 发送到远程日志服务器(如
auth,authpriv.* @remote_log_server_ip:514),便于审计与抗篡改。 - 基线核查与后门排查:定期审计 /etc/passwd、crontab、systemd、SUID/SGID、异常进程与网络连接;必要时用 AIDE/rkhunter/chkrootkit 做文件完整性与 Rootkit 检查。
- 最小权限与访问控制:禁用不必要服务与端口,限制数据库/管理端口仅内网访问,强制 密钥登录、禁用 root 直登,Web 目录最小权限与 WAF/IPS 协同。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux日志中的恶意访问检测
本文地址: https://pptw.com/jishu/789951.html
