Linux日志恶意访问检测实操指南
一 关键日志与定位
二 高频恶意访问模式与快速排查
| 场景 | 关键线索 | 快速命令示例 |
|---|---|---|
| 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 结合宿主机日志排查 |
三 自动化检测与响应
sudo apt-get install fail2ban;在 /etc/fail2ban/jail.local 启用并自定义规则与封禁时长。swatch --configfile /etc/swatch/swatch.conf --tail -f /var/log/auth.log。四 集中化与加固建议
auth,authpriv.* @remote_log_server_ip:514),便于审计与抗篡改。