缺少连接开源威胁情报工具的链接。
threatbus的Python项目详细描述
用于互连开源安全应用程序的缺失工具。在
Getting Started- Contributing Guidelines- Writing Plugins- License- Documentation
在Matrix上与我们聊天。在
主要特点
- 在
Connect开源安全工具:Threat Bus是的发布订阅代理 威胁情报数据。使用Threat Bus可以无缝集成 ^使用Zeekintel框架或报表的{a15}智能 从IDS部署到一些数据库的观察。在
在 - 在
Plugin-based Architecture:项目基于插件,可以扩展 很容易。我们欢迎大家为采用新的开源工具而贡献自己的力量!到目前为止,在那里 存在VAST、MISP、Zeek和CIFv3的插件。在
在 - 在
Snapshotting:快照功能允许订阅服务器直接请求 一定时间内来自其他应用程序的威胁情报数据。 威胁总线处理所有相关应用的点对点通信。在
在
入门
config.yaml.example
文件为威胁总线提供了一个工作配置
与RabbitMQ一起启用所有现有的应用程序插件
骨干。在
下面的示例演示如何通过连接MISP,Zeek 威胁巴士。有更多的集成可用,所以一定要检查所有的 Threat Bus projects on PyPI。在
启动威胁总线
mv config.yaml.example config.yaml # rename example config file
venv/bin/threatbus -c config.yaml
Start Zeek作为威胁总线应用程序
^{pr2}$启动Zeek并请求快照
zeek -i <INTERFACE> -C ./apps/zeek/threatbus.zeek -- "Tenzir::snapshot_intel=30 days"
Threat Bus也作为预构建的Docker映像提供,可在 Docker Hub。在
使用威胁总线Docker容器
docker run tenzir/threatbus:latest --help
Start Threat Bus container with a custom config file
docker run -p 47661:47661 -v $PWD/my-custom-config.yaml:/opt/tenzir/threatbus/my-custom-config.yaml tenzir/threatbus:latest -c my-custom-config.yaml
安装
安装threatbus
和您需要的所有插件。或者,使用虚拟
环境。在
virtualenv venv # optional
source venv/bin/activate # optional
pip install threatbus
pip install threatbus-inmem
pip install threatbus-misp
pip install threatbus-zeek
pip install threatbus-rabbitmq
pip install threatbus-<plugin_name>
测试
使用Makefile
来运行单元测试和集成测试。在
make unit-tests
make integration-tests
集成测试需要本地Zeek安装。在
插件开发
设置一个虚拟环境并安装threatbus
和一些带有
在开发模式下:
virtualenv venv
source venv/bin/activate
make dev-mode
配置和扩展
插件必须定义setup.py
。无论何时安装插件,都必须
向threatbus
'config.yaml
添加相应的配置节。那个
节必须以的入口点声明中的name
命名
插件的setup.py
文件。在
请遵守plugin naming conventions
并始终在插件名称前面加上threatbus-
。在
插件可以是apps或backbones。应用程序插件(应用程序)添加新的
用于threatbus
并允许与
支持威胁情报的应用程序(如Zeek或Suricata)。主干插件添加
新的存储和分发后端到threatbus
(例如,内存或Kafka)。在
示例:
- 插件文件夹结构:
plugins ├── apps | └── threatbus-zeek │ ├── setup.py | └── threatbus_zeek.py └── backbones └── threatbus-inmem ├── setup.py └── threatbus_inmem.py
在 setup.py
fromsetuptoolsimportsetupsetup(name="threatbus-myapp",install_requires="threatbus",entry_points={"threatbus.app":["myapp = threatbus_myapp"]},py_modules=["threatbus_myapp"],)
在config.yaml
的条目threatbus
...plugins:apps:myapp:...
在
威胁总线API
插件规范可在threatbus/appspecs.py
和
threatbus/backbonespecs.py
。对于任何插件,你至少应该
实现run
函数。在
应用程序插件提供了两个回调函数用于订阅 管理层。在内部,威胁总线将向所有 已安装主干插件。在
订阅回调允许应用程序请求可选快照
时间差。威胁总线会将快照请求转发给所有那些
已经实现了快照功能(请参见threatbus/appspecs.py
)。在
许可证
威胁总线带有一个3-clause BSD license。在
- 项目
标签: