查看原文
其他

用免费软件解决ESXi虚拟机被攻击后的溯源问题

Kevin杨 北京派网Panabit
2024-08-06


致谢

特别感谢本文原作者Kevin杨,他的深刻见解与分享精神为这篇技术分享注入了独特的魅力,也给我们带来了诸多启发。

*本文在编辑时有改动,所有修改均已征得作者同意。


IT人踩过的坑比走过的路还多,搞技术本身就是一个不断踩坑和填坑的过程。但有时踩坑,失之东隅,收之桑榆,当问题重重困扰,疑惑不解之际,新的应用场景或许就会柳暗花明般地浮现。


与“坑”相遇


故事要从ESXi安装Panabit说起。


笔者最早的需求,是想在ESXi上装一台Panabit,用来当iWAN POP点。所谓iWAN,是Panabit推出的私有隧道协议,可用于异地组网。


派网官方提供了Panabit安装包(参见https://www.panabit.com/download),下载安装即可。

派网官网下载中心


安装时,ESXi中网卡类型需要选择E1000e或E1000, vmxnet3无法正常识别。对于FreeBSD版本,SCSI控制器需要改成LSI Logic SAS。说句题外话,PVE上安装Panabit,网卡类型选择E1000。


整个安装过程还算顺利,但坑它说来就来。


流量一接入,Panabit的IP数和连接数竟然直接爆表了!问了很多人,排查许久后才发现,是ESXi网卡混杂模式的锅。

混杂模式


在VMware的ESXi虚拟化平台中,网卡混杂模式(Promiscuous Mode)是一种网络模式,允许虚拟机的网络适配器捕获和分析通过虚拟交换机的所有网络流量,而不仅仅是发送给虚拟机的流量。Hyper-V也有混杂模式,同理。


最终填坑的方法,是关闭ESXi网卡的混杂模式,然后将ESXi网卡的MAC地址填入Panabit 线路的克隆MAC栏位,这样就能只收到进入PA的流量,否则收到的会是所有虚拟机的流量,浪费授权。


“坑”的两面


同样的“坑”,在这里是坑,但换一个地方,就有可能打开新世界的大门。


笔者所管理的网络,发生过几次ESXi虚拟机被攻击的事件,每次只能在收到用户报修,或是Zabbix发现异常流量后,再登入到虚拟机上查询攻击来源。由于Zabbix只有流量记录,如果在被攻击时没有及时找出攻击点,事后其实是无法回溯的。


正好之前弄了一台派网的EX100C玩了一阵子,发现派网的NTM对于流量会话数据包有着完整的记录,这是探针系统跟大部分的机房网络设备无法做到的。于是就想着把NTM装到ESXi来记录虚拟机的流量会话,最早的想法是记录下遭受攻击时被攻击的虚拟机以及攻击的来源跟方式。


安装的过程就不再赘述了,官网也有标准版(免费版)NTM安装包。


设置网卡时,笔者又想起了上次装PA遇到的混杂模式的坑,突然转念一想,在混杂模式下,如果PA收到的是所有虚拟机的流量,那NTM这样设置,岂不是就可以监控所有的虚拟机了?

*编者注:与Panabit限制IP数与连接数的授权方式不同,NTM的授权仅限制存储带宽与存储空间,因此不会存在像之前那样授权爆表的情况。


说干就干,安装完毕后,使用同虚拟容器中其他虚拟机PING网关。


可以看到,NTM上能够查看该虚拟机的ICMP报文交互,代表NTM已经能够监测其他虚拟机的流量交互


总的来说,在没有NTM之前,当系统遭受攻击时,我们只能在ESXi平台上查看流量异常的虚拟机,来判断是哪一台受到了攻击。然而,关于攻击的具体手法和来源却难以确定,因为需要登录受攻击的虚拟机做进一步的调查。但问题在于,受到攻击的虚拟机通常无法正常登录,只能选择关机,这进一步加大了调查的难度。况且,Linux系统本身的日志并不能提供足够详细的信息,也缺乏适用的探针系统来执行这样的任务。


综上所述,可以得出结论:利用网卡混杂模式的设置,NTM完美地弥补了ESXi虚拟机管理中的这些缺陷。它使我们能够全面监测网络流量,不仅能够及时发现异常,还能提供详细的攻击信息,从而为系统安全提供可靠的支持。


还有惊喜?


上面所说的场景,针对的是南北向流量,即同虚拟容器中,各虚拟机进出服务器的上下行流量。那这个场景中,又能否检测各虚拟机之间的东西向流量交互呢?


答案是可以!


还是上面的场景,NTM开启网卡混杂模式,使用同虚拟容器中另外两个虚拟机互PING。


转到NTM上,可以看到它们之间的ICMP报文交互,代表NTM已经能够监测其他虚拟机东西向流量交互


本来NTM能够监控到其他虚拟机的流量,就已经很让笔者感到惊喜了,没想到最后竟然还解锁了东西向流量监控的隐藏场景。


笔者在两台ESXi上都装了NTM,运行了几天,还没把NTM玩透。虽然受限于标准版本身的授权限制,记录时长不是很久,不过已经是超乎笔者预期的满意了,强烈推荐手上有管理ESXi服务器的每台都装个NTM



最后再附上一些安装标准版NTM的小Tips:

● 安装的最低配置为:

    CPU:>=2核

    内存:>=4GB

    硬盘大小:>=256GB

    网卡数:2个

    网卡类型:E1000e

这里建议硬盘大小设置为300G,因为标准版存储数据包的限制是256G,可是NTM还有log的空间,300G正好给数据包256G,最大化白嫖授权


 虽然NTM有所谓的混合模式,能自动侦测内外网及上下行流量,不过安装在ESXi上面实测还是不够智能。所以我们不开启混合模式,而是到应用识别-引擎参数的地方将伪IP防护功能打开,并且手动将ESXi上面所有虚拟机的IP加入合法IP列表。


 由于标准版有储存带宽100M的限制,所以我们需要到溯源分析-数据留存策略中,把抓包数量由全量改小。实测将抓包数量改为10的话,100M的储存带宽限制应该够10G的带宽使用。


● 既然上了NTM,怎么可以不把威胁情报用起来呢?到威胁情报-情报管理的地方把自动同步打开。


 基本设置完成后,可以丢着先监控个半天一天,收集点数据,然后上NTM看看抓包数量需不需要调整,记录保存时长符不符合自己需求,然后按照实际场景需求看看有哪些告警项需要打开,NTM支持了蛮多的告警通知方式,包括微信、钉钉等。



编者按

塞翁失马,焉知非福。踩坑似乎是每个IT人的必经之路,但每一个曾经的技术困境都为新的发现敞开了大门。再次感谢原作者Kevin杨的精彩分享,发现了我们厂商自身都没有注意到的新应用场景。我们也欢迎更多IT人分享自己的使用心得,一起迸发出更多的创新火花。


往期精选

继续滑动看下一个
北京派网Panabit
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存