McAfee ePO4.0与客户端通信的过程

俺写本文的意图是观察McAfee ePO4.0与客户端通信的过程,并分析客户端各个组件安装的顺序和各部分所占用的网络带宽,以及通信中间所使用的协议。
感谢McAfee公司提供的ePO4.0及各桌面安全产品,感谢NG公司提供的Sniffer Pro 4.9 MR3,感谢VMware公司提供的VM WorkStation 6.0,也谢谢各位麦粉耐心的观看。。。。。。

一、测试环境
1、McAfee ePO 4.0的硬件平台:安装在VMware WK 6.0上,Intel 7100 CPU,1GB内存,10GB硬盘
2、McAfee ePO4.0的软件平台:Win2003 Ent SP1,IE6.0 SP1,SQL2005数据库,.NET 2.0,ePO4.0,CMA3.6.0.569,签入VSE8.5i(防病毒)、ASE8.5(反间谍模块)、HIPS7.0(主机入侵防护),工作组 环境,主机名:VM-071008,IP地址:10.0.0.202/24
3、客户端的硬件平台:双Intel Xeon 2.4Ghz CPU,4GB内存,36G SCSI RAID 1 硬盘
4、客户端的软件平台:Win2003 Ent SP1,IE6.0 SP1,工作组环境,主机名:Intel-e1000,IP地址:10.0.0.221/24
5、Sniffer Pro 4.9安装平台:T61,Intel 7100 CPU,2GB内存,Sniffer Pro 4.9 MR3
6、网络环境:10/100Mb普通交换机,100Mb连接。

二、分析步骤
1、从ePO Server推送Agent到客户端安装
2、从ePO Server推送McAfee桌面安全产品(VSE8.5i、ASE8.5、HIPS7.0)到客户端安装
3、客户端升级特征库和补丁
基于以上三个方面来分析主要是因为比较切合目前使用ePO的情况(因为国内多数网络环境内并未采用域),而这里面牵涉到的内容也是多数来麦粉的朋友所关心的。闲话少述,进入正题。

三、Sniffer抓包的设置
针对ePO Server(10.0.0.202)和客户端(10.0.0.221)进行双向IP地址过滤,过滤设置如下图所示:


四、从ePO Server推送Agent到客户端安装的情况分析:
1、从ePO Server推送Agent到客户端的设置,操作过程:选择“系统-->系统树-->选择相应的组织-->新建系统”,接着如下图所示:


2、点击“确定”后,开始推送Agent到客户端,咱们的Sniffer抓包也在此之前开始了。
在Agent推送完毕后(判断的依据是Agent在客户端安装的界面已消失,安装目录里多了McAfee\Common Framework目录,且Sniffer已没有再抓到新的数据),停止Sniffer抓包。咱们先来看看这一阶段抓包的统计:


整个推送过程大约持续了1分53秒(俺无法做到准确的开始和停止抓包动作,一是俺眼拙、手拙,二是需要判断什么时间才是真正开始和真正结束。实际上在Agent的日志里看到的本地安装时间仅有24秒),通信数据量约为4MB(注:这里是双向通信的总量)。

3、咱们再来看看这个推送过程中到底用了什么协议,如下图所示:


从Sniffer专家分析系统中,我们可以清晰的看到推送过程中用到了SMB(服务器消息块)协议,其中:
ePO Server发送了2次请求,共3,062Bytes数据
客户端发送了125次请求,共112KB数据
两者之间的SMB协议会话持续的时间为654毫秒。
再次感谢Sniffer为我们提供了这么好的专家分析系统,能够如此清昕、准确的分析出通信细节。

接下来我们再看在会话层发生了什么:


从Sniffer专家系统的会话层中,我们可以看到通信中使用了两个协议Netbios SSN(TCP139端口)和WINS(UDP137端口),其中WINS协议是用来名字解析(实际上是Netbios NS协议),而Netbios SSN是用来数据传输。在这个基于Netbios SSN数据传输中,ePO Server是发起端,它使用的是TCp1114端口,目的是客户端的TCP139端口。ePO Server传送了3867KB数据,而客户端则传送了39,399字节数据。

4、口说无凭,咱们再来看看实际的解码:

推送过程中双方建立连接是从第9个数据包开始的SMB通信(先是通过TCP445端口进行,后是TCP139端口),大家可以在这段通信过程中看到SMB 通信过程中使用到的命令:Negotiate Protocol、Setup Account、Tree Connect 、Create等等,由此可见SMB协议是多么复杂且通信繁琐,第32个数据包中,咱们能够清楚看到需要传输的数据是framepkg.exe。

通过ePO Server推送Agent到客户端的安装,咱们就分析到此。

五、Agent初始化通信过程中发生的:

除了通过ePO Server推送安装Agent是用的SMB和Netbios协议外,Agent与Server之间的通信都是以SPIPE over HTTP协议(SPIPE是McAfee的私有协议,是基于HTTP协议的)进行的,这里因为俺将ePO的服务端口(Agent to Server Communication)设置为8000,因此下面我们看到的通信都是在TCP8000端口上进行的。

1、ePO Agent在客户端安装完毕后,会初始化与ePO Server的通信,这个初始化通信会在安装后10分钟内随机产生,俺这次测试中,它在安装后的约5分钟后进行的。上一步中俺用Sniffer抓包的时间 是从1:36开始的(加上安装完毕的时间约1分半钟),而这次的抓包是从1:42开始的,如下图Sniffer的统计数据所示:


