ZBN SOAR介绍
ZBN SOAR是什么?
ZBN SOAR是安全编排的自动化响应平台,将安全产品以及安全流程链接整合起来,通过预定义的工作流(Workflow)和剧本(Playbook)来标准化事故的调查处置流程,提升威胁响应的自动化程度和执行效率。
ZBN SOAR的价值
- 缩短应急处置安全事故的时间
- 减少和优化传统SOC中不必要和冗余的工作
- 安全产品整合的API加速了自动化
- 丰富的安全数据服务:威胁情报平台TIP
- 提高告警分析的质量和侦测发现能力
- 提高工作精准度,安全运维流程的文档化以及证据的管理
- 减少培训新安全运维分析人员的代价
- 整体提高衡量和管理安全运维的能力
ZBN SOAR是什么?
ZBN SOAR是安全编排的自动化响应平台,将安全产品以及安全流程链接整合起来,通过预定义的工作流(Workflow)和剧本(Playbook)来标准化事故的调查处置流程,提升威胁响应的自动化程度和执行效率。
ZBN SOAR的价值
- 缩短应急处置安全事故的时间
- 减少和优化传统SOC中不必要和冗余的工作
- 安全产品整合的API加速了自动化
- 丰富的安全数据服务:威胁情报平台TIP
- 提高告警分析的质量和侦测发现能力
- 提高工作精准度,安全运维流程的文档化以及证据的管理
- 减少培训新安全运维分析人员的代价
- 整体提高衡量和管理安全运维的能力
环境说明
本文只介绍 Python 的安装,其他服务请自行百度
● Python 3.7.7 (必须使用此版本)
● Redis 5.0
● Mysql 5.7
安装步骤
1、环境准备
关闭防火墙
关闭selinux
安装epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2、安装python
2.1 安装依赖包
yum install -y gcc gcc-c++ automake autoconf libtool openssl-devel bzip2-devel libffi-devel
2.2 下载python包
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
2.3 解压python包
tar -zxvf Python-3.7.7.tgz && cd Python-3.7.7/
2.4检测编译环境
./configure prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/include/openssl
2.5编译安装
make && make install
2.6设置软链接
删除已经存在的软链接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
rm -rf /usr/bin/gunicorn3
rm -rf /usr/bin/supervisord3
rm -rf /usr/bin/supervisorctl3
rm -rf /usr/bin/echo_supervisord_conf3
创建新的软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3/bin/gunicorn /usr/bin/gunicorn3
ln -s /usr/local/python3/bin/supervisord /usr/bin/supervisord3
ln -s /usr/local/python3/bin/supervisorctl /usr/bin/supervisorctl3
ln -s /usr/local/python3/bin/echo_supervisord_conf /usr/bin/echo_supervisord_conf3
安装成功验证
[root@VM-0-8-centos ~]# python3 -V && pip3 -V
Python 3.7.7
pip 19.2.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
[root@VM-0-8-centos ~]#
3、配置redis服务
3.1 安装 Redis
yum install -y redis
3.2 配置Redis
[root@w5-soar apps]# vim /etc/redis.conf #新增如下配置
# If the master is password protected (using the "requirepass" configuration
requirepass JKFAvCYAy75qojnw 设置redis连接密码
3.3 启动 Redis
systemctl start redis
systemctl enable redis
3.4 安装成功验证
[root@VM-0-8-centos ~]# redis-cli
127.0.0.1:6379> AUTH JKFAvCYAy75qojnw
OK
127.0.0.1:6379> set test 1
OK
127.0.0.1:6379> get test
"1"
127.0.0.1:6379> quit
4、配置MySQL服务
4.1 安装MySQL源
vim /etc/yum.repos.d/mysql.repo
[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql
4.2 安装MySQL
yum -y install mysql
4.2 启动服务
systemctl start mysql
systemctl enable mysqld
4.3 创建数据库
4.4 导入SQL
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for `zbn_logs`
-- ----------------------------
DROP TABLE IF EXISTS `zbn_logs`;
CREATE TABLE `zbn_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uuid` varchar(100) NOT NULL COMMENT '剧本ID',
`app_uuid` varchar(100) NOT NULL COMMENT 'App UUID',
`app_name` varchar(20) NOT NULL DEFAULT '' COMMENT 'APP 名字',
`result` text NOT NULL COMMENT '执行结果',
`create_time` datetime COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Table structure for `zbn_type`
-- ----------------------------
DROP TABLE IF EXISTS `zbn_type`;
CREATE TABLE `zbn_type` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` int(2) NOT NULL DEFAULT '1' COMMENT '分类 1 剧本分类 2变量分类',
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '分类名称',
`update_time` datetime COMMENT '更新时间',
`create_time` datetime COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of `zbn_type`
-- ----------------------------
BEGIN;
INSERT INTO `zbn_type` VALUES ('1', '1', '默认剧本', '2020-11-06 13:14:25', '2020-11-06 13:14:27');
COMMIT;
-- ----------------------------
-- Table structure for `zbn_user`
-- ----------------------------
DROP TABLE IF EXISTS `zbn_user`;
CREATE TABLE `zbn_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`account` varchar(20) NOT NULL DEFAULT '' COMMENT '账号',
`passwd` varchar(32) NOT NULL DEFAULT '' COMMENT '密码',
`nick_name` varchar(20) NOT NULL DEFAULT '' COMMENT '用户昵称',
`email` varchar(50) NOT NULL DEFAULT '' COMMENT '用户邮箱',
`token` varchar(32) NOT NULL DEFAULT '' COMMENT 'Token 用户唯一标识',
`update_time` datetime COMMENT '更新时间',
`create_time` datetime COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `index_account` (`account`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Records of `zbn_user`
-- ----------------------------
BEGIN;
INSERT INTO `zbn_user` VALUES ('1', 'admin', '3C830D97FC5AE3E9F9D1F491735C7AEA', '织布鸟', 'admin@zbn.io', '', '2020-11-06 10:51:30', '2020-10-22 17:58:32');
COMMIT;
-- ----------------------------
-- Table structure for `zbn_variablen`
-- ----------------------------
DROP TABLE IF EXISTS `zbn_variablen`;
CREATE TABLE `zbn_variablen` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type_id` int(11) NOT NULL DEFAULT '0' COMMENT '分类ID',
`key` varchar(20) NOT NULL DEFAULT '' COMMENT '变量 KEY',
`value` varchar(255) NOT NULL DEFAULT '' COMMENT '变量 值',
`update_time` datetime COMMENT '更新时间',
`create_time` datetime COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `index.key` (`key`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- ----------------------------
-- Table structure for `zbn_workflow`
-- ----------------------------
DROP TABLE IF EXISTS `zbn_workflow`;
CREATE TABLE `zbn_workflow` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uuid` varchar(100) NOT NULL DEFAULT '' COMMENT 'UUID',
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '创建人',
`type_id` int(11) NOT NULL DEFAULT '0' COMMENT '剧本分类',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '剧本名称',
`start_app` varchar(100) NOT NULL DEFAULT '' COMMENT '开始APP UUID',
`end_app` varchar(100) NOT NULL DEFAULT '' COMMENT '结束APP UUID',
`flow_json` text NOT NULL COMMENT '流程图画布数据',
`flow_data` text NOT NULL COMMENT '流程图 APP 数据',
`update_time` datetime COMMENT '更新时间',
`create_time` datetime COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `index_uuid` (`uuid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
SET FOREIGN_KEY_CHECKS = 1;
报错 only_full_group_by
this is incompatible with sql_mode=only_full_group_by
解决办法:
修改 Mysql 配置文件 默认为 my.ini
sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
开启 GROUP BY 支持
查询初始root密码
grep 'temporary password' /var/log/mysqld.log
修改root密码
mysql -uroot -p初始密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
允许远程访问
# 设置后方便远程管理数据库
mysql> use mysql;
mysql> update user set host='%' where user='root';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.11 sec)
mysql>
5、安装ZBN
拉取代码
[GITHUB]git clone https://github.com/zbnio/zbn.git
[GITEE] git clone https://gitee.com/zbnio/zbn.git
安装 Python 依赖库
pip3 install -r requirements.txt
或者
# 使用国内源:
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
mysqlclient 报错解决
yum install mysql-devel -y
修改配置文件
执行 vi config.ini , redis 没有密码无需填写
[mysql]
host = 数据库地址
port = 数据库端口
database = 数据库DB名字
user = 数据库账号
password = 数据库密码
[redis]
host = redis 地址
port = redis 端口
database = 0
password =
运行项目
run.py 不建议生产环境使用,推荐开发测试中使用
[root@localhost zbn]# python3 run.py
/usr/local/python3/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.8 of module 'app.core.__init__' does not match runtime version 3.7
return f(*args, **kwds)
____ ____ __ _ ____ __ __ ____
(__ )( _ \( ( \ / ___) / \ / _\ ( _ \
/ _/ ) _ (/ / \___ \( O )/ \ ) /
(____)(____/\_)__) (____/ \__/ \_/\_/(__\_) v0.2
* Welcome to ZBN SOAR service
===========================
* Web : https://zbn.io
* Github : https://github.com/zbnio/zbn
===========================
* Running on http://0.0.0.0:8888/ (Press CTRL+C to quit)
访问 ZBN SOAR
默认为:ip:8888 , 访问不了请检查服务器防火墙 ( IP 配置为 0.0.0.0 可直接访问)
修改默认端口,请修改 run.py, 8888 改成 你想要的端口号
默认账号密码为:
账号:admin
密码:12345678
(登录后请及时修改密码)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容