Splunk系列:Splunk搜索分析篇(四)

VSole2022-03-18 06:27:39

一、简单概述

Splunk 平台的核心就是 SPL,即 Splunk 搜索处理语言。

它提供了非常强大的能力,通过简单的SPL语句就可以实现对安全分析场景的描述。

这里,我们以Linux secure日志分析作为示例,进行安全场景的构建。

二、安全日志

我们先来了解一下Linux secure日志中比较常见的登录日志,如下两条登录记录作为示例:

#登录失败Thu Feb 08 2022 00:15:04 www2 sshd[1100]: Failed password for root from 142.162.221.28 port 4585 ssh2#登录成功Thu Feb 08 2022 00:15:05 mailsv1 sshd[74181]: Accepted password for nsharpe from 10.2.10.163 port 4245 ssh2

通过对比,我们可以找到几个关键信息,比如登录动作(成功/失败),用户名、ip地址等,可以通过编辑正则表达式将关键字段提取出来,以便进行搜索和分析。

新增字段提取:

三、安全分析场景

3.1 用户暴力破解

场景描述:用户账户在短时间内尝试大量的错误密码,即可视为用户暴力破解攻击。

安全策略:单一账号,5分钟内超过20次登录失败

sourcetype="secure*" action=Failed | bucket _time span=5m | stats count by user,ip | search count>20

3.2 爆破用户名最多的前10个用户名/ip地址

场景描述:获取暴力破解所使用的密码本,或者暴力破解的来源IP地址。

爆破用户名TOP 10

sourcetype="secure*" "failed password" |  stats count by user| sort 10 -count

爆破IP地址TOP 10

sourcetype="secure*" AND "failed password" |  stats count by ip | sort 10  -count

3.3 用户异地登录

场景描述:用户在短时间内多次异地登录,即可视为账号异常。

安全策略:1天内超过3个城市登录即可视为异地登录异常。

sourcetype="secure*" action="Accepted"| bin  _time  span=1d |iplocation  ip  | stats  values(ip) as ip  values(City) as City  dc(City) as src_count by  user|search src_count>3

3.4 账号共享

场景描述:同一个ip登录多个账号,以发现存在账号共享的用户。

安全策略:1天内同一个ip登录超过10个账号

sourcetype="secure*" action="Accepted" |  bin  _time  span=1d | stats count(user) by ip|  rename count(user) as User_count | search User_count>10

3.5 异常登录时间

场景描述:定义正常的服务器登录时间,如在正常时间范围之外登录,可提示告警。

安全策略:凌晨0点到早上8点内,登录成功的账号。

sourcetype="secure*" action="Accepted"  date_hour<8 | table _time,ip,user

3.6 异常IP登录

场景描述:定义正常的服务器登录地址,如在正常的IP地址之外登录,可提示告警。

安全策略:查找登录成功的用户列表,排除来自堡垒机的登录ip,就可以获取到违规登录行为。

sourcetype="secure*"  action="Accepted" AND ip!="10.1.*"  |  stats count by ip,user

3.7 整体用户登录情况

场景描述:用户整体的登录趋势应该是呈现规律性变化,如果某一天出现异常,就需要对引发问题的原因进行排查。

安全策略:查看每天登录成功/失败的次数,有了对照做参考,我们容易从数据趋势看到异常情况。

sourcetype=secure-* "password" | timechart per_day(eval(action="Accepted")) as success,per_day(eval(action = "Failed" OR action = "failed")) as Failed

splunk
本作品采用《CC 协议》,转载必须注明作者和本文链接
通过简单的SPL语句就可以实现对安全分析场景的描述。
Splunk 是一款功能强大的搜索和分析引擎,而字段是splunk搜索的基础,提取出有效的字段就很重要。 当Spklunk开始执行搜索时,会查找数据中的字段。与预定义提取指定字段不同,Splunk可以通过用户自定义从原始数据中动态提取字段。 这里,我们演示一下如何利用Splunk来提取字段。
Splunk支持多种多样的数据源,比如它可以直接上传文件,可以监控本地的任何目录或文件,也可以配置通用转发器等方式来完成数据接入。Splunk所有的设置都可以通过Web页面、使用Splunk CLI命令,甚至是直接修改配置文件,以此来完成设置。 那么,如何接入数据呢?我们通过两个比较常见的数据接入场景做个应用示例吧,即收集syslog 日志以及使用通用转发器(Agent)收集数据。
Splunk所有的设置都可以通过Web页面、使用Splunk CLI命令,甚至是直接修改配置文件,以此来完成设置。我们通过两个比较常见的数据接入场景做个应用示例吧,即收集syslog 日志以及使用通用转发器收集数据。点击开始搜索,成功获取到Windows事件日志。
Splunk 是机器数据的引擎,提供了日志收集、存储、分析、可视化展示为一体的一整套解决方案。借助Splunk进行调查和取证、威胁监测以及事件响应,以应对各种不同的安全挑战。
9月21日,思科宣布将收购网络安全公司 Splunk,这笔交易价值约 280 亿美元(2047 亿元人民币),收购价格为每股 157 美元。
思科对网络安全软件公司Splunk的收购不是一笔简单的交易,具有多个战略目的。这是思科有史以来最大的一笔交易,加强了其在网络硬件领域以外的力量,并巩固了其在网络安全和AI可观察性软件领域的优势。
2023年9月21日,思科(NASDAQ:CSCO)与网络安全软件公司Splunk(纳斯达克股票代码:SPLK)宣布达成一项最终协议。根据该协议,思科拟以每股157美元的现金收购Splunk,股权价值约为280亿美元。
VSole
网络安全专家