运维必看:日志标准化必须面对的 4 类问题

朱林 高效运维

运维必看:日志标准化必须面对的 4 类问题

文章插图
 
作者介绍:朱林,日志及数据分析专家,《Elasticsearch技术解析与实战》作者,对安全技术、数据分析有较深的研究,拥有15年数据分析及安全产品开发经验 。
引言在很多安全分析类产品建设的过程中都会涉及到关联分析,比如日志分析、soc、态势感知、风控等产品 。之前的文章中阐述过五种最常见的关联分析模型,在文中也介绍了:要想达到很好的关联分析效果,前提是对采集过来的日志进行标准化解析 。解析的维度越多、内容越准确,对关联分析的支撑性就越强 。下面就来介绍一下日志解析的一些常用内容 。
一、概述很多公司在自己的产品介绍中描述产品有多少种日志解析规则等等,当然,这种内置的解析规则对这类产品发挥了很重要的作用 。但这种方式也存在一些问题:
【运维必看:日志标准化必须面对的 4 类问题】首先,经过时间的推移就会发现,每年市场上都会产生不少的新的安全设备和型号,导致厂家很难实现全部预制好的解析规则;
其次,很多设备会经常升级,升级后会导致日志种类的增加和调整;
最后,很多设备的日志种类非常之多,如果全部内置到系统中,几乎是不可能完成的任务 。所以大多数的产品,只内置了部分的日志解析规则 。比如思科ASA防火墙日志从官网看就有好几百种日志格式,如果内置都解析,是很大的工作量,何况有时候也没有必要全部解析 。
运维必看:日志标准化必须面对的 4 类问题

文章插图
 
根据以上分析可以得出,只在产品中内置默认的解析规则是不够的,在很多时候需要根据客户的实际环境进行调整 。这种情况下,日志解析的灵活性、准确性、扩展性就显得非常重要了 。下面介绍一下日志解析中常用的内容:
二、日志解析关键点标准化解析,也叫范式化解析,解析的目标是把日志中的直接信息和间接信息解析出来,作为单独的字段进行存储 。对应数据库中就是“列”的概念 。传统上来说,存储大多用关系数据库,比如:oracle、MySQL 。随着大数据平台的发展,最近几年,存储都是放在大数据平台上的,比如:hive、,elasticsearch等 。下面举个linux下一条常用的登录日志作为例子:
  •  
May 22 17:13:01 10-9-83-151 sshd[17422]: Accepted password for secisland from 129.74.226.122 port 64485 ssh2从这个日志中就可以看到很多的信息,比如直接信息包括:
  • 登录时间:May 22 17:13:01;
  • 主机名:10-9-83-151;
  • 进程名:sshd;
  • 进程ID:17422;
  • 事件类型:登录(这个是根据内容分析出来的);
  • 登录用户:secisland;
  • 源ip:129.74.226.122;
  • 端口:64485;
  • 协议:ssh2 。
间接信息主要包括:直接信息中体现不出来,但通过客户环境的其他信息可以得到的信息,比如:
资产信息:通过设备IP地址可以得到设备的网络域环境、所属业务系统、部署的机房位置、设备管理人员等信息;
账号信息:通过登录账号信息可以得到这个账号授权给哪个人、账号是否有效、账号创建时间等信息 。源ip相关信息:如果是公网,可以得到IP的地理信息,包括国家省市、IP的经纬度、从情报中可以得到这个IP是否是高危IP等;如果这个IP是内网,可以得到这个IP的部署位置、分配给哪个人、网络域信息、业务信息等 。
通过上面分析后,把每个字段存储到数据库中,这样日志的信息就很丰富了,为后面的关联分析、统计报表等打下了坚实的基础 。
解析的关键点如上所述,但在日志解析的实际操作阶段有几个不可回避的问题:
  • 预解析和后解析;
  • 自定义解析的灵活性;
  • 自定义解析支持的灵活性;
  • 自定义解析的效率 。

运维必看:日志标准化必须面对的 4 类问题

文章插图
 
2.1 预解析和后解析预解析的主要含义是,在入库之前把所有维度的信息预先解析出来,然后进行入库;后解析的主要含义是反过来的,就是刚开始只入库原始日志等基本信息,后面需要进行搜索、告警、报表等操作的时候再解析,把需要的维度放在内存中进行分析 。
预解析的优势是预先把维度存储到数据库中,使后面的操作更加便捷,劣势是需要额外占用存储空间,并且当预先解析内容不准确或者内容有变化的时候,无法进行下一步的分析(比如账号信息发生了变化);后解析的优缺点正好和预解析相反 。目前市场上绝大多数的产品都是预解析,纯后解析的产品几乎没有 。


推荐阅读