项目简介
TwLogEye是一个AI原生的日志服务器,能够高效地收集、存储和分析多种类型的日志数据,包括Syslog、SNMP Trap、Netflow/IPFIX和Windows事件日志。它集成了SIGMA规则进行威胁检测,并通过机器学习实现日志异常检测。TwLogEye特别支持Model Context Protocol (MCP),提供标准化的JSON-RPC接口,允许大型语言模型(LLM)客户端访问和操作日志数据、调用内置分析工具以及获取各类报告,从而有效赋能AI进行日志分析和自动化安全响应。
主要功能点
- 日志收集与存储: 能够接收并持久化Syslog、SNMP Trap、Netflow/IPFIX和Windows事件日志。利用Go语言高性能的Key/Value存储Badger,支持每秒处理数万条日志,存储容量可达数TB。
- 威胁检测: 直接加载和应用流行的SIGMA规则,对传入的日志进行实时威胁匹配和检测,识别潜在的安全事件。
- 异常检测: 运用先进的机器学习算法,从海量日志数据中识别出偏离正常模式的异常行为,辅助发现未知威胁。
- MCP服务器集成: 提供标准的MCP接口,允许LLM客户端通过JSON-RPC协议调用以下工具:
- 'search_log': 按时间范围、类型和正则表达式筛选日志。
- 'search_notify': 按时间范围和级别搜索通知。
- 'get_report': 获取Syslog、Trap、Netflow、Windows Event或Monitor报告。
- 'get_sigma_evaluator_list': 获取已加载的SIGMA规则评估器列表。
- 'get_sigma_rule_id_list': 获取数据库中存储的所有SIGMA规则ID。
- 'get_sigma_rule': 根据ID获取具体的SIGMA规则内容。
- 'add_sigma_rule': 添加新的SIGMA规则(YAML格式)。
- 'delete_sigma_rule': 根据ID删除SIGMA规则。
- 'reload_sigma_rule': 重新加载服务器中的SIGMA规则配置。
- 报告与监控: 生成详细的日志趋势报告、网络流报告、Windows事件报告和系统资源监控报告,并提供直观的命令行仪表板进行实时监控。
- 通知与自动化: 可通过Syslog、SNMP Trap或Webhook将检测到的威胁和异常情况实时通知给外部系统或AI自动化工具。
安装步骤
TwLogEye支持Linux/macOS和Windows系统,推荐使用以下方式进行安装。
-
Linux/macOS (通过shell脚本安装): 打开终端并执行以下命令:
curl -sS https://lhx98.linkclub.jp/twise.co.jp/download/install_twlogeye.sh | sh -
Linux/macOS (通过Homebrew安装): 如果您的系统安装了Homebrew,可以使用以下命令:
brew install twsnmp/tap/twlogeye -
Windows (通过Scoop安装): 如果您的系统安装了Scoop,可以使用以下命令:
scoop bucket add twsnmp https://github.com/twsnmp/scoop-bucket scoop install twlogeye您也可以从项目的GitHub Release页面下载对应的ZIP文件进行手动安装。
服务器配置(MCP客户端启动示例)
MCP客户端可以配置TwLogEye作为其后端MCP服务器。以下是一个JSON格式的配置示例,展示了MCP客户端如何定义和启动TwLogEye MCP服务器。请根据实际情况调整 'command' 的路径及 'args' 中的参数,如监听地址 ('--mcpEndpoint')、认证令牌 ('--mcpToekn')、SIGMA规则路径 ('--sigmaRules') 和数据库路径 ('--dbPath')。如果启用TLS,还需要提供证书路径。
{ "name": "TwLogEye-MCP-Server", "command": "twlogeye", "args": [ "start", "--mcpEndpoint", "tcp://0.0.0.0:8080", "--mcpToekn", "your_mcp_token", "--sigmaRules", "./sigma", "--dbPath", "./logs" ], "description": "此配置定义了MCP客户端如何启动TwLogEye MCP服务器。'command'指定了TwLogEye的可执行文件,'args'包含了启动服务器时所需的命令行参数。LLM或其他MCP客户端将使用这些配置来连接和利用TwLogEye提供的日志分析和威胁检测功能。" }
参数注释:
- 'name': MCP服务器的标识名称。
- 'command': 启动TwLogEye服务器的可执行文件路径(例如,'twlogeye' 或 '/usr/local/bin/twlogeye')。
- 'args': 传递给 'twlogeye start' 命令的命令行参数列表。
- '--mcpEndpoint': 指定MCP服务器的监听地址和端口,例如 'tcp://0.0.0.0:8080' (监听所有接口的8080端口) 或 'tls://your_server_ip:8443' (如果启用TLS)。
- '--mcpToekn': 用于MCP通信的认证令牌。如果TwLogEye服务器配置了此令牌,客户端在连接时必须提供。
- '--sigmaRules': 指定SIGMA规则文件所在的目录路径,TwLogEye将加载这些规则进行威胁检测。
- '--dbPath': 指定TwLogEye数据库文件存储的路径。
- 其他TwLogEye的启动参数(如 'syslogUDPPort'、'netflowPort'、'winEventLogChannel' 等)也可以添加到此列表中,以启用相应的日志收集功能。
- 'description': 对该MCP服务器配置的简要说明。
基本使用方法
- 准备数据存储和规则目录:
在您希望存储日志和SIGMA规则的目录下创建相应的文件夹:
mkdir logs mkdir sigma - 创建配置文件: 根据您的需求,在当前目录或指定位置创建 'twlogeye.yaml' 配置文件。例如,您可以配置日志接收端口、数据库路径等。
- 部署SIGMA规则: 将您希望用于威胁检测的SIGMA规则文件(通常为YAML格式)复制到 'sigma' 目录中。
- 启动TwLogEye服务器:
在终端中执行以下命令来启动TwLogEye。请务必指定 '--mcpEndpoint' 参数以启用MCP服务器功能,并指向您的SIGMA规则和数据库目录:
这会启动一个TwLogEye实例,监听MCP请求(在8080端口),同时开始收集Syslog(UDP 514端口)和Netflow(UDP 9995端口)。twlogeye start --mcpEndpoint :8080 --sigmaRules ./sigma --dbPath ./logs --syslogUDPPort 514 --netflowPort 9995 - 通过MCP客户端连接: 一旦TwLogEye MCP服务器启动并运行,您的LLM或其他MCP客户端就可以使用上述“服务器配置”中提供的Endpoint(如 'tcp://localhost:8080')和任何必要的认证令牌来与服务器建立连接。客户端即可通过MCP协议调用 'search_log'、'get_report'、'add_sigma_rule' 等工具,实现高级日志分析和自动化功能。
- 使用CLI客户端进行基本操作(可选):
您也可以直接使用TwLogEye的命令行界面(CLI)进行操作,例如:
- 搜索日志: 'twlogeye log --logtype syslog --start "2024/01/01 00:00:00" --end "2024/01/02 00:00:00" --search "error"'
- 查看检测通知: 'twlogeye notify --level critical'
- 获取报告: 'twlogeye report syslog' 'twlogeye report anomaly syslog'
信息
分类
AI与计算