服务器中毒了—菜是原罪

先使用网络排查三板斧:(1)打开浏览器访问域名,发现无法建立连接。(2)Ping域名,发现域名可以正常解析。(3)Telnet IP+Port,发现Telnet不通。

服务器中毒了—菜是原罪

周五朋友生日,刚吃完饭准备唱歌,接到消息说业务支付失败,问题是银行前置机无法正常和银行建立连接。

服务器中毒了—菜是原罪

我麻了……

这台服务器是银行那边亲自搭的,说实话我很少去管理:
1、是一台Windows服务器,我也不熟悉(太菜:路走窄了)。
2、不知道银行装了什么东西,动了会不会造成其他问题(还是太菜:心里畏惧了)。
3、业务量也不大,平时也没出现啥问题(还是太菜:惯性思维)。

但是出了问题,不得不管呀,歌也没唱了 ,跑到车库,打开电脑,开始一顿瞎操作。

先去查了所有的监控数据(这个时候就靠它了)。

首先确定CPU、内存、磁盘IO、网络等都是正常的。

服务器中毒了—菜是原罪
服务器中毒了—菜是原罪
服务器中毒了—菜是原罪

但是发现在问题时间点,前置机的连接数非常高(也许这就是问题的关键)。

服务器中毒了—菜是原罪

没办法,先试试能不能远程进服务器,发现是OK的。

先使用网络排查三板斧:(1)打开浏览器访问域名,发现无法建立连接。(2)Ping域名,发现域名可以正常解析。(3)Telnet IP+Port,发现Telnet不通。

当时也没往连接数已经使用完上想。

然后就去找Windows的事件日志了,日志实在是太多了,多的发麻,看的头晕脑花,不过功夫不负有心人,还是发现点问题,如下:

服务器中毒了—菜是原罪
服务器中毒了—菜是原罪

啥意思?

就是本地端口用完了,没有多余的端口可以分配使用会导致无法与外部通信。

啥意思?

这就要说到TCP三次握手了,TCP客户端和服务器连接时,客户端必须分配一个动态端口,不过这里就继续赘述了,大家都是大佬。

Windows默认动态端口范围是1024-5000,也就是只能发起约4000个Socket连接,然后第一反应就是增大动态端口分配范围(简直太聪明了)。

然后我就更改了注册表([HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters]),把端口范围增大到2000,然后重启了服务器(名副其实的SRE(Server Reboot Enginer))。

服务器中毒了—菜是原罪

服务器重启过后,肯定是可以正常服务了,毕竟没有重启解决不了的问题,如果有,那就再重启几次。

但是事情就这么完了?

当然不,得找找为什么会有这么多连接,正常的业务情况下,不会出现这种问题。

所以就打开控制台,使用natstat -ano,不看不知道,一看吓一跳,发现非常多的链接都是和47.95.x.x进行的。

服务器中毒了—菜是原罪

我使用netstat -ano | find “47.95.x.x” | find /c “80”一查,刚起的机器,就有2000多个连接了,着实吓到我了。

先问业务方,确认该IP是不是第三方的,得到明确答案不是,我开始慌了。

然后在网上查,发现这个IP是阿里云北京数据中心的。

服务器中毒了—菜是原罪

一开始以为是阿里云的某些公用云服务,比如阿里云盾、云监控等(懂的都懂)。

所以就直接找阿里咯,得到回复说不是阿里云盾这些服务的IP,我慌的一批,一种不好的预感萦绕心头。

马上把这个IP禁用了,在安全组给限制掉。

服务器中毒了—菜是原罪

然后从netstat -ano可以发现主要是通过1060这个进程建立连接的。

服务器中毒了—菜是原罪

uqccmg这个进程一看就非常规进程(不符合约定俗成的命名规则),当然也要确认一番。

得到准确答案后,尝试杀掉该进程,杀了又起,杀了又起,抓麻了。

然后通过进程去找到了文件。

服务器中毒了—菜是原罪

看这非主流的图标,中毒无疑了。

