发现Linux是否被入侵需基于证据链闭环:查/var/log/secure识别暴力破解与非法登录;查/etc/passwd确认UID 0非root账户;扫Web日志捕获SQL注入、XSS等攻击痕迹。

发现Linux系统是否被入侵,核心在于“异常可观测”——日志里有痕迹、进程里有异动、文件里有篡改、网络里有可疑连接。不靠猜测,靠证据链闭环。
看登录日志,揪出非法访问源头
/var/log/secure 是SSH登录行为的主战场,重点关注失败与成功两类记录:
- 查暴力破解: grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | head -10 ——列出高频尝试登录的IP
- 查已成功入侵: grep "Accepted" /var/log/secure | awk '{print $1,$9,$11}' ——显示时间、用户、来源IP,特别注意境外或非办公网段IP
- 查root以外的UID 0账户: awk -F: '$3==0{print $1}' /etc/passwd ——若出现非root用户,极可能已被提权
扫Web日志,识别典型攻击载荷
网站访问日志(如 /www/logs/access.log)是SQL注入、XSS、命令执行、WebShell上传的直接证据:
- SQL注入痕迹: grep -E -i "select.*from|union.*select|sleep\(|benchmark\(" access.log
- XSS特征: grep -E -i "
- 命令注入: grep -E -i "cat%20/etc/passwd|ls%20-alh|%20pwd|;curl|;wget" access.log
- WebShell上传: grep -E -i "\.php\?|eval\(|assert\(|base64_decode\(|system\(|passthru\(" access.log
查进程与端口,定位隐蔽后门
攻击者常驻后台进程、监听非常规端口、替换系统命令:
- 看异常进程: ps aux --sort=-%cpu | head -15 ——结合CPU/内存占用和命令路径判断(如 /tmp/.a、/dev/shm/.b 这类路径高度可疑)
- 查监听端口: netstat -tulnp | grep -v "127.0.0.1:" ——过滤本地回环,聚焦对外暴露的非标端口(如 31337、6666、8888)
- 验命令完整性: ls -la /bin/ps /usr/bin/netstat /bin/ls ——比对文件大小、修改时间;再用 md5sum /bin/ps 与干净系统比对哈希值
找文件改动,锁定后门植入点
攻击者上传木马、修改配置、创建隐藏账户,都会留下文件操作痕迹:
- 查24小时内新建/修改的PHP文件: find /var/www -name "*.php" -mtime -1 -ls
- 搜含危险函数的一句话木马: find /var/www -name "*.php" -type f -exec grep -l "eval\|assert\|system\|shell_exec\|base64_decode" {} \; 2>/dev/null
- 找权限过宽的脚本: find /var/www -name "*.php" -perm 777 -ls ——777权限极易被覆盖写入
- 查最近创建的隐藏文件: find /tmp /dev/shm /var/tmp -type f -mtime -3 -name ".*" -ls 2>/dev/null
以上就是Linux入侵行为如何发现_日志与工具分析思路【教学】的详细内容,更多请关注php中文网其它相关文章!