OpenCTI入门笔记(一):搭建框架和导入数据

admin 2022年3月25日00:37:27评论1,004 views字数 4825阅读16分5秒阅读模式

 

.

OpenCTI简介

OpenCTI 即 Open Cyber Threat Intelligence Platform,开源网络威胁情报平台。它的创建是为了构建储、组织和可视化有关网络威胁的技术和非技术信息它使用基于 STIX 2 标准的知识模式来执行数据的结构化。并被设计为现代 Web 应用程序,包括 GraphQL API 和面向 UX的前端。此外,OpenCTI 可以与其他工具和应用程序集成,如 MISP、TheHive、MITRE ATT&CK 等。

OpenCTI 是由法国国家网络安全机构 (ANSSI)、CERT-EU 和 Luatix 非营利组织合作开发的产品。

官方文档地址:https://github.com/OpenCTI-Platform/dockerhttps://luatix.notion.site/OpenCTI-Public-Knowledge-Base-d411e5e477734c59887dad3649f20518


OpenCTI入门笔记(一):搭建框架和导入数据




 

.

OpenCTI部署

官方提供四种部署方式

  • 虚拟机模板

  • 容器部署

  • 云部署

  • 手动部署

推荐使用docker部署,兼容性更优,部署更便捷;

部署机器配置:

  • 8核CPU

  • 16G内存

  • 200G硬盘


本文以使用docker安装方式为例:

1.安装docker&docker-compose
yum install -y yum-utils device-mapper-persistent-data lvm2 gitcurl -sSL https://get.daocloud.io/docker | shsudo systemctl daemon-reloadsudo systemctl restart dockercurl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composesudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

2.验证docker及docker-compose的安装,成功输出版本号即为容器部分安装无问题

docker versiondocker-compose version


3.拉取最新的OpenCTI

git clone https://github.com/OpenCTI-Platform/docker.gitcd docker

4.配置环境,有两种方式:

  • 配置docker-compose.yml

  • 配置环境变量,(这里采取更方便的配置环境变量)

yum install -y jq

5.批量写入需要修改的数据,注意修改密码

(cat <<EOF[email protected]OPENCTI_ADMIN_PASSWORD=PLEASECHANGEMEOPENCTI_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=guestRABBITMQ_DEFAULT_PASS=guestCONNECTOR_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是登录账户密码

注意要修改掉上面的账号密码!

注意要修改掉上面的账号密码!

示例配置:

(cat <<EOF[email protected]OPENCTI_ADMIN_PASSWORD=123123123OPENCTI_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=guestRABBITMQ_DEFAULT_PASS=guestCONNECTOR_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
6.调整内存参数,避免ES过多消耗内存
echo "vm.max_map_count=1048575" >> /etc/sysctl.conf

7.镜像较多,拉取时间较长

docker-compose pulldocker-compose up -d

8.没报错的话就是成功了,然后访问http://IP:8080 

9.使用.env中的账号密码登录即可,新版语言也是支持简体中文的,框架搭建成功。

登录账号:123@123.com登陆密码:123123123

 

.

OpenCTI数据导入

 OpenCTI入门笔记(一):搭建框架和导入数据


OpenCTI搭建完成后是没有数据的,数据是需要通过连接器导入的,OpenCTI已经将大部分适配的数据源打包为镜像,地址:

连接器:https://github.com/OpenCTI-Platform/connectors


OpenCTI入门笔记(一):搭建框架和导入数据OpenCTI入门笔记(一):搭建框架和导入数据

连接器的数据源比较多,配置和开发详见:

https://www.notion.so/Connector-Development-06b2690697404b5ebc6e3556a1385940


连接器配置

以AlienVault为例,AlienVault公司的业务主要针对中小型企业提供统一安全管理平台(USM)、开源威胁情报交换平台(OTX)等网络安全产品,AlienVault开源威胁交换(OTX)是全球权威的开放威胁信息共享和分析网络。OTX提供了一个由威胁研究人员和安全专业人员组成的全球社区,有来自140个国家的5万多名参与者,每天贡献400多万个威胁指标。

1.首先到平台注册,获取API key

OpenCTI入门笔记(一):搭建框架和导入数据

2.添加关注组OpenCTI入门笔记(一):搭建框架和导入数据OpenCTI入门笔记(一):搭建框架和导入数据

 

3.然后打开connectors-master/external-import/alienvault文件,修改docker-compose.yml文件,红色框出部分是需要更改的部分,示例如下:

OpenCTI入门笔记(一):搭建框架和导入数据

  • OPENCTI_URL=http://localhost

    • 变更为OPENCTI_URL=http://opencti:8080

  • OPENCTI_TOKEN=ChangeMe

    • 变更为OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}

  • CONNECTOR_ID=ChangeMe

    • 访问UUID在线生成,生成UUID V4复制替换ChangeMe

  • ALIENVAULT_API_KEY=ChangeMe

    • 复制API key替换ChangeMe

  • ALIENVAULT_INTERVAL_SEC=1800

    • 为拉取更新时间,单位为秒,可自定义



4.修改后,对openCTI的docker-compose.yml文件进行修改:

cd /docker nano docker-compose.yml


  • 复制修改好的内容,如下:

 connector-alienvault:    image: opencti/connector-alienvault:5.2.1    environment:      - OPENCTI_URL=http://opencti:8080      - OPENCTI_TOKEN=${OPENCTI_ADMIN_TOKEN}      - CONNECTOR_ID=这里填写自己生成的UUID V4      - 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=这里填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=7200 # 这里别太短,按秒算    restart: always


5.执行docker-compose up -d进行镜像的更新和拉取;

等待若干分钟(和机器性能相关),在平台>数据>连接器中检验是否配置成功。

OpenCTI入门笔记(一):搭建框架和导入数据

OpenCTI入门笔记(一):搭建框架和导入数据

原文始发于微信公众号(无界信安):OpenCTI入门笔记(一):搭建框架和导入数据

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月25日00:37:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   OpenCTI入门笔记(一):搭建框架和导入数据https://cn-sec.com/archives/840083.html

发表评论

匿名网友 填写信息