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

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

检查 查看 文件 bash 469    来源:    2025-04-12

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

作为IT工程师,确保Linux服务器安全至关重要。以下是一套全面的命令集,用于检测服务器上的潜在恶意行为和安全威胁。

1. 用户和登录监控

检查异常用户

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

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

# 查看最近创建的用户
awk -F: '{print $1}' /etc/passwd | tail -n 5

检查登录历史

# 查看成功登录记录
last

# 查看失败登录尝试
lastb

# 查看当前登录用户
w
who

2. 进程监控

检查可疑进程

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

# 查看CPU/内存占用高的进程
top -b -n 1 | head -n 20

# 检查隐藏进程
ps -ef | awk '{print $2}' | sort -n | uniq > /tmp/ps_list.txt
ls /proc | sort -n | uniq > /tmp/proc_list.txt
diff /tmp/ps_list.txt /tmp/proc_list.txt

检查网络连接

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

# 检查异常外连
lsof -i
netstat -anp | grep ESTABLISHED

3. 文件系统检查

查找可疑文件

# 查找最近修改的文件
find / -type f -mtime -7 -print

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

# 查找可写文件
find / -type f -perm -o=w -exec ls -la {} \;

# 查找隐藏文件和目录
find / -name ".*" -print

检查文件完整性

# 使用AIDE检查文件完整性(需预先配置)
aide --check

# 使用rpm验证系统文件(适用于RHEL/CentOS)
rpm -Va

4. 计划任务检查

# 查看所有用户的cron任务
ls -la /etc/cron*
cat /etc/crontab
ls -la /var/spool/cron

5. 内核模块检查

# 查看加载的内核模块
lsmod

# 检查可疑模块
cat /proc/modules

6. 日志分析

# 查看系统日志
tail -n 100 /var/log/messages
tail -n 100 /var/log/syslog

# 查看认证日志
tail -n 100 /var/log/auth.log
tail -n 100 /var/log/secure

# 查看SSH日志
tail -n 100 /var/log/secure | grep sshd

7. 网络和安全配置检查

# 检查防火墙规则
iptables -L -n
firewall-cmd --list-all

# 检查SSH配置
cat /etc/ssh/sshd_config | grep -v "^#" | grep -v "^$"

# 检查sudo权限
cat /etc/sudoers

8. Rootkit检测

# 使用rkhunter检测rootkit(需安装)
rkhunter --check

# 使用chkrootkit检测rootkit(需安装)
chkrootkit

自动化监控建议

  1. 设置定期执行的安全检查脚本
  2. 配置日志监控和告警系统(如OSSEC、Logwatch)
  3. 实施文件完整性监控(如AIDE、Tripwire)
  4. 设置入侵检测系统(如Snort、Suricata)

注意事项

  • 在执行这些命令时,确保有适当的权限
  • 敏感命令可能需要sudo权限
  • 定期备份重要数据和配置
  • 将结果与基线进行比较,识别异常

通过定期执行这些检查,您可以及时发现服务器上的潜在安全问题并采取相应措施。