32-系统日志架构设计二(登录日志)
xiangliheart
xiangliheart
发布于 2022-06-10 / 12 阅读 / 0 评论 / 0 点赞

32-系统日志架构设计二(登录日志)

3种登录日志设计

登录日志是系统中的必要设计,不可以缺失,否则一旦发生纠纷则无法查证。例如,用户说自己并没有登录系统,而系统中却发生了一些购买、转账等行为。由于无法提供用户详细的登录行为信息,所以平台要承担管理责任。

用户的登录行为信息应该包含登录人、登录时间、登录地点、登录系统、登录方式等,从而完整记录用户在什么时间、什么地点、采用哪种方式、登录了哪个系统。例如,用户尹洪亮,在2020年12月31 日22点33分44秒,于北京西城区,采用手机短信验证码的方式登录了资金管理系统。

登录日志记录表的结构如表6-1所示,可以采用关系型数据库、文档型数据库进行存储。

表6-1 登录日志记录表的结构

6.2.1 利用登录日志进行安全检测

利用用户的登录日志,可以对账户的安全程度做自动检测,从而达到自动保护账号安全的目的。

通过对用户登录行为的分析,判定账户异常,从而触发账户冻结和短信通知操作。如图6-1所示,如果一个账号同一天之内在多个城市登录是违反常识的。例如,上午10点在北京登录,11点在上海登录, 12点又在长春登录,经过分析就可以判定用户账号异常,从而触发账号冻结操作,将当前登录用户全部踢出,同时给用户发送短信、邮件、微信等消息通知,告知账号由于在多地登录,存在安全隐患而被冻结,以及如何申请解冻。

图6-1 登录安全检测流程

这个分析的过程就是安全建模的过程,如果做得再精准一些,则可以根据城市之间的距离、各种交通工具的速度来进行计算,从而计算出最合理的风险等级。如表6-2所示,就是一种简单的风险评级模型。

表6-2 账户风险评级模型

例如,用户一天之内在两个城市登录基本可判定为低风险,而在两个以上的城市登录则判定为高风险,不同的风险等级可以触发不同的执行动作。

如表6-2所示,在登录地点和登录间隔时长这两个维度上,就可以建立起多种规则,用来界定账号的风险等级,对于不同的风险等级就可以触发不同的行为,以保证账户安全。

除了登录地点这个维度,还可以看用户是否频繁切换登录设备,是否频繁切换登录IP地址,是否频繁重试登录密码,等等。用户的风险模型建立得越完善,则安全性越高。

登录风险检测流程如图6-2所示。整个安全检测过程共涉及业务系统、安全中心和消息中心3个服务,用户在登录业务系统时,第一件事就是记录登录日志。然后去安全中心查询账号的安全状态。安全中心根据用户的登录日志实时计算用户本次登录的风险等级,并反馈结果。如果风险等级较低,则允许登录,否则冻结账号。根据不同的风险等级可能会给用户发送邮件、短信、微信、个推等消息通知,整个过程异步完成。

图6-2 登录风险检测流程

6.2.2 利用登录日志刻画用户

用户的登录日志经过指标化分析,就可以分析出用户的很多特征,利于建立用户画像,俗称给用户打标签,如图6-3所示。

图6-3 登录日志分析流程

如果一个人经常在晚上8点之后登录某业务系统,则基本可以判定他属于经常加班的人群,甚至可以根据登录系统的时间找到规律,他经常在星期几加班,是月初加班多还是月末加班多,甚至可以统计出其加班趋势图。

如果一个人每天都是上午9点~9点30分登录系统,则基本可以判定他是9点上班,属于朝九晚五的工作特点。

如果一个人经常变换登录地点,则基本可以判定他属于经常出差的人群。

通过登录系统的机型甚至可以判断出一个人的基本消费能力。例如,使用什么品牌型号的手机、什么品牌型号的计算机,而这些设备的价格又分布在不同的区间内,因此可以对这个人的消费观有一个大致的判断。

通过不同的登录方式还可以分析出用户的使用习惯。例如,喜欢使用PC端还是移动端,喜欢扫码登录还是手机验证码登录,进而对功能优化提供数据支撑。

对于用户画像的刻画是一个长期分析的过程,除了登录日志,还可以利用操作日志、退出日志、埋点日志、业务数据等。

6.2.3 登录日志客户化

登录日志除了在安全和用户刻画方面具有重大的价值,对于用户本身也具有重要作用。对于一个相对完善和严谨的系统,一般都具有登录轨迹查看和登录情况统计分析功能。这些功能是由用户自己使用的,与系统运营方无关。

如果用户可以查看自己近1个月、近3个月、近1年的系统登录情况(登录日志由于数据量较大,因此一般仅需要提供近1个月的登录情况,最长不超过1年),并形成完整的时间轴轨迹,甚至可以看到自己的本年度统计信息,如总计登录系统次数、最早和最晚登录时间等,这会给用户带来一种成就感,提升用户体验。用户登录轨迹信息如图6-4所示。

图6-4 用户登录轨迹信息

如果用户发现有异常的、非本人操作的登录情况,则也可以主动修改密码,或者提升账号的安全级别设置。

这还可以很好地规避用户与服务提供商的责任风险,用户的账号是否为本人登录,一目了然,用户可以截图留存作为证据。服务提供商也可以清晰地解释清楚,是否由本人登录。如果是本人账号登录的情况下造成的损失,则一般由用户自己负责,相当于用户对个人的账号和密码保管不善,服务提供商无责任。


评论