关于 siem
siem 是面向蓝队安全监控与事件响应的技能,支持采集并关联安全日志、应用 Sigma 或 YARA 规则、生成告警,并使用 Kibana 等工具展示分析结果。
主要功能
- 01采集并解析安全日志
- 02应用 Sigma 或 YARA 检测规则
- 03生成并升级告警
- 04关联多个来源的事件
- 05使用 Kibana 可视化结果
适用场景
- 01调查可疑网络活动
- 02从事件日志检测登录失败
- 03针对高严重性事件发出告警
- 04在事件响应中关联活动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill siem安装后在 Claude Code 中输入/siem确认已加载。
详细介绍
siem
用途
此技能可实时监控和分析安全事件与日志,以检测威胁并支持事件响应,重点关注蓝队运营。
使用时机
在主动安全监控期间使用此技能,例如调查网络日志中的异常、响应潜在入侵,或关联不同系统中的事件。在企业网络等日志量较大的环境中使用此技能,以便优先处理警报,而不是手动审查日志。
主要功能
- 实时摄取和解析来自 syslog、Windows Event Logs 或云 API 等来源的日志。
- 基于 Sigma 或 YARA 格式的威胁检测规则,用于自定义特征。
- 通过电子邮件、Slack 或 webhook 集成生成并升级警报。
- 关联事件以识别模式,例如登录失败后发生数据外泄。
- 使用 Kibana 等工具进行仪表板可视化,快速了解事件频率和主要威胁等指标。
使用模式
要设置监控,请先配置数据源,然后定义查询或规则。持续使用时,可在脚本中运行定期查询,或通过 API 调用进行集成。模式 1:查询日志以查找特定事件。模式 2:通过安排规则检查来自动发送警报。操作前始终使用环境变量进行身份验证,例如设置 $SIEM_API_KEY。
常用命令/API
快速执行任务时使用 SIEM CLI,程序化访问时使用 REST API。所有请求都需要通过 $SIEM_API_KEY 环境变量进行身份验证。
-
CLI 命令:使用筛选条件查询日志。示例:
siem query --index security-logs --filter 'event_type=login AND status=failure' --limit 100 --output json -
CLI 命令:创建警报规则。示例:
siem rule add --name suspicious-activity --query 'source_ip=unknown AND action=access' --threshold 5 --action webhook --url https://webhook.example.com -
API 端点:提交事件(POST /api/v1/events)。代码片段示例:
import requests; import os headers = {'Authorization': f'Bearer {os.environ["SIEM_API_KEY"]}'} response = requests.post('https://api.siem.com/api/v1/events', headers=headers, json={'event': 'login_failure', 'details': {'ip': '192.168.1.1'}}) -
API 端点:查询事件(GET /api/v1/query)。代码片段示例:
import requests; import os params = {'filter': 'event_type=access', 'time_range': 'last_hour'} response = requests.get('https://api.siem.com/api/v1/query', headers={'Authorization': f'Bearer {os.environ["SIEM_API_KEY"]}'}, params=params) print(response.json())
配置格式:规则使用 JSON,例如 {"name": "rule1", "query": "event_type=login", "threshold": 10}。将其存储在文件中,并通过 siem config load --file rules.json 加载。
集成说明
通过配置 webhook 或 API 轮询,将 SIEM 与防火墙或 IDS 等工具集成。身份验证始终使用环境变量中的 $SIEM_API_KEY;例如:export SIEM_API_KEY=your_key。要与其他蓝队工具关联,请使用 SIEM webhook 端点(例如 POST /api/v1/webhook)接收传入事件。要转发数据,请在配置文件中设置导出器,例如:
[exporter]
type = "splunk"
url = "https://splunk.example.com"
auth_key = "$SIEM_API_KEY"
通过发送测试事件来测试集成:siem test-integration --type splunk --payload '{"event": "test"}'。
错误处理
常见错误包括因缺少 $SIEM_API_KEY 导致的身份验证失败(例如 401 Unauthorized),可通过检查环境变量解决。对于查询错误(例如筛选条件无效),请检查语法并使用 siem query --debug 查看日志。API 超时(例如 504)可通过在代码中采用指数退避重试来处理:
import time; import requests
try: response = requests.get('https://api.siem.com/api/v1/query', timeout=5)
except requests.exceptions.Timeout: time.sleep(2); response = requests.get('https://api.siem.com/api/v1/query', timeout=5)
解析错误响应以获取详细信息,例如,如果 response.status_code == 400,则记录 JSON 错误消息。始终在脚本中为 CLI 命令添加错误检查,例如 if [ $? -ne 0 ]; then echo "Command failed"; fi。
具体使用示例
示例 1:检测过去 1 小时内的登录失败事件。
首先,设置环境变量:export SIEM_API_KEY=your_api_key
然后,运行:siem query --index auth-logs --filter 'event_type=login AND status=failure AND timestamp>now-1h' --output json
分析输出:使用 jq 管道解析,例如:siem query ... | jq '.events[] | select(.ip=="suspicious")'
示例 2:为高严重性事件设置警报。
创建规则:siem rule add --name high-severity-alert --query 'severity>7' --action email --recipients [email protected]
设置计划:使用 cron 每隔 5 分钟运行一次 siem rule check --name high-severity-alert。
验证:使用 siem logs --rule high-severity-alert 检查已触发的事件。
图关系
- 连接到:blue-team 集群
- 相关标签:siem、blue-team、security-monitoring
- 链接:通过共享 API 与其他 blue-team 技能集成;依赖 security-monitoring 提供事件源