我的第一个OctoMation Playbook - flagify-com/OctoMation GitHub Wiki

本页将带你完成一个初步的剧本设计,展开右侧导航栏观看效果更好 ->_->

1. 构思逻辑

这个剧本的逻辑非常简单:只要给Playbook一个输入(IP地址),那么剧本将同时通过两个渠道去查询IP地址的归属地。如果IP归属地属于境外,则发送一条消息到钉钉群组。

image

2. 创建剧本草稿

在OctoMation剧本管理页,新建剧本,填写必要的名称和描述,然后通过拖拽方式设计剧本逻辑。本剧本主要涉及到“动作”和“规则”两种节点,按需选择。

image

🐙💡💡💡

双击画布中的节点卡片,进入草稿模式填写描述信息。

image 按照前面构思好的剧本逻辑,逐项拖拽生成剧本主框架,点击【保存草稿】按钮。

2.1 动作编排

在剧本草稿一节,我们重点用到了三个应用动作卡片,分别对应:QQ纯真IP数据库、MaxmindIP数据库和IM工具钉钉。接下来,我们将在剧本编排中逐个落实,将节点从草稿变成真实的应用。

2.1.1 设置QQ纯真数据库查IP

继续编辑剧本,点击第一个卡片【QQ纯真数据库查IP】,在弹出的应用列表抽屉的【所用应用】输入框中搜索“QQ”:

image 找到应用IP归属地-QQ纯真IP,点击图标,在弹出的动作列表中选择:获取ip归属地信息,然后在弹出的参数页,为ip地址指定一个信息来源字段。

image 按照剧本逻辑,此处选择【通用字段】中的sourceAddress作为入参。

image 完成选择后,保存卡片信息,进入下一个节点的编排

image

2.1.2 设置Maxmind查询IP

操作过程如上,搜索应用【GeoLite2】或【Maxmind】,点选相关动作即可,具体步骤同上,省略。

🔔注意动作配置界面,每个应用动作既有输入参数,也有输出参数。

image

2.1.3 设置钉钉群消息发送

过程如上,在钉钉应用发送消息界面,可以设置消息发送的内容。

🔔高级技巧:除了系统帮你选定的变量,你还可以在输入框中填写其它文本与魔术变量占位符一起组合使用。

此处,向钉钉发送消息的内容为:“发现境外攻击者IP地址:${CEF.src}”,其中${CEF.src}在正式发送之前会被替换成源地址对应的真实IP地址。

image 🚨注意,在这个动作卡片要求必须选择执行资源,也就是调用钉钉发送消息,具体发送到那个群?如果你是首次使用钉钉群消息发送功能,可以通过【新增资源】按钮配置一个钉钉群消息发送参数,主要是Webhook的URL、Token和Secret。

钉钉群消息机器人

2.2 使用规则

好的,恭喜你完成了三个动作节点的设置,接下来让我们继续对剧本中的判断规则节点进行配置吧。

首先,单击规则节点卡片,在弹出的菜单中选择【简单模式】,然后点击【新建规则】;

image 点击条件判断中第一条的【请选择参数】,从【QQ纯真数据库查IP】这个动作节点的所有出参中选择【国家/地区】;

image 判断条件选择不等于字符串“中国”,然后增加一个【并且】的条件:【Maxmind查询IP】节点卡片的出参【国家】不等于字符串“中国”,保存该规则;

image

点击【下一步】,保存规则节点信息。

image

简单模式下,满足匹配条件的第一条规则的输出值为1,系统会按照匹配条件执行剧本后续节点。

3. 剧本发布与测试

至此,我们完成了一个剧本草稿的实质性配置。

3.1 发布剧本

点击剧本画布右上角【发布】按钮,即可正式发布该剧本。

image 对比一下之前的剧本草稿图,你会发现,节点卡片中的所有⚠️警告信息已经消失了。你一定迫不及待地想要执行这个剧本了吧?

3.2 作战室执行剧本

让我们回到OctoMation作战室,新建一个安全事件处置的作战室,名称为:“IP地理信息查询测试”;

image 在新建作战室的输入框左下角选择“小册子”按钮执行剧本;

image 在弹出的剧本列表抽屉搜索选择【IP地址位置增强查询】,预览剧本流程图(可选)并选择执行,参数填写为示例IP地址:“8.8.8.8”;

image 之后,在作战室可以查看到剧本的执行情况。

image 点击剧本执行状态图可以查看可视化的剧本执行过程。

image

根据该剧本逻辑:8.8.8.8属于海外IP地址,告警消息已经同步发送到了钉钉群。

image

🎉🎉🎉恭喜你!终于完成了自己的第一个剧本,并顺利执行了该剧本。接下来请继续探索OctoMation剧本编排的高级使用技巧吧:)

4. 小结一下

本文档帮助您完成了OctoMation上第一个剧本的编排和执行,希望对你的学习有帮助。

通过上述剧本的编排和使用,我们已经该收到了剧本编排带来的好处:重复执行,标准化操作,节约时间,提升效率,降低对人员(技能、熟练度、记忆力,精力)的过度依赖,可以帮助事件运营团队将响应能力和运营水平始终维持在较高的水准上!

5. 教学视频

我们正在准备,稍后奉上。