2023-06-21 10:30:26
服务器被入侵后需立即采取应急措施降低损失,并通过系统化排查定位入侵途径与残留威胁,最后根据排查结果进行安全加固。以下是具体步骤与排查方法:
一、服务器被入侵后的应急处理若服务器为物理机,断开网络连接;若为虚拟机,暂停其运行。
停止所有对外服务(如网站、API),防止攻击者进一步利用。
netstat -an:查看所有网络连接,重点关注海外IP或陌生IP的连接。
netstat -antp:结合进程ID(PID)查询连接来源,记录异常进程的PID及文件路径。
重点检查:CPU占用率超过30%的进程、隐藏进程(如无命令行参数的进程)。

使用绝对路径执行命令(如/bin/ps)。
对比命令的MD5值与官方版本是否一致。
Linux:检查/etc/init.d/、/etc/rc.local等目录是否存在多余启动文件。
Windows:通过msconfig或任务管理器查看启动项。
Linux:执行crontab -l查看定时任务,重点关注每15分钟执行的挖矿命令(如*/15 * * * * (curl -fsSL ||wget -q-O- )|sh)。
Windows:检查任务计划程序中的可疑任务。
Linux:执行history查看用户操作记录,检查是否使用wget或curl下载恶意文件。
Windows:检查事件查看器中的命令行记录。
Linux:通过who、last命令查看登录用户,重点关注pts(远程连接)和异常登录时间。
Windows:检查安全日志中的登录事件(ID 4624)。
Linux:执行cat /etc/passwd,确认是否存在UID为0的异常账户。
Windows:通过“计算机管理”查看管理员组(Administrators)成员。
Linux:查看/etc/shadow中账户的最后修改时间(chage -l 用户名)。
Windows:检查事件查看器中的账户创建事件(ID 4720)。

使用find命令查找近期修改的文件(如find / -mtime -2 -type f)。
重点检查临时目录(/tmp、/var/tmp)、用户家目录(/home)和Web目录(/var/www/html)。
使用工具(如LiME、Volatility)提取内存镜像,分析隐藏的恶意进程或代码。
禁止root直接登录,改用普通用户+sudo提权。
修改默认端口(如22→2222),限制允许访问的IP段。
实施五重备份:常规备份、自动同步、LVM快照、云备份(如Azure Backup)、对象存储备份(如AWS S3)。
异地备份+每小时增量备份,确保数据可恢复。
重要数据使用AES-256等算法加密。
通过Git等工具管理程序文件版本,支持故障回滚。
使用Nagios、Zabbix监控CPU、内存、磁盘等指标,设置阈值告警。
监控SSH登录记录、iptables规则变化,异常时触发邮件/短信告警。
集中收集Web日志(如Nginx、PHP日志),通过ELK(Elasticsearch+Logstash+Kibana)分析异常请求。
监控数据库操作日志,防止未授权的字段修改或索引创建。
通过以上步骤,可系统化应对服务器入侵事件,从应急响应到溯源排查,最终通过加固措施提升安全性。