centos7搭建OpenCTI平台教程【完整无坑版】

前言:关于OpenCTI的简介就不相信说明了,本篇重点在搭建环节。之前调研过OpenCTI平台一段时间,但是建立在官网的demo体验之上,最近抽出一些时间自己搭建了OpenCTI平台,整个搭建过程没有花费太多时间,搭建步骤及遇到的问题及解决办法总结如下,希望能对大家的入门提供一些力所能及的帮助。

一、四种部署方式

官网提供了四种部署方式,详情请参考官方文档

  • 虚拟机
  • docker部署(对容器进行了很好的管理,部署更方便,强烈推荐此方式)
  • 云部署
  • 手动部署(不推荐,坑太多)

二、部署环境

  • Linux系统:CentOS Linux release 7.2.1511 (Core)
  • 1 核CPU(Linux命令:cat /proc/cpuinfo| grep “cpu cores”| uniq
  • 16个物理CPU (Linux命令:cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l
  • 32G内存(Linux命令:cat /proc/meminfo
  • 536G硬盘(Linux命令:fdisk -l | grep Disk
  • docker版本:Docker version 17.12.0-ce, build c97c6d6
  • docker-compose版本:Docker Compose version v2.1.1

三、部署步骤

  1. 安装需要的包
yum install -y yum-utils device-mapper-persistent-data lvm2 git
  1. 安装docker
  • 下载docker
curl -sSL https://get.daocloud.io/docker | sh
  • 启动docker
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 验证docker是否安装成功
docker -v
  1. 安装docker-compose
  • 下载docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • 修改docker-compose文件夹权限
chmod +x /usr/local/bin/docker-compose
  • 建立链接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  • 验证docker-compose是否安装成功
docker-compose -v
  • 下载OpenCTI
  • 创建一个openCTI文件夹如/home/open_cti/
  • 进入/home/open_cti/,然后下载OpenCTI
cd /home/open_cti/
git clone https://github.com/OpenCTI-Platform/docker.git
  1. 配置环境变量参数
  • 通过jq工具配置环境变量,下载jq
yum install -y jq
  • 出现的问题及解决方式
    出现的问题无法下载jq,Error: Nothing to do
    解决的方法
    (1)下载epel-release:yum install epel-release
    (2)修改/etc/yum.repos.d/epel.repo,将enabled =0修改为enabled=1
  1. 批量写入待修改的数据
(cat <<EOF
OPENCTI_ADMIN_EMAIL=admin@opencti.io
OPENCTI_ADMIN_PASSWORD=PLEASECHANGEME
OPENCTI_ADMIN_TOKEN=$(cat /proc/sys/kernel/random/uuid)
MINIO_ROOT_USER=$(cat /proc/sys/kernel/random/uuid)
MINIO_ROOT_PASSWORD=$(cat /proc/sys/kernel/random/uuid)
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
CONNECTOR_HISTORY_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_EXPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_EXPORT_FILE_CSV_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_IMPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_IMPORT_REPORT_ID=$(cat /proc/sys/kernel/random/uuid)
EOF
) > .env

注意:修改以下两个参数

OPENCTI_ADMIN_EMAIL=登录账户邮箱
OPENCTI_ADMIN_PASSWORD=登录账户密码
  1. 使配置生效
source .env
  1. 由于ES对内存要求较高,因此需要调整机器内存参数
echo "vm.max_map_count=1048575" >> /etc/sysctl.conf
  1. docker-compse拉取镜像
docker-compose pull

注意:
在拉取镜像的过程中可能会存在问题:Error response from daemon: Get https://docker.elastic.co/v2/: x509: certificate signed by unknown authority

解决方式:
(1)获取证书信息

openssl s_client -connect docker.elastic.co:443 -showcerts

(2)拷贝证书内容,注:从-----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE-----的全部内容,cert中包含两个-----BEGIN CERTIFICATE----- 和两个-----END CERTIFICATE-----,这两部分内容都要拷贝(也即以下内容全部拷贝)。
-----BEGIN CERTIFICATE-----
something…
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
something…
-----END CERTIFICATE-----
(3)在/etc/pki/ca-trust/source/anchors/目录下创建一个文件:cert.crt,将(2)中拷贝的证书信息复制到该文件中。
(4)更新证书信任

update-ca-trust

(5)重启docker【重要】

systemctl restart docker.service

如果拉取过程中没有报错就可以继续执行下一步了。

  1. docker-compose启动。
docker-compose up -d
  1. 如果没有报错则可以访问到oencti登录页http://IP:8080。
  • 登录账号:.env中的OPENCTI_ADMIN_EMAIL对应的值(admin@opencti.io)
  • 登录密码:env中的OPENCTI_ADMIN_PASSWORD对应的值(如admin)
    在这里插入图片描述
  1. 目前没有显示数据,通过添加一些外部连接器,可以接入外部数据。以
    AlienVault连接器为例。
  • 登录AlienVault,获取AlienVault分配给用户的API KEY。
    在这里插入图片描述
  • 获取CONNECTOR_ID,通过在线方式生成UUID。
  • 修改docker-compose.yml文件,添加以下内容。
    注:拉取更新时间参数:ALIENVAULT_INTERVAL_SEC可以根据实际情况自定义
connector-alienvault:
    image: opencti/connector-alienvault:5.2.1
    environment:
      - OPENCTI_URL=http://opencti:8080
      - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}
      - CONNECTOR_ID=自动生成的UUID
      - CONNECTOR_TYPE=EXTERNAL_IMPORT
      - CONNECTOR_NAME=AlienVault
      - CONNECTOR_SCOPE=alienvault
      - CONNECTOR_CONFIDENCE_LEVEL=15 # From 0 (Unknown) to 100 (Fully trusted)
      - CONNECTOR_UPDATE_EXISTING_DATA=false
      - CONNECTOR_LOG_LEVEL=info
      - ALIENVAULT_BASE_URL=https://otx.alienvault.com
      - ALIENVAULT_API_KEY=注册alienvault之后生成的API的KEY
      - ALIENVAULT_CREATE_OBSERVABLES=true
      - ALIENVAULT_CREATE_INDICATORS=true
      - ALIENVAULT_PULSE_START_TIMESTAMP=2020-05-01T00:00:00                  # BEWARE! Could be a lot of pulses!
      - ALIENVAULT_REPORT_TYPE=threat-report
      - ALIENVAULT_REPORT_STATUS=New
      - ALIENVAULT_GUESS_MALWARE=false                                        # Use tags to guess malware.
      - ALIENVAULT_GUESS_CVE=false                                            # Use tags to guess CVE.
      - ALIENVAULT_EXCLUDED_PULSE_INDICATOR_TYPES=FileHash-MD5,FileHash-SHA1  # Excluded Pulse indicator types.
      - ALIENVAULT_ENABLE_RELATIONSHIPS=true                                  # Enable/Disable relationship creation between SDOs.
      - ALIENVAULT_ENABLE_ATTACK_PATTERNS_INDICATES=true                      # Enable/Disable "indicates" relationships between indicators and attack patterns
      - ALIENVAULT_INTERVAL_SEC=3600
    restart: always
  1. 重新进行镜像更新和拉取。
docker-compose up -d
  1. 数据接入成功。

参考链接

[1] https://www.opencti.io/en/
[2] https://luatix.notion.site/OpenCTI-Public-Knowledge-Base-d411e5e477734c59887dad3649f20518
[3] https://mp.weixin.qq.com/s/O5g314Nc_fO_NsO3NX_ZJg
[4] https://www.uuidgenerator.net/

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值