免责声明:
禁止用于非法用途,一切违法行为与作者无关。 所有插件的使用均符合国家相关法律法规,网络安全法等,我方遵守开源协议及 APP 厂商的相关要求。
什么是 W5 SOAR
W5 是一款基于 Python
开发的安全编排与自动化响应平台,为了企业安全做出了精心的打造,无需编写代码即可实现自动化响应流程,可节约企业 80% 的成本。
- 无代码 : 无需编写代码,即可让企业内部人员快速实现事件响应。
- 扩展强 : 提供插件模块,可以扩展让所有的应用平台集成 W5 自身插件
- 自动化 : 提供
Webhook
、Mail
、用户输入
、API
等入口,无需人工即可实现全部流程
架构图
安全能力编排化
通过平台的可视化工具,基于应用的基础上编排出实际中企业可落地的场景剧本,实现无人值守全自动化操作
- 应用(Application)是指企业和组织安全运营过程中需要用到的各种安全设施通过 API 或 GUI 暴露出来的功能,经过标准化统一封装后形成的安全能力,并以服务的方式对外呈现出来。应用执行的最小操作单元是动作,即这个应用中所包含的操作指令。通常,一个应用包括多个动作(Action)。
- 安全编排(Security Orchestration)是将企业和组织在安全运营过程中涉及的不同系统或者一个系统内部不同组件的安全功能通过可编程接口(API)封装后形成的安全能力(即应用)和人工检查点按照一定的逻辑关系组合到一起,以完成某个特定的安全运营过程和规程。安全编排是将安全运营相关的工具/技术、流程和人员等各种能力整合到一起的一种协同工作方式。
- 剧本(Playbook)是安全运营流程在安全编排系统中的形式化表述,通常是在编排器中的工作流引擎驱动下执行。编写剧本的过程就是将安全运营流程和规程转换为剧本,并在剧本中将各种应用编排到一起的过程,也是将人读安全运营流程转换为机读工作流的过程。
实际应用场景
- 通过蜜罐系统获取到了黑客的 IP ,通过 W5 SOAR 执行自动化封锁阻止黑客入侵,无需人工干预。
- 对接情报系统,发现企业内部有危险文件 (木马),通过 W5 SOAR 执行自动化阻止木马的执行,随后进行分析
- 服务器告警后,可以通过 W5 SOAR 分析因为什么告警,随后执行对应的剧本执行修复操作。
- 白帽子通过 W5 SOAR 实现自动化渗透测试,降低人工成本
- 运维团队,通过 W5 SOAR 实现告警自动修复处理
Docker 部署
- Docker hub :https://hub.docker.com/repository/docker/w5team/w5
下载镜像
代码语言:txt复制docker pull mysql
docker pull w5team/w5
使用 Docker 的 Mysql
代码语言:txt复制# 下载 W5,进入到 Docker 目录,需要配置 Mysql
git clone https://github.com/w5teams/w5.git && cd w5/docker
# 启动 Mysql,name 为 W5_MYSQL,Nysql 初始化大概需要 5-10 秒左右
docker run -d --name W5_MYSQL -p 3307:3306 -e MYSQL_ROOT_PASSWORD=w5_12345678 -v $PWD/sql:/docker-entrypoint-initdb.d -v $PWD/conf.d:/etc/mysql/conf.d -v $PWD/mysql_db:/var/lib/mysql mysql
# 启动 W5 SOAR, --link W5_MYSQL
docker run -itd --name W5_SOAR --link W5_MYSQL -p 8888:8888 -e MYSQL_HOST="W5_MYSQL" -e MYSQL_DATABASE="w5_db" -e MYSQL_USER="root" -e MYSQL_PASSWORD="w5_12345678" -e MYSQL_PORT="3306" w5team/w5 /root/start
W5_MYSQL 参数说明:
- --name :启动 Docker 的名称,默认 W5_MYSQL
- -p :映射服务到本地的端口,宿主机端口:Docker端口
- -e MYSQL_ROOT_PASSWORD :设置 Mysql 服务密码
- -v $PWD/sql:/docker-entrypoint-initdb.d :找到 docker 目录下的 sql 文件进行初始化,创建
w5_db
数据库 - -v $PWD/conf.d:/etc/mysql/conf.d :找到 docker 目录下的 conf.d 文件进行配置 Mysql
- -v $PWD/mysql_db :数据持久化,不加此项重启数据就会丢失
W5_SOAR 参数说明:
- --name :启动 Docker 的名称,默认 W5_SOAR
- --link :连接 Mysql 镜像
- -p :映射服务到本地的端口,宿主机端口:Docker端口
- -e MYSQL_HOST :Mysql 地址,设置自己的 Mysql 服务地址
- -e MYSQL_DATABASE :Mysql 数据库
- -e MYSQL_USER="root" :Mysql 账号
- -e MYSQL_PASSWORD :Mysql 密码
- -e MYSQL_PORT :Mysql 端口
访问 W5 SOAR
- 访问地址:
ip:8888
, (访问不了请检查服务器防火墙) - 账号密码: 账号:
admin
,密码:12345678
(登录后请及时修改密码)
Hello Word
- 打开剧本列表 -> 创建一个新的剧本(Hello Word)
- 编辑应用参数
- 执行剧本
- 查看执行报告
远程执行 Linux 命令
- 创建一个 Linux 远程执行 的 剧本,可以通过 用户输入 命令执行
- 编辑 应用参数,此处使用了APP 变量,可以获取到用户输入的命令
- 执行剧本 , 输入命令
- 执行成功
- 查看报告
总结
本文简单介绍下 W5 SOAR 的使用,下期会带来如何在企业内部实战中落地。
W5 SOAR 目前支持,全局变量
、局部变量
、APP 变量
、条件分支判断
、WebHook
,另外支持企业内部 APP 编写,完全可以在生产环境使用。
直达连接
- 官网:https://w5.io
- 文档:https://w5.io/help/ (文档有完整的教程)
- Github: https://github.com/w5teams/w5 (感觉项目好的请来个 Star)
- Gitee: https://gitee.com/w5team/w5 (感觉项目好的请来个 Star)