基础软件
Redis server
minio ip:9090
rabbitmqctl ip:15672
elasticsearch 7.17.1 Kibana server ip:5601
安装
https://filigran.notion.site/Manual-deployment-b911beba44234f179841582ab3894bb1
NodeJS | ≥ 16 | https://nodejs.org/en/download |
Python | ≥ 3.9 | https://www.python.org/downloads |
ElasticSearch or OpenSearch | ≥ 8.X (ElasticSearch) or ≥ 2.X.X (OpenSearch) | https://www.elastic.co/downloads/elasticsearch |
MinIO | ≥ RELEASE.2022-03-* | https://min.io/download |
Redis | ≥ 7.0 | https://redis.io/download |
RabbitMQ | ≥ 3.9 | https://www.rabbitmq.com/download.html |
RabbitMQ Management plugin | ≥ 3.9 | https://www.rabbitmq.com/management.html |
python3.9
sudo apt update
sudo apt install software-properties-common
将Deadsnakes PPA添加到系统的来源列表中: sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9
python3.9 –version
安装pip3.9
sudo apt-get install python3.9-distutils
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3.9 get-pip.py
nodejs
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash –
sudo apt-get install nodejs
nodejs -v
Elasticsearch 8.X
导入 Elasticsearch PGP 密钥:wget -qO – https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add –
更新包数据库:sudo apt-get update
安装Elasticsearch: sudo apt-get install elasticsearch
开始 Elasticsearch 服务:
sudo systemctl enable elasticsearch.service
使 Elasticsearch 在开机时自动启动: sudo systemctl enable elasticsearch
通过检查 Elasticsearch 版本来验证安装:curl -X GET “localhost:9200/”
你应该看到类似这样的输出:
就是这样! 您现在已经在 Ubuntu 18.04 系统上安装并运行了 Elasticsearch 8.x。
MinIO
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
sudo mkdir /data
sudo vi /etc/systemd/system/minio.service
[Unit] Description=MinIO Documentation=https://docs.min.io [Service] User=minio-user ExecStart=/usr/local/bin/minio server /data Restart=on-failure [Install] WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
默认key:minioadmin” and “minioadmin”
Redis
下载redis:sudo wget https://github.com/redis/redis/archive/7.0.11.tar.gz
进入目录后编译:sudo make
测试:sudo make test
注册 :sudo make install
sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/
sudo vi /etc/redis/redis.conf
bind
:这个选项用于指定Redis监听的IP地址。如果你希望Redis只能从本地访问,你可以设置为127.0.0.1
。如果你希望Redis可以从任何地方访问,你可以设置为0.0.0.0
。port
:这个选项用于指定Redis监听的端口。默认值是6379
。daemonize
:这个选项用于指定Redis是否在后台运行。如果你希望Redis在后台运行,你可以设置为yes
。dir
:这个选项用于指定Redis的持久化数据存储的目录。requirepass
:这个选项用于指定Redis的密码。如果你希望使用密码保护Redis,你可以设置这个选项。
Rabbitmq
将下面保存为rabbitmq_install.sh
#!/usr/bin/sh
sudo apt-get install curl gnupg apt-transport-https -y
## RabbitMQ 团队的主要签名密钥
curl -1sLf “https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA” | sudo gpg –dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
## Cloudsmith:现代 Erlang 存储库
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg –dearmor | 须藤三通 /usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
## Cloudsmith:RabbitMQ 存储库
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg –dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg > /dev/null
## 添加由 Team RabbitMQ 维护的 apt 存储库
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## 提供现代 Erlang/OTP 版本
##
deb [签名者=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu 仿生主 deb-src [签名者=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg]
https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu 仿生主
## 提供 RabbitMQ
##
deb [签名者=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu 仿生主 deb-src [签名者=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg]
https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu 仿生主 EOF
## 更新包索引
sudo apt-get update -y
## 安装 Erlang 包
sudo apt-get install -y erlang-base \
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
erlang-运行时工具 erlang-snmp erlang-ssl \
erlang-syntax-tools erlang-tftp erlang-工具 erlang-xmerl
## 安装 rabbitmq-server 及其依赖项
sudo apt-get install rabbitmq-server -y –fix-missing
之后:
开启:sudo systemctl start rabbitmq-server
启用RabbitMQ Management Plugin: sudo rabbitmq-plugins enable rabbitmq_management
创建用户:sudo rabbitmqctl add_user new_user new_password
设置权限:sudo rabbitmqctl set_permissions -p / new_user “.*” “.*” “.*”
赋予权限:sudo rabbitmqctl set_user_tags rabbitmq administrator
配置
minio
/etc/default/minio 是minio启动配置 需配置IP地址
opencti
opencti/config/production.json 配置opencti
elasticsearch
1. 降低jvm内存:修改/etc/elasticsearch/jvm.options
两个参数:-Xms
和-Xmx
。这两个参数分别代表JVM堆的最小大小和最大大小。默认情况下,这两个参数都设置为物理内存的50%。可以按照物理内存设置
2. 建立快照索引:curl -X PUT “localhost:9200/_snapshot/my_backup/snapshot_$(date +\%Y\%m\%d)?wait_for_completion=true”
建立快照仓库:curl -XPUT “localhost:9200/_snapshot/my_backup” -H ‘Content-Type: application/json’ -d ‘{ “type”: “fs”, “settings”: { “location”: “/home/opencti/envir/elasticsearch_data” }}’
查看快照:curl -X GET “localhost:9200/_cat/snapshots/my_backup?v”
删除快照:curl -X DELETE “localhost:9200/_snapshot/my_backup/snapshot_1”
恢复快照:curl -X POST “localhost:9200/_snapshot/my_backup/snapshot_1/_restore”
恢复opencti快照:curl -X POST “localhost:9200/_snapshot/my_backup/snapshot_1/_restore” -H ‘Content-Type: application/json’ -d’ { “indices”: “opencti_*”, “ignore_unavailable”: true, “include_global_state”: false}’
查看恢复进度:curl -X GET “localhost:9200/_cat/recovery?v”
定时备份:
crontat -e
#相差8个小时
0 6 * * * date >> /home/opencti/envir/elasticsearch_data/elasticsearch_crontab.log
0 6 * * * curl -X PUT “localhost:9200/_snapshot/my_backup/snapshot_$(date +\%Y\%m\%d)?wait_for_completion=true” >> /home/opencti/envir/elasticsearch_data/elasticsearch_crontab.log
检查索引分片信息:curl -XGET -i “localhost:9200/_cat/shards?v”
重新恢复主分片:curl -X POST “localhost:9200/_cluster/reroute” -H ‘Content-Type: application/json’ -d ‘{ “commands”: [ { “allocate_empty_primary”: { “index”: “.ds-ilm-history-5-2023.06.09-000001“, “shard”: 0, “node”: “huginn”, “accept_data_loss”: true } } ]}’
查看所有索引:curl -X GET “localhost:9200/_cat/indices?v”
删除索引:curl -X DELETE “localhost:9200/opencti_stix_meta_relationships-000001”
删除opencti索引:建立sh文件
for index in $(curl -s ‘localhost:9200/_cat/indices/opencti_*?h=index’ | sort); do
echo “Deleting $index”
curl -X DELETE “localhost:9200/$index”
done
redis
Server can’t set maximum open files to 10032 because of OS error: Operation not permitted.
数据类型
Observable types
Artifact、Autonomous System、Bank account、wallet、Cryptographic key、Directory、Domain name、Email address、Email message、Email message – MIME Part、File、Hostname、IPv4 address、IPv6 address、MAC address、Media content、Mutex、Network traffic、Payment card、Phone number、Process、Software、Text、URL、User account、User agent、Windows Registry Key、Windows Registry Key Value、X509 certificate
连接器
IP地址
abuseipdb
ipinfo
shodan
https://www.shodan.io/dashboard
GreyNoise
GreyNoise 帮助分析师识别不值得他们关注的事件。GreyNoise 中的指标可能与机会性互联网扫描或常见业务服务有关,而不是与目标威胁有关。这种背景有助于分析师专注于最重要的事情。
ULR
URLhaus by Abuse.ch
URLhaus 是来自 abuse.ch 的一个项目,其目标是共享用于恶意软件分发的恶意 URL。
漏洞信息
CVE Database
Vulnmatch
Vulmatch 是一款应用程序,可让您查看已披露的漏洞,并在您使用的产品中发现漏洞时提供警报机制
Vulmatch 通过 TAXII 2.1 服务器提供数据。
威胁情报社区
AlienVault
开放的威胁情报社区
CrowdStrike
Cryptolaemus
https://paste.cryptolaemus.com/
Cyber Threat Coalition
https://www.cyberthreatalliance.org/
Cybercrime Tracker
网络犯罪
https://cybercrime-tracker.net/
Gatewatcher LastInfoSec
https://www.gatewatcher.com/en/our-solutions/lastinfosec/
Kaspersky
Malpedia
https://malpedia.caad.fkie.fraunhofer.de/
Mandiant
RiskIQ
Sekoia
https://www.sekoia.io/en/homepage/
ThreatMatch
https://www.secalliance.com/threat-intelligence-portal
威胁狩猎
Virustotal Livehunt Notifications
安全框架
AM!TT
https://github.com/cogsec-collaborative/AMITT
MITRE ATT&CK
沙箱
CAPE Sandbox
Cuckoo Sandbox
Hatching Triage Sandbox
Hybrid Analysis Sandbox
https://www.hybrid-analysis.com/
Intezer Sandbox
UnpacMe
UNPACME 是一种自动恶意软件解包服务。使用一组自定义解包和工件提取过程分析向 UNPACME 提交的内容。这些过程从提交中提取所有加密或打包的有效负载,并将一组唯一的有效负载返回给用户。简而言之,UNPACME 自动执行恶意软件分析过程的第一步。
VirusTotal
https://www.virustotal.com/gui/home/search
恶意软件数据库
MalwareBazaar Recent Additions
VX Vault
http://vxvault.net/ViriList.php
文件存储
Files restore
此连接器允许组织从特定文件夹恢复其 OpenCTI 数据
Files backup
此连接器允许组织使用其 OpenCTI 数据并将其写入特定文件夹。
文件导入
ImportDocument
此连接器允许组织将信息从文档馈送到 OpenCTI。
此连接器提取文档文件中的信息,然后将其与来自 OpenCTI 知识库或新 Observables 的实体的正则表达式进行匹配。
ImportFileStix
此连接器能够导入包含STIX1或STIX2数据的JSON/XML文件。
上载到平台中的文件的扩展名必须为.json,以便连接器处理它。
文件导出
ExportFileCsv
CSV格式导出数据
ExportFileStix
stix格式导出数据
ExportFileTxt
txt格式导出数据
ExportReportPdf
pdf格式导出数据
威胁情报管理
MISP
Obstracts
威胁情报团队的 RSS 阅读器
OpenCTI datasets
其他opencti数据
TheHive
一个可扩展、开源且免费的安全事件响应平台,与 MISP(恶意软件信息共享平台)紧密集成,旨在让 SOC、CSIRT、CERT 和任何处理需要调查和采取行动的安全事件的信息安全从业人员的生活更轻松迅速。
CORTEX Analyzer
Cortex试图解决 SOC、CSIRT 和安全研究人员在威胁情报、数字取证和事件响应过程中经常遇到的一个常见问题:如何通过查询单个工具而不是多个工具来大规模分析他们收集的可观察数据?
Cortex 是一款开源和免费软件,由TheHive Project正是为此目的而创建的。可观察的数据,例如 IP 和电子邮件地址、URL、域名、文件或哈希,可以使用 Web 界面逐一分析或以批量模式分析。借助Cortex REST API, 分析师还可以自动执行这些操作。
威胁情报规则
SIEM 规则
Valhalla
Yara规则
https://valhalla.nextron-systems.com/
数据结构
Stixify
自动化威胁情报分析师,从非结构化数据中提取机器可读情报
TAXII2
https://taxiiproject.github.io/about/
通过使用 TAXII,组织可以以安全和自动化的方式共享 STIX 内容
受信任的指标信息自动交换 (TAXII™)是一种免费且开放的传输机制,可标准化网络威胁信息的自动交换。
外部工具
Hygiene
这是一个内部扩充连接器,它使用以下外部项目在数据库中查找您可能想要删除/衰减的可观察值,因为已知它们在用于检测时会导致误报
Import ExternalReference
此连接器允许组织将外部参考作为 PDF 文件或 MarkDown 文件导入。
IVRE – Network recon framework
IVRE是一个 开源网络侦察框架,它可以轻松构建自托管、完全受控的替代服务,例如 Shodan、ZoomEye、Censys(宽网络扫描)、Greynoise(扫描仪监控)和/或 PassiveDNS。
请参阅IVRE 的网站和一些用例以了解有关 IVRE 的更多信息。
Malbeacon
这是一个可观察的丰富连接器,它使用 Malbeacon API 添加有关攻击者原始网络的信息。
该连接器适用于以下 OpenCTI 可观察类型:
- ipv4-地址
- ipv6 地址
- 域名
Elastic
此连接器允许组织使用 OpenCTI 知识为其 Elastic 平台提供数据。
History
此连接器使用 OpenCTI 流以及实体的写入和历史记录。
Splunk
此连接器允许组织使用 OpenCTI 知识为Splunk KV 存储提供数据。
Tanium
该连接器允许组织使用 OpenCTI 知识为Tanium Intels 提供信息。
此连接器利用 OpenCTI事件流,因此它实时使用知识,并根据其设置,在 Tanium 平台中创建检测和搜索英特尔片段。
ThreatBus
此连接器支持 OpenCTI 和Threat Bus之间的通信,后者是开源安全工具的威胁情报传播层。使用此连接器,您可以将 OpenCTI 威胁情报与检测工具和数据库(如VAST、Zeek或CIF-3 )深度集成。OpenCTI 中的指标更新几乎会立即深入到您的监控工具中,以进行追溯和实时匹配。反之亦然,其他工具生成的匹配(目击)将报告回 OpenCTI 连接器,并显示在Sightings
指标 web 视图的选项卡中。
Maltego Transforms Set
借助一组允许您探索 OpenCTI v4 数据的转换,在您的 Maltego 应用程序中使用 OpenCTI 平台。
灾备恢复
数据存储在elasticsearch中,需要将elasticsearch中的nodes数据备份即可
导入时,使用
zip -s0 elasticsearch.z* –out elasticsearch.zip 将分卷的压缩包合并
unzip elasticsearch.zip 解压zip
chmod 755 -R elasticsearch/ 将其文件夹和子文件夹赋予权限即可