腾讯云-服务违规封禁提醒解决
- 背景
- 解决方案
- Step1: 查看目标主机上有哪些TCP链接在使用22端口以及该进程的详细信息
- Step2:删除异常进程,及其可执行文件
- Step3:处理已经挂起的链接
- Step4:查看是否存在相关的定时任务
- Step5:修改密码
背景
之前在腾讯云租用了两台轻量服务器,搭建了一个K8S集群,集群用户的密码设置的比较简单,最近1至2个月总是能收到异常登录通知,登录地显示美国或者是荷兰。甚至还会有这样的邮件,提醒我服务违规,要对我进行封禁。在被封禁了两次后我决定好好处理一下:
【腾讯云】服务违规封禁提醒
尊敬的腾讯云用户,您好!
您的账号(账号ID: xxx,昵称:xxx)下的设备(IP:xxx.xx.xx.xx)因存在对外攻击行为,已阻断该服务器对其他服务器端口(TCP:22)的访问,阻断预计将在24小时后结束,请及时进行自查整改。
推荐自查指引:
1、排查设备外发流量是否存在异常突增,且非正常业务流量;
2、排查设备是否运行异常程序,抢占CPU等系统资源;
3、排查设备文件数据是否被异常加密、删除、丢失,且留有勒索信息;
4、排查设备是否被植入了木马后门,被恶意操控对外攻击;
5、排查设备是否搭建了网络代理服务(如frp、HAProxy等),被恶意利用作为对外攻击跳板;
6、排查设备是否存在其他可能被入侵利用的高危漏洞。
感谢您对腾讯云的理解与支持!
解决方案
解决方案主要来自于这一篇文章
https://cloud.tencent.com/developer/article/2237527
Step1: 查看目标主机上有哪些TCP链接在使用22端口以及该进程的详细信息
netstat -anp |grep :22
使用上述指令查看使用 22端口的TCP链接有哪些,处理完问题我才想着记录,所以截图中并没有那个异常的TCP链接。
如引用的那篇原文章所示,异常进程是tsm,但是我的异常进程是alias,记住如下的进程号:
ps -ef |grep alias
查看异常进程的相关信息,我的异常进程是alias。
以引用的文章为例,在查询完进程详细信息后,可以查询到异常进程可执行文件的路径
Step2:删除异常进程,及其可执行文件
kill -9 2151865 //这里换成你自己的异常进程号
rm -f /dev/shm/.X1z/.rsync/c/lib/64/tsm //删除对应的进程的可执行文件和对应文件夹,这里换成你自己的异常进程可执行文件的路径
现在再返回Step1用指令进行查询校验,发现异常进程已经消失。下一步是我忽略的一个步骤,导致我过了十几分钟再去用Step1的指令去查询校验的时候发现异常进程alias死灰复燃了。
Step3:处理已经挂起的链接
tcpkill -i eth0 -9 port 22
因为之前并不了解该指令的作用,所以没有执行,担心对集群产生影响,后来又补上的这一步骤。我的机器上并没有tcpkill工具,这个需要自己安装。
Step4:查看是否存在相关的定时任务
上述工作完成之后,再检查是否存在相关的定时任务。
crontab -l //查看定时任务列表
如果有存在异常的定时任务要记得删除。
Step5:修改密码
加强自己的密码防止该问题再次发生,经常收到通知异常登录邮件或者被封禁真的是很烦人。