插件窝 干货文章 强化Linux服务器安全:运用命令行检测恶意行为

强化Linux服务器安全:运用命令行检测恶意行为

检查 bash 文件 可疑 537    来源:    2025-04-12

强化Linux服务器安全:命令行恶意行为检测指南

作为IT工程师,我将为您提供一套全面的Linux服务器安全检测方法,帮助您通过命令行识别潜在的恶意活动和入侵迹象。

1. 系统账户检查

检查可疑用户账户

# 查看所有用户账户
cat /etc/passwd

# 检查UID为0的账户(root权限)
awk -F: '($3 == "0") {print}' /etc/passwd

# 检查最近创建的用户
ls -lt /home

检查异常登录活动

# 查看当前登录用户
w

# 检查登录历史
last

# 检查失败的登录尝试
lastb

# 检查SSH登录记录
grep "Failed password" /var/log/auth.log

2. 进程监控

检查可疑进程

# 查看所有运行中的进程
ps aux

# 查看CPU/内存占用高的进程
top

# 检查隐藏进程
ps -ef | awk '{print $2}' | sort -n | uniq -c | awk '$1 > 1'

# 检查网络连接的进程
netstat -tulnp
lsof -i

3. 网络活动检查

检查异常网络连接

# 查看所有网络连接
ss -tulnp

# 检查外连IP
netstat -anp | grep ESTABLISHED

# 检查DNS查询
tcpdump -i any -n port 53

检查防火墙规则

# 查看iptables规则
iptables -L -n -v

# 检查异常端口开放
netstat -tuln

4. 文件系统检查

检查可疑文件

# 查找最近修改的文件
find / -mtime -7 -type f -exec ls -l {} \;

# 查找隐藏文件
find / -name ".*" -ls

# 查找SUID/SGID文件
find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;

# 检查/tmp目录异常
ls -la /tmp

检查文件完整性

# 使用rpm/deb验证系统文件完整性
rpm -Va  # RedHat/CentOS
dpkg -V  # Debian/Ubuntu

# 查找未授权的.conf或.ini文件
find / -name "*.conf" -o -name "*.ini" | grep -v "/etc/"

5. 计划任务检查

# 检查系统cron任务
ls -la /etc/cron*
cat /etc/crontab
ls -la /var/spool/cron/

# 检查用户cron任务
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done

6. 内核模块检查

# 检查加载的内核模块
lsmod

# 检查可疑内核模块
find /lib/modules/$(uname -r) -type f -name "*.ko"

7. 日志分析

# 检查系统日志中的异常
journalctl -xe
grep -i "error\|fail\|warning" /var/log/syslog

# 检查SSH暴力破解尝试
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr

# 检查sudo滥用
grep sudo /var/log/auth.log

8. 自动化检测工具

# 使用chkrootkit检查rootkit
sudo chkrootkit

# 使用rkhunter检查rootkit
sudo rkhunter --check

# 使用Lynis进行安全审计
sudo lynis audit system

9. 后门检测

# 检查异常shell配置文件
ls -la ~/.bash* ~/.profile ~/.ssh/

# 检查LD_PRELOAD滥用
env | grep LD_PRELOAD
strings /etc/ld.so.preload

10. 应急响应建议

  1. 隔离系统:发现可疑活动时,立即将系统从网络中断开
  2. 取证保存:在清理前保存日志和证据 bash tar czvf evidence_$(date +%Y%m%d).tar.gz /var/log /etc/passwd /etc/shadow /etc/group
  3. 密码重置:更改所有用户密码,特别是root和特权用户
  4. 系统更新:应用所有安全补丁 bash apt update && apt upgrade # Debian/Ubuntu yum update # RHEL/CentOS
  5. 全面扫描:使用多个工具交叉验证结果

通过定期执行这些检查,您可以大大提高Linux服务器的安全性,及时发现并应对潜在的安全威胁。建议将关键检查脚本化并设置定期自动执行。