如何检查 Linux 服务器是否被黑客入侵
发布时间:2025-01-18 10:02       
更新时间:2025-01-18 10:07
以下步骤可以帮助您找到 Linux 服务器上的黑客攻击痕迹。
1.1 查看当前登录用户
首先登录你的Linux服务器,通过命令“w”查看当前登录的用户。然后,进入https://www.iplocation.net/查看登录的IP地址。如果有陌生的IP,您的服务器可能被黑客入侵。
1.2 查看最近登录的用户和IP信息
使用命令“last -10”可以查看最近登录系统的用户信息。
1.3 查看bash历史记录
如果您怀疑特定用户有恶意活动,您可以检查 bash 历史记录。以您想要调查的用户身份登录并运行以下命令。
2 检查系统进程
第一步是检查是否存在任何未知或可疑的进程。
2.1 检查CPU和内存占用率较高的进程
使用top命令可以查看占用CPU或内存超过30%的进程。如果不是您正在运行的进程,您的 Linux 服务器可能被植入了恶意程序。
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 服务器可能已被黑客攻击。
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”检查侦听和活动端口。
黑客可能会将 cron 计划任务放置在 /etc/crontab 中,从而定期运行恶意命令。使用以下命令查看当前用户正在运行的定时任务:
要查看每日、每小时、每周和每月的 cron 作业,请使用以下命令:
ls -la /etc/cron.hourly
ls -la /etc/cron.daily
ls -la /etc/cron.weekly
ls -la /etc/cron.monthly
crontab -e
service crond restart
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
# apt-get update
# apt install chkrootkit -y
# chkrootkit