APP下载

基于流量的高校VPN用户访问行为分析

2019-01-09赖清楠郭强钱杰

中国教育网络 2018年11期
关键词:用户数IP地址日志

文/赖清楠 郭强 钱杰

VPN在高校中的广泛使用,极大方便了高校师生校内资源、电子期刊、学术资源的获取。用户使用学校统一身份认证登录VPN后,会随机获得校内VPN IP地址池的某一个IP,再去访问资源的时候就和校内用户没有任何的差别。然而,VPN系统仅仅是记录的用户的登录日志,并没有用户的访问日志,VPN系统分配给下一个VPN用户的IP地址可能是上一个VPN用户使用过的IP地址,从而就很难知道下一个用户登录VPN之后,访问了哪些资源。

如果用户身份认证账号泄露,被用来恶意访问学术资源,将可能会导致VPN地址池中的IP被封禁,同时会给学校带来负面的影响,下一个VPN用户如果获取到这个IP地址的话,将无法正常获取所需的学术资源。因此分析VPN用户的访问行为,有助于VPN用户的管理以及问题的发现与解决。

研究现状

日志分析方面,本文主要收集的是VPN的登录日志,从日志中提取出与用户登录相关的信息。武凌[1]设计了一个基于Hadoop的VPN访问日志分析平台,获取VPN的日志,并且将VPN日志与流量进行关联,根据不同情境的管理需求产生所需的轨迹追踪报表,找出资源滥用者和潜在的安全威胁。系统虽然将VPN日志与流量进行关联,但是应用场景在于公司等小型管理部门,数据流量并不大,并且用户登录VPN之后流量单一,分析较为简单。韩瑞丁[2]将VPN日志从VPN系统中导出并且存入数据库,进行查询搜索,得到VPN每小时登录次数排行、用户登录VPN排行等分析结果。仅仅分析了VPN的登录日志,而没有将登录日志和流量数据进行关联,进一步分析用户的行为。Visbal A[3]使用VPN登录日志从安全角度来分析,比如某个VPN账号登录失败次数过多的话,说明这个VPN账户有可能受到攻击。

用户行为分析方面,本文将VPN登录日志和流量数据,按照IP地址和时间进行匹配,分析VPN用户在登录之后的行为。李威[4]通过检测、分析移动互联网络底层数据包,通过深度包分析获取用户访问页面并采用分类算法得到用户行为特征,实现了移动互联网用户行为数据的采集、处理及用户行为分析的仿真实验,本文所关注的主要是VPN用户的访问行为,比如访问数据库资源,与一般用户的行为有所区别。Zhao D[5]提出了一种基于分类的流量分析方法,用于检测僵尸网络的活动,在VPN用户中,VPN账号如果被盗用的话,VPN用户的行为必然也会有所异常,因此也能够间接找出VPN用户中的安全隐患。Li Y[6]和Yang J[7]主要探索研究了移动用户的用户行为,前者比较了不同系统Android、iOS和Windows Phone在行为方面的不同和相似之处,后者从数据使用,移动特征和App情况进行分析, Liang S S[8]提出了一种基于不同地域的用户行为分析方法。

数据获取及预处理

用户在登录VPN的过程中,会有一台负载均衡设备将用户的请求分配到不同的服务器上,再通过VPN服务器接入交换机,进行校内或者校外资源的访问,流程如图1所示。

图1 VPN用户资源访问

本文的数据主要包括两部分,一部分是从VPN系统里面的VPN登录日志,按照如下格式提取出需要的信息,用户账号,用户IP地址,登录后IP地址,登录时间,退出时间。如下所示,登录日志大约50M每天,本文收集一周的VPN登录日志,每天存一个VPN登录日志文件。

***12136**,***.**.111.182,***.**.112.71,2018-07-24 00:00:04,2018-07-24 00:00:28

另一部分是用tcpdump从校园网出口上抓取的流量数据包,提取出源IP,目的IP,目的端口,域名,路径,包大小,并且加上数据包捕获的时间,如下所示。流量日志大约1G每分钟,每分钟存一个流量文件。

