云服务器可能由于弱密码、开源组件漏洞的问题被黑客入侵,本文介绍如何判断云服务器是否被病毒入侵,及其解决方法。
问题定位
rc.local 被增加恶意命令
执行以下命令,查看
rc.local
文件。cat /etc/rc.local
若输出信息为非业务或公告镜像添加的命令,例如
wget xx
及 /tmp/xx
等,则云服务器已大概率被病毒入侵。crontab 被增加恶意任务
执行以下命令,列出目前的时程表。
crontab -l
若输出信息为非业务或公告镜像添加的命令,例如
wget xx
及 /tmp/xx
等,则云服务器已大概率被病毒入侵。ld.so.preload 增加动态库劫持
执行以下命令,查看
/etc/ld.so.preload
文件。cat /etc/ld.so.preload
若输出信息为非业务增加的动态库,则云服务器已大概率被病毒入侵。
sysctl.conf 配置大页内存
执行以下命令,查看大页内存使用情况。
sysctl -a | grep "nr_hugepages "
若输出非0,且业务自身程序并未使用大页内存,则云服务器已大概率被病毒入侵。
处理步骤
1. 参见 创建快照,完成系统数据备份。
2. 参见 重装系统,重装实例系统,并参考如下措施加固安全策略:
修改云服务器密码,密码设置为由大写、小写、特殊字符、数字组成的12 - 16位的复杂随机密码。详情请参见 重置实例密码。
删除云服务器中已不再使用的用户。
将 sshd 的默认22端口改为1024 - 65525间的其他非常用端口。详情请参见 修改云服务器远程默认端口。
管理云服务器已关联安全组中的规则,只需放通业务和协议所需端口,不建议放通所有协议及端口。详情请参见 添加安全组规则。
不建议向公网开放核心应用服务端口访问。例如,mysql 及 redis 等。您可将相关端口修改为本地访问或禁止外网访问。
安装云镜、云锁等防护软件,并添加实时告警,以便及时获取异常登录信息。