试着删除该文件,当然是失败了,不过,也知晓了该进程是通过.net服务托管着的,那我就把.net停掉呗,反正没用这个服务。

服务器中毒了—菜是原罪

停掉过后,确实可以杀该进程,而且也没有再启动了,连接也少了。

BUT,不要那么乐观……

病毒还是在的,只是没起了而已,仅此而已。

所以只有借助杀毒软件了,下了一个火绒,居然发现17个风险项目。

服务器中毒了—菜是原罪

先通过杀毒软件把这个病毒干掉,具体有没有干干净我也不知道了(菜是原罪)。

业务现在可以正常使用,socket连接也是正常的,没再发现可疑进程 。

但是,心里总是没底,最好的办法还是重装,这还需要评估下迁移和安装成本,主要不是咱们自己安装,也不知道…..

通过这个经历,发现自己还是太菜:
1、没有做好系统安全加固,没有安装杀毒软件啥的,主要是阿里云的云盾太贵…..
2、没有经常检查服务器,没做好日常巡检。
3、开放了没必要开放的端口(银行开的,我也不敢关,咋办?)。
4、对Windows服务器天生逆反之心。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10454

(0)
凯影的头像凯影
上一篇 2023年12月7日 下午3:35
下一篇 2023年12月8日 下午2:22

相关推荐

  • Linux下查找并删除挖矿程序实例

    症状表现 从外网连接服务器时,间接性断开特别频繁。在断开的时候,从内网也连接不上 排查方法 从链路等硬件方面去排查 通过zabbix监控的服务器的端口,发现这个服务器一直在间断性占用1000M带宽,实际客户购买的带宽15M,这就是客户间断性频繁断网的原因。 在排除了线路等相关问题后,将问题锁定在客户系统内。 在软件中排查 在Linux系统中,我们可以使用to…

    2022年6月14日
    1.5K00
  • 虚拟机中进行raid5测试部署

    raid5需要几块硬盘?答案:至少3块。raid5是独立磁盘冗余阵列(raid)种一种,它是用户数据和数据奇偶校验码轮流存储在所有磁盘阵列种的一种体系架构,根据raid5的工作原理,要实现raid5至少需要3块物理磁盘。 原理:每次存储数据时,数据被平均分配到n-1个磁盘中,随机选中一个磁盘生成校验码。当有一个磁盘坏掉时,还可使用其他磁盘进行热备份故障修复;…

    2022年8月16日
    1.3K00
  • CentOS7系统下将多个磁盘合并到根目录

    存在多个物理硬盘 可以理解为linux下的物理磁盘或者磁盘分区,如/dev/sdb(磁盘)、/dev/sdb1(磁盘分区,通过fdisk对/dev/sdb进行操作划分出来的磁盘分区,类似于windows下的C、D、E盘),但是和物理磁盘以及磁盘分区不同的是,物理卷含有和 LVM相关的参数 以下案例均是/dev/sda 为系统盘,/dev/sdb 为数据盘 创…

    2022年6月9日
    2.1K00
  • 多台服务器如何设置SSH免密登录

    本次测试需要服务器己安装好 ssh-keygen和ssh-copy-id。安装方式如下: 安装ssh-keygen和ssh-copy-id 1、在客户端机器上生成密钥,这里连续三个回车默认即可。 3、进入到/root/.ssh/目录下,查看是否生成密钥成功,这里一共生成三个文件,本次主要用到的是id_rsa.pub:私钥(本次实验用到的) 4、通过命令复制私…

    2022年6月16日
    1.6K00
  • Windows 操作系统命令行 netsh winsock reset 的作用详解

    这个命令是一个用于 Windows 操作系统中的网络故障排除工具,它用于重置 Winsock 相关的配置,以解决与网络连接和通信相关的问题。 命令解释: 使用场景:命令netsh winsock reset在以下情况下非常有用: 命令示例:假设您的计算机无法通过浏览器访问互联网。您可以按照以下步骤使用netsh winsock reset命令来尝试解决问题:…

    2023年8月28日
    2.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信