2018-07-24 00:00:05,***.**.112.71,***.***.131.195,80,***.pku.edu.cn, /about/index.htm,120

VPN用户登录分析

VPN用户登录分析,从每日不同用户数、最高同时在线用户数、VPN使用时长、登录失败四个方面进行分析,前三个方面对于VPN服务器负载的调整、license的购买提供参考,登录失败行为分析,可以找出一些潜在的VPN账号密码泄露风险。

每日不同用户数

从每天的VPN日志中,提取去一天当中的VPN用户列表,对列表进行去重,得到每日使用VPN的不同用户数,图2为从2018.7.9~2018.7.15每日用户数情况,每日用户数最高达到了将近2600,这对于服务器负载均衡的调整,有一定的参考价值。

图2 每日VPN用户数量

每日同时在线用户数

对于同时最高用户数的计算,采用的是以秒为单位的时间窗口滑动的计算方法。算法过程如下:

1 basetime = 1531584000;

2 maxcount=0;

3 for s=0;s<86400;s++;

4遍历所有VPN用户

5 if 登录时间>=basetime+s and 登出时间<basetime+s

6 当前在线用户数++

7 if 当前在线用户>maxcount

8maxcount = 当前在线用户数

9 end

图3为2018年7月9日~2018年7月15日之间最高同时在线用户数,可以看出,每日最高同时在线用户数在350左右,最高能达到近400,最低在250左右,图4为2018年7月15日最高在线用户数随时间的变化趋势,基本上从早上10点到晚上10点是使用VPN的高峰时间,与教师学生工作时间基本上保持一致,而且在这段时间内VPN用户数量基本稳定在一个较高的水平。了解最高同时在线用户数,可以为VPN服务器license的购买提供参考。

图3 每日同时在线最高用户数

图4 最高同时在线用户数变化趋势

使用时长

定义VPN使用时长为用户登出VPN的时间减去登录VPN的时间。如图5所示为2018年7月10日中,用户VPN使用时长情况分布,这里统计的是一次的使用时间,比如某个用户退出VPN之后,再次连接VPN使用,则统计了2次。80%的用户使用VPN的时间都在1个小时以内,极其少数的用户使用VPN时间特别长,甚至超过10个小时,通过日志找到这部分用户的ID,如表1所示。

失败登录

图5 用户VPN使用时长分布

表1 使用时长前10用户列表

除了用户登录成功的日志,还有一部分需要重点关注的是VPN的登录失败的日志,特别是认证失败的情况,有可能是在尝试破解用户账号的密码。表2所示的是7月15日一天内登录失败次数前10的VPN账号,大部分的失败验证都发生在晚上22:00~23:00之间,从登录失败的IP地址来看,属于运营商动态分配的IP地址。表中最后一列表示,在尝试登录失败之后,是否有登录成功的日志,如果有的话则说明账号极大可能密码已经泄露,因此需要及时提醒用户修改密码,可以为VPN安全防护提供参考。

VPN流量分析