2、整个通信过程约持续了5分46秒,大家不免有些怀疑:初始化通信怎么会这么久?实际上,之所以持续了这么长时间,是因为在初始化通信之后,紧接着就发 生了下载策略、任务、更新、Agent下载安装中文语言包等过程,俺没法准确判断界定这中间的时间差,因此这段时间内主要包含了四个通信过程:初始化通 信、下载ePO策略和任务、更新、安装CMA中文语言包过程。
       实际结合ePO Agent的日志和Sniffer的解码可以看出,初始化过程仅持续了2秒钟,这个过程中发送Agent所收集到的客户端属性并从服务器下载一些数据(具体是什么数据因为是SPIPE加密的,无法从Sniffer中解析出来)。请见下图:


初始化通信中,Agent首先上传了自己的AgentGuid和收集到的属性,数据的文件名为C:\Documents and Settings\All Users\Application Data\McAfee\Common Framework\Unpack\pkg00128407021453420000_24953.spkg(该内容从Agent的日志中得知),该部分 上传数据总量为3822字节,所以分为3个HTTP包上传(以太网数据包分段的原因)。
接着,Agent从Server下载了总数19942字节的数据。

3、初始化通信结束后,接着发生了Agent下载ePO Server设定的策略和任务并进行更新。这段时间大约持续了约43秒钟,数据量为119,412字节。如下图所示:


4、下载CMA中文语言包进行安装,这段时间大约持续了1分48秒,传输了215,824字节。
判断下载CMA语言包的依据是,通信中看到了如下图所示的Get langpack/0804/PkgCatalog.z:


直到该HTTP会话结束,共传输了47个HTTP会话帧,如下图所示:



六、通过ePO Agent推送安装各种桌面安全软件(包括VSE、ASE、HIPS)并升级过程中发生的:

1、俺事前在ePO上签入了VSE8.5i With Patch4、ASE8.5、HIPS7.0,从McAfee升级网站升级了主资料库,并做好了客户端部署任务(安装这些软件),因此,Agent一旦安装完CMA中文语言包后不久就会自动安装这些软件。
       通过Sniffer观察大约在安装完语言包之后的1分钟左右就开始这个部署任务,部署的顺序是:VSE8.5i--ASE8.5--HIPS7.0--5200 Engine--Patch4--Dat病毒库(注意这里的顺序不是俺人为制定的,是ePO自动产生的)。
       整个过程持续了约17分钟,通信的数据总量约52MB,平均每秒49KB的通信量,可以说总体带宽的占用控制得相当不错。如下图所示:


2、因为这里客户端安装的产品比较多,而且安装过程也都类似,因此在这里俺仅拿VSE8.5i的部署进行分析:


从上图中,我们可以看出客户端向ePO Server请求了“GET /Software/Current/Virusscan8600/Install/0000/setup.exe”,接着ePO Server开始回应这个请求,并开始传输总共为16,954,272字节的这个安装包(说明通过ePO部署的VSE的安装包大约为16.5MB),并分 成3284个数据帧进行传输。

从上图的Sniffer统计中,我们可以看到:加上网络开销,VSE8.5i的推送安装总共在网络中传输了约18MB的数据,整个传输过程仅持续了约1.8秒,带宽占用79%。因此,我们可以得到这样的结论:在推送安装比较大的软件时,网络利用率会有瞬时突增,带宽占用还是相当可观的。因此也建议大家在大面积部署VSE8.5i时,尽量分时部署,不要一下就推送安装上百台的客户端,这样会让你的网络Overload的。

3、其它几个软件的推送安装情况如下:
ASE:传输数据量为283,740字节,传输时长为144毫秒
HIPS:传输数据量约为14.331K字节,传输时长约为2秒
5200 Engine:传输数据量为1,576,379字节,传输时长为287毫秒
DAT病毒库:根据升级的DAT版本不同有所变化,DAT5420传输数据量为9,913K字节,传输时长为1.417秒
Patch 4:传输数据量为6,603K字节,传输时长为1.048秒。

这里比较有意思的是HIPS的推送安装,它总共分了四次传输,按顺序分别是:
HTTP:   1: GET /Software/Current/HOSTIPS_7000/Install/0409/McAfeeHIP_ClientSetup.exe HTTP/1.0
HTTP:   1: GET /Software/Current/HOSTIPS_7000/Install/0409/McAfeeHIP_ClientSetup.msi HTTP/1.0
HTTP:   1: GET /Software/Current/HOSTIPS_7000/Install/0409/HOSTIPS.cab HTTP/1.0
HTTP:   1: GET /Software/Current/HOSTIPS_7000/Install/0409/WindowsInstaller-KB893803-x86.exe HTTP/1.0
因此俺上面的HIPS数据统计是根据这4次传输进行累加的,得出一个近似值。

七、加密情况分析

除了通过ePO Server推送Agent安装外,其它过程中都牵涉到数据通信的加密(并不是所有的数据都加密,比如上面提到的通过ePO推送安装VSE8.5i,部分 内容并不加密,我们可以看到客户端向ePO请求的数据GET /Software/Current/Virusscan8600/Install/0000/setup.exe),对于加密的数据Sniffer无法 解析出应用层内容,只能解析到传输层,如下图所示:


       至于ePO为什么不是对所有数据而仅是部分数据加密,俺的理解是这样的:对于分发部署和更新而言,数据传输量大且加密意义不大,为了效率没有必要加密,而 对更新的策略和任务,数据传输量极小且需要保护,应该是需要加密的。这仅仅是俺个人的猜测,并不代表就是正确答案,如有不同意见请指正。

       从以上的观察和分析中,整个过程持续了约半个小时,也就是说从ePO推送安装Agent开始到所有软件安装完毕并更新到当前病毒库,在非人工干预的情况下 所需的时长约半小时。所以如果大家在部署过程中,还是需要多点耐心,并不是一蹴而就的,尤其是一次部署多台客户端时更是如此。

你可能感兴趣的:(通信,职场,客户端,休闲,McAfee)