某局点VPN登陆TSM问题分析

发布时间:  2012-07-19 浏览次数:  102 下载次数:  0
问题描述
部分用户反馈,在外网使用VPN拨入内网进行TSM Agent 认证后,隔一段时间就会被踢下线。在TSM服务器上查看这些用户的上线记录,发现这些用户的登陆IP均为127.0.0.1。由于同一个IP只能有一个用户上线,因此已经上线的用户就会被踢下来。
告警信息
处理过程

A 使用3层VPN接入方式

建议在VPN Server上配置针对TSM Server的VPN策略,对于TSM Server启用3层VPN的接入方式。即不采用SSL应用层VPN隧道,而是使用基于虚拟网卡的3层VPN方式。这样在终端计算机上,TSM Agent就能显式连接到TSM Server,获得自身唯一的网络通信IP地址。
具体需要参考VPN配置手册。

B 在TSM Server上打补丁

由于TSM Agent上报到TSM Server上来的IP地址均为127.0.0.1,可以在TSM Server端将此IP人为改为其他IP(只要不冲突),这样就不会存在Session冲突,导致用户被踢下线的问题。
风险:
  1. 此方法需要打补丁;
  2. 由于终端的IP依旧不正确,TSM Server向TSM Agent的推送业务将不生效,如涉及ftp下载的补丁管理业务。
  3. 这种VPN业务模式决定了服务器无法主动向客户端发起连接,因此无法支持服务器主动推送功能。
根因

A 信息采集

分析上次TSM Agent采集的终端日志,观察如下两个进程的网络连接情况:
SecoDaemon.exe TSM Agent的主进程 C:\Program Files\Huawei\TSM Agent\bin\SecoDaemon.exe 1928
360se.exe 浏览器进程,VPN的宿主进程 C:\Program Files\360\360se3\360se.exe 3296
       注意:VPN客户端是以ActiveX控件的方式寄存在浏览器进程中运行的。
使用netstat查看到的网络连接情况(部分):
Proto    Local Address          Foreign Address        State                PID
  TCP    127.0.0.1:1912         127.0.0.1:4040         ESTABLISHED     1928   
  TCP    127.0.0.1:4040         127.0.0.1:1912         ESTABLISHED     3296
 
  TCP    127.0.0.1:4040         0.0.0.0:0              LISTENING                  3296
 
  TCP    192.168.1.2:1914       219.146.0.132:443      ESTABLISHED     3296
  TCP    192.168.1.2:1972       219.146.0.132:443      ESTABLISHED     3296
  TCP    192.168.1.2:2025       219.146.0.132:443      ESTABLISHED     3296
  TCP    192.168.1.2:2028       219.146.0.132:443      ESTABLISHED     3296
  TCP    192.168.1.2:2030       219.146.0.132:443      ESTABLISHED     3296

B 网络连接分析

VPN用户的TSM Agent并不是直接连接到TSM Server的,而是中间被做了两次路由转换,总共包括如下5步。

Step 1:用户使用VPN拨号接入内网;
Step 2:TSM Agent发送认证请求报文到TSM Server;
Step 3:TSM Agent的报文被VPN客户端(127.0.0.1)拦截住。VPN客户端并没有直接转发报文发给TSM Server,而是将TSM Agent的报文再次封装成一个SSL报文;
Step 4:VPN客户端将此SSL报文发给VPN Server(219.146.0.132);
Step 5:VPN Server解析报文,转发给TSM Server。TSM Server处理此认证请求,回复相应的报文。
 
从以上步骤我们不难发现问题在于Step 3,终端计算机上所有发往内网的报文都会被VPN客户端截获,源地址被VPN替换为127.0.0.1。因此对于TSM Agent而言,其获取到地址也是127.0.0.1,而非实际分配的NAT地址192.168.1.2。
大部分VPN客户端,在建立VPN隧道时,会得到VPN Server分配的虚拟IP地址,不会重叠。在这类VPN应用上,TSM Agent并不会出现IP均为127.0.0.1的问题。

建议与总结

END