通过抓取校园网出口上的流量来分析用户的行为,用户在连接VPN之后,访问的主要是学术资源。北京大学图书馆购买的数据库列表(http://dbnav.lib.pku.edu.cn/),共 845个数据库,从VPN流量中过滤出访问这些数据库的流量,2018年7月15日一共访问了845个中的103个,访问次数超过10次的有21个。中国知网访问次数更是达到了150次,如表3所示,这对于图书馆数据库的维护购买可以提供一定的参考。

表2 失败登录次数前10的账号和IP

表3 数据库访问次数排名

表4 数据库下行流量排名

用户在访问数据库主要进行学术资源的检索以及下载,进一步分析各个数据库的流量大小。如表4所示为数据库下行流量大小,可以看出,访问次数多,但是相应的流量不一定大,下行流量可以一定程度反应用户对各个数据库的使用情况。

VPN用户行为分析

VPN方便了校外用户对校内资源的访问,但同时也造成了管理上的一些麻烦,用户登录VPN系统后,将从VPN地址池中随机分配一个IP给用户,当用户退出VPN后,IP地址将释放,VPN服务器只是记录了用户的登录日志,登录日志里面提供的信息有限,很难知道用户登录VPN之后,访问了哪些网站,下载了哪些学术资源等等。因此将VPN登录日志与流量行为,按照时间进行匹配,明确哪个用户访问了哪些资源,能够给管理带来很大方便。

登录日志提供了用户账号,用户IP地址,分配后的IP地址,登录时间,退出时间。可以从流量中提取到的是,源IP地址,目的IP地址,目的端口,域名,路径,包的大小等信息。本文以时间和IP地址作为key来将两者进行匹配,登录日志中有两个时间,登录时间,退出时间,那么在登录时间和退出时间范围内,流量中源IP地址与登录日志中分配后的IP地址相匹配的访问,就是登录日志中该用户账号产生的行为,具体算法如下:

1. for line in vpn_log:

2. for line in vpn_flow and flow_time>= vpn_login_time and flow_time<=vpn_logout_time:

3. if vpn_flow_sourceip = vpn_log_login_ip:

4. vpn_flow = vpn_flow + vpnaccount

5. end

单个VPN用户行为

表5 某账号对外访问情况

为每条流量加上用户账号标签之后,就能够轻松分析出VPN用户的行为。以使用时长排名第2的账号为例,通过分析流量,得到如表5所示,访问域名数量157,但是却并没有访问数据库资源。

表6为该用户访问域名上行流量的排行,表7为访问域名下行流量排行,这些域名当中有阿里巴巴、淘宝、百度、搜狐等,并没有一些异常的域名。该账号虽然连接VPN的时间比较长,但是并没有下载任何的数据库当中的论文,所访问的域名也属于正常域名,因此可以认为该VPN用户行为并没有异常。

整体VPN用户行为

对2018年7月15日用户访问数据库行为进行整体分析,90%的用户访问数据库数量在4个以下,访问次数在6次以下。表8为用户访问数据库数量排名,表9为用户访问数据库次数排名,从数量和次数上看,最高的用户访问了20个不同数据库,总共访问了35次,这个数量还在正常范围之内。用这种方式可以监测用户访问数据库的行为,如果出现访问次数过高、访问数据库数量过多,则该账号可能出现异常。

表6 上行流量排行

表7 为访问域名下行流量排行

表8 访问数据库数量排名

表9用户访问数据库次数排名

本文对VPN用户的访问行为进行分析,获取了VPN用户的登录日志,以及在出口网关处抓取了相应的流量。取得的主要成果如下:

1.获取VPN用户的登录日志,从每日不同用户数、最高同时在线用户数、VPN使用时长、登录失败等方面进行分析,结果可以为VPN服务器负载调整,VPN license购买提供参考,还可以找出一些可能被盗取的VPN账号。

2.从校园网出口的流量中,统计了VPN用户对学术资源的访问情况,为图书馆学术资源的维护购买提供一定的参考。

3.将VPN登录日志和流量按照时间和IP地址进行匹配,掌握每个用户登录VPN之后的访问行为,分析了某一天VPN使用时长最长的用户,以及整体VPN用户对学术资源的访问情况,可以发现一些潜在的异常VPN账号。

由于从校园网出口抓取的流量,仅仅是有VPN用户访问校外资源的情况,并没有对校内资源的访问进行分析。下一步,我们将对VPN账号的访问分析,做成常规化的系统,对VPN用户的行为进行监测,如果有异常则及时提醒管理员进行处理。

猜你喜欢

用户数IP地址日志
一名老党员的工作日志
我国IPTV总用户数3.07亿户,同比增长6.7%
扶贫日志
铁路远动系统几种组网方式IP地址的申请和设置
雅皮的心情日志
雅皮的心情日志
公安网络中IP地址智能管理的研究与思考
《IP地址及其管理》教学设计
支付宝用户数达到两亿