最近公司刚做了安全成熟度评估,结果显示为缺乏安全工具的支撑,例如bas、hids、hips、sip、数据dlp、零信任等等,众所周知,企业对于安全方面的投入,一年花个四五百万的都算是少了,不想花钱,又害怕开源的软件集成后存在安全风险,那就只有部署一些对现有环境没有影响,且不会导致公司信息泄露的开源软件,于是所有矛头对准了开源的威胁情报平台。
微步在线:https://x.threatbook.com/
腾讯哈勃:https://habo.qq.com/
安图星云:https://ti.dbappsecurity.com.cn
深信服:https://sec.sangfor.com.cn/wiki-safe-events
安天:https://www.antiycloud.com/#/antiy/index
360大脑:https://ti.360.net/
华云安:https://vti.huaun.com/index/
天际友盟:https://redqueen.tj-un.com/IntelHome.html
Venuseye:https://www.venuseye.com.cn/
以上威胁情报中心侧重于应急响应,提供的漏洞情报也偏向于国内的,用来做安全研究有些乏力。
现在迫切的想要一种能够周期性获取国外的一些威胁情报,对此我研究了Brandefense、CTM360、MISP、opencti等,最终opencti在以报表的形式呈现出全球活跃漏洞、恶意软件、链接、ip、受害实体等以及与其他情报中心集成方面存在明显的优势,这对于企业而言,可以集中威胁情报,提高威胁搜索的效率;对于乙方,则可以利用活跃的漏洞,做成商业版漏扫,也可以使用恶意软件信息,做成杀毒软件等;对于应急响应而言,可以用来研究恶意行为者的行动计划和操作步骤;对于研究人员来说,opencti可以集成非常多的情报中心,知识库非常广。
项目地址:
https://github.com/OpenCTI-Platform/opencti
指导文档(建议使用docker):
https://docs.opencti.io/latest/deployment/installation/#using-docker
Opencti问题解答:
这玩意需要注册,然后在这个模块中提出你的问题,回复速度还是蛮快的
部署前的准备
单机
8核cpu
至少16G内存
150G存储,磁盘应挂在根目录下(如果你是默认安装的话)
如果你以为照着操作文档傻瓜式部署就能摆平的话,那你就错了,没那么容易的,但也可能我的体质是遇上安装就报错,捣鼓了两三天才把东西装好,废话不多说,开干吧
1、先把你的服务器上的8080端口干掉,两个命令:
lsof -i :8080
kill -9 [进程ID]
2、跟着安装文档走,创建你的安装目录,我是装在/home/toos/opencti:
3、下载源码
git clone https://github.com/OpenCTI-Platform/docker.git
4、进入目录
5、创建.env文件,并将以下内容粘贴进去
[email protected] OPENCTI_ADMIN_PASSWORD=ChangeMePlease OPENCTI_ADMIN_TOKEN=a1c83e16-bec2-43f7-b86c-aa81cf9eb51a OPENCTI_BASE_URL=http://localhost:8080 MINIO_ROOT_USER=b73f74f4-cd5f-4081-ba72-d9b48e081bcb MINIO_ROOT_PASSWORD=e68d90e4-a2b6-4eaa-9e9f-ca252dd959e8 RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
ELASTIC_MEMORY_SIZE=4G CONNECTOR_HISTORY_ID=300c7840-a785-4cd6-a928-5d42f209e8f0 CONNECTOR_EXPORT_FILE_STIX_ID=ed8ff543-db18-49af-8d06-2eeb4ffa6cf2 CONNECTOR_EXPORT_FILE_CSV_ID=4b3c3046-e630-42fa-a9e2-cfa34992d9d6 CONNECTOR_IMPORT_FILE_STIX_ID=f646821f-0f5e-4986-adeb-35038463fc2f CONNECTOR_EXPORT_FILE_TXT_ID=16cbd712-70e2-4b70-89c6-47b89deed9ae CONNECTOR_IMPORT_DOCUMENT_ID=510dc64e-405e-4c76-a793-b70f89d2cd3e SMTP_HOSTNAME=localhost
注意:
OPENCTI_ADMIN_EMAIL和OPENCTI_ADMIN_PASSWORD是你的页面登录账号密码,OPENCTI_ADMIN_TOKEN是uuid,可以使用在线网站生成其他均保持默认
(https://www.uuidtools.com/generate/v4#google_vignette),
6、ok现在将.env设置成环境变量,执行以下命令:
export $(cat .env | grep -v "#" | xargs)
7、执行env命令,可见环境变量添加成功
8、将vm.max_map_count=1048575写入/etc/sysctl.conf末尾
sysctl -w vm.max_map_count=1048575
9、关闭防火墙
Systemctl stop firewalld
10、现在在/home/tools/opencti/docker目录下,不要去碰docker-compose.yml,立即执行docker-compose
这里出现了第一报错
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services: 'web'
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for volumn。。。
尼玛果然没那么简单,这是docker-compose的版本问题,这里直接卸载旧版本docker-compose
rm /user/local/bin/docker-compose
然后下载最新版docker-compose可以在如下链接中下载
https://github.com/docker/compose/releases
然后重名了docker-compose,将这个二进制文件mv到执行/usr/local/bin
给权限:
sudo chmod +x /usr/local/bin/docker-compose
查看是否安装成功:
docker-compose --version
我这里的docker-compose版本为2.29.1
11、好的,现在docker-compose安装好了,继续执行
Docker-compose up -d
容器启动需要时间,如果你发现你的容器有重启的迹象,看到restarting不要慌,过一会就全部好了,让子弹飞一会,执行docker ps
这个connector-import-document容器一共有两个,我也不知道会创建两个容器,可以把它删掉