如何检查 Linux 服务器是否被黑客入侵

介绍

以下步骤可以帮助您找到 Linux 服务器上的黑客攻击痕迹。

1 监控用户活动

2 检查系统进程

3 检查网络流量

4 检查 cron 作业

5 检查Rootkit感染

1 监控用户活动

1.1 查看当前登录用户

首先登录你的Linux服务器,通过命令“w”查看当前登录的用户。然后,进入https://www.iplocation.net/查看登录的IP地址。如果有陌生的IP,您的服务器可能被黑客入侵。

检查当前登录的用户
1.2 查看最近登录的用户和IP信息

使用命令“last -10”可以查看最近登录系统的用户信息。

查看最近登录的用户和IP信息
1.3 查看bash历史记录

如果您怀疑特定用户有恶意活动,您可以检查 bash 历史记录。以您想要调查的用户身份登录并运行以下命令。

检查 bash 历史记录

2 检查系统进程

第一步是检查是否存在任何未知或可疑的进程。
2.1 检查CPU和内存占用率较高的进程

使用top命令可以查看占用CPU或内存超过30%的进程。如果不是您正在运行的进程,您的 Linux 服务器可能被植入了恶意程序。

检查CPU和内存使用率较高的进程
2.2 检查所有进程

通过命令“ps -aux”查看所有进程信息。

检查所有进程
2.3 根据PID查看进程相关文件

通过命令“lsof -p PID”检查进程打开的文件。请将PID替换为前两步中获取的可疑进程的PID号。

如果提示“-bash: lsof: command not found”错误,则需要安装lsof:
CentOS: yum install -y lsof
Ubuntu: sudo apt-get install -y lsof

检查所有进程
2.4 检查可疑进程的exe文件

使用命令“ll /proc/PID/exe”查看与可疑进程关联的exe文件。确保将 PID 替换为前两步中获取的可疑进程的 PID 号。如果您检测到任何可疑的脚本文件,那么您的 Linux 服务器可能已被黑客攻击。

检查可疑进程的exe文件

3 检查网络流量

如果黑客在您的系统中保留了某些内容用于通信或发送消息,您可以通过监视您的流量是否存在异常活动来检测它。
3.1 检查带宽使用情况

使用命令“iftop -n -P”监控当前网络流量。

如果提示“-bash: iftop: command not found”错误,需要先安装iftop:
CentOS: yum install -y iftop
Ubuntu: sudo apt-get install -y iftop

检查带宽使用情况

第一列显示 localhost,=> 和 <= 分别表示流量传入和传出。有些后面跟着远程主机地址。
最后一列显示每个连接使用的带宽。
TX: 发送流量
RX: 接收流量
TOTAL: 总流量
Cum: 从运行 iftop 到当前时间的总流量
Peak: 峰值流量

3.2 检查监听和活动端口

通过运行命令“netstat -la”检查侦听和活动端口。

检查监听和活动端口

4 检查 cron 作业

黑客可能会将 cron 计划任务放置在 /etc/crontab 中,从而定期运行恶意命令。使用以下命令查看当前用户正在运行的定时任务:

crontab -l

查看其他用户的计划任务:

crontab -u username -l

要查看每日、每小时、每周和每月的 cron 作业,请使用以下命令:

ls -la /etc/cron.hourly
ls -la /etc/cron.daily
ls -la /etc/cron.weekly
ls -la /etc/cron.monthly

编辑 cron 作业:

crontab -e
service crond restart

5 检查Rootkit感染

Rootkit 是对设备最危险的威胁之一。这可能会导致系统重新安装,甚至强制更换硬件。有一个简单的命令可以帮助我们检测最知名的rootkit,命令“chkrootkit”(检查rootkit)。

首先,我们需要安装chkrootkit。在 CentOS 上,运行以下命令:

cd ~
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar xvf chkrootkit.tar.gz
cd chkrootkit-*
make sense
./chkrootkit

在 Ubuntu 上,运行以下命令:

# apt-get update
# apt install chkrootkit -y
# chkrootkit
检查 Rootkit 感染
THE END