Linux系统可通过多种方法检测是否遭受攻击,包括查看异常登录记录(lastb
、/var/log/auth.log
)、监控网络连接(netstat
、ss
)、检查可疑进程(top
、ps
)、分析防火墙日志(iptables
/firewalld
)以及使用入侵检测工具(如Fail2Ban),攻击者IP可从日志文件或命令输出中提取,及时排查可增强系统安全。
检查系统日志(/var/log)
Linux系统日志是检测异常行为的第一道防线,主要的日志文件包括:
/var/log/auth.log(或 /var/log/secure):记录用户登录、SSH访问等认证信息。
/var/log/syslog:记录系统级别的活动。
/var/log/messages:存储内核和应用程序的日志。
使用以下命令查看最近的登录记录:
grep "Failed password" /var/log/auth.log # 查看失败的登录尝试 grep "Accepted" /var/log/auth.log # 查看成功的登录 lastlog # 查看所有用户的最后登录时间
如果发现大量来自未知IP的登录尝试,可能是暴力破解攻击。
检查网络连接(netstat/ss)
黑客可能会在服务器上建立后门连接,使用netstat
或ss
命令检查异常连接:
netstat -tulnp # 查看所有活动的网络连接 ss -tulnp # 更现代的替代命令
重点关注:
未知的IP地址或端口。
异常的外连连接(可能是数据泄露或僵尸网络活动)。
检查进程和CPU使用情况(top/htop)
如果服务器突然变慢,可能是恶意进程在占用资源:
top # 实时查看进程CPU和内存占用 htop # 更直观的进程查看工具 ps aux | grep suspicious_process # 查找可疑进程
如果发现未知的高CPU占用进程,可能是挖矿病毒或后门程序。
检查文件系统变化(find/stat)
黑客可能会修改系统文件或植入恶意脚本,使用以下方法检测:
find / -type f -mtime -3 # 查找最近3天内修改的文件 stat /etc/passwd # 检查关键文件是否被篡改 ls -la /tmp # 检查临时目录是否有可疑文件
特别注意:
/etc/passwd
或/etc/shadow
被修改(可能存在新增用户)。/tmp
或/dev/shm
中的异常可执行文件。
使用安全工具(rkhunter/clamav)
手动检查可能不够全面,建议使用安全扫描工具:
rkhunter(Rootkit检测):
sudo apt install rkhunter # Debian/Ubuntu sudo yum install rkhunter # CentOS/RHEL sudo rkhunter --check
ClamAV(病毒扫描):
sudo apt install clamav # Debian/Ubuntu sudo freshclam # 更新病毒库 sudo clamscan -r / # 全盘扫描
应对措施
如果确认服务器被攻击:
立即断开网络:防止进一步入侵。
更改所有密码:包括SSH、数据库、管理员账户等。
备份关键数据:避免数据丢失。
重装系统:如果严重入侵,最安全的方法是重装并恢复备份。
加强安全防护:配置防火墙(
ufw
/iptables
)、禁用SSH密码登录(改用密钥)、定期更新系统。
还没有评论,来说两句吧...