performing-log-source-onboarding-in-siem

在 SIEM 平台中执行结构化日志源接入,通过配置采集器、解析器、归一化和验证, 实现完整的安全可视化覆盖。

9 stars

Best use case

performing-log-source-onboarding-in-siem is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

在 SIEM 平台中执行结构化日志源接入,通过配置采集器、解析器、归一化和验证, 实现完整的安全可视化覆盖。

Teams using performing-log-source-onboarding-in-siem should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/performing-log-source-onboarding-in-siem/SKILL.md --create-dirs "https://raw.githubusercontent.com/killvxk/cybersecurity-skills-zh/main/skills/performing-log-source-onboarding-in-siem/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/performing-log-source-onboarding-in-siem/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How performing-log-source-onboarding-in-siem Compares

Feature / Agentperforming-log-source-onboarding-in-siemStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

在 SIEM 平台中执行结构化日志源接入,通过配置采集器、解析器、归一化和验证, 实现完整的安全可视化覆盖。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 执行 SIEM 日志源接入

## 概述

日志源接入(Log Source Onboarding)是将新数据源集成到 SIEM 平台以实现安全监控和检测的系统化过程。规范的接入流程需要规划数据源、配置采集 Agent、构建解析器、将字段归一化到通用 Schema,并验证数据质量。英国 NCSC 建议优先接入安全价值相对于摄入成本最高的日志源。

## 前置条件

- 已部署 SIEM 平台(Splunk、Elastic、Sentinel、QRadar 或类似产品)
- 源系统到 SIEM 采集器之间的网络访问
- 目标系统的管理员权限,用于安装 Agent
- 通用信息模型(CIM)或等效 Schema 文档
- 针对生产系统变更的变更管理审批

## 日志源优先级框架

### 第一级 — 关键(优先接入)

| 来源 | 日志类型 | 安全价值 |
|---|---|---|
| Active Directory | 安全事件日志 | 认证、权限提升 |
| 防火墙 | 流量日志 | 网络访问、C2 检测 |
| EDR/AV | 终端告警 | 恶意软件、进程执行 |
| VPN/远程访问 | 连接日志 | 未授权访问 |
| DNS 服务器 | 查询日志 | C2 信标、数据渗漏 |
| 邮件网关 | 邮件安全日志 | 网络钓鱼、商业邮件欺诈(BEC) |

### 第二级 — 高优先级

| 来源 | 日志类型 | 安全价值 |
|---|---|---|
| Web 代理 | HTTP/HTTPS 日志 | 基于 Web 的攻击、数据渗漏 |
| 云平台(AWS/Azure/GCP) | 审计日志 | 云安全态势 |
| 数据库服务器 | 审计/查询日志 | 数据访问、SQL 注入 |
| DHCP/IPAM | 地址分配日志 | 资产追踪 |
| 文件服务器 | 访问日志 | 数据访问监控 |

### 第三级 — 标准

| 来源 | 日志类型 | 安全价值 |
|---|---|---|
| 应用服务器 | 应用日志 | 应用层攻击 |
| 打印服务器 | 打印日志 | 数据丢失防护 |
| 门禁/物理访问 | 门禁日志 | 物理安全关联 |
| 网络设备(交换机/路由器) | Syslog | 网络异常 |

## 接入流程

### 步骤 1:发现与评估

```
1. 识别日志源:
   - 系统类型和版本
   - 日志格式(syslog、CEF、JSON、Windows 事件等)
   - 日志量估算(EPS — 每秒事件数)
   - 网络位置和防火墙要求

2. 评估安全价值:
   - 该来源能帮助检测哪些威胁?
   - 覆盖哪些 MITRE ATT&CK 技术?
   - 是否已有 SIEM 解析器?

3. 估算摄入成本:
   - 每日量(GB)
   - License 影响(按 GB 或按 EPS 计费)
   - 存储保留要求
```

### 步骤 2:配置日志采集

#### 基于 Syslog 的采集(防火墙、网络设备)

```conf
# rsyslog 接收 syslog 的配置
# /etc/rsyslog.d/10-siem-collection.conf

# UDP 接收
module(load="imudp")
input(type="imudp" port="514" ruleset="siem_forwarding")

# TCP 接收
module(load="imtcp")
input(type="imtcp" port="514" ruleset="siem_forwarding")

# TLS 接收
module(load="imtcp" StreamDriver.AuthMode="x509/name"
       StreamDriver.Mode="1" StreamDriver.Name="gtls")
input(type="imtcp" port="6514" ruleset="siem_forwarding")

ruleset(name="siem_forwarding") {
    # 转发到 SIEM
    action(type="omfwd" target="siem.company.com" port="9514"
           protocol="tcp" queue.type="LinkedList"
           queue.filename="siem_fwd" queue.maxdiskspace="1g"
           queue.saveonshutdown="on" action.resumeRetryCount="-1")
}
```

#### Windows 事件日志采集(Splunk Universal Forwarder)

```conf
# Splunk Universal Forwarder 上的 inputs.conf
[WinEventLog://Security]
disabled = 0
index = wineventlog
sourcetype = WinEventLog:Security
evt_resolve_ad_obj = 1
checkpointInterval = 5

[WinEventLog://System]
disabled = 0
index = wineventlog
sourcetype = WinEventLog:System

[WinEventLog://Microsoft-Windows-Sysmon/Operational]
disabled = 0
index = wineventlog
sourcetype = XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
renderXml = true

[WinEventLog://Microsoft-Windows-PowerShell/Operational]
disabled = 0
index = wineventlog
sourcetype = XmlWinEventLog:Microsoft-Windows-PowerShell/Operational
```

#### 云日志采集(AWS CloudTrail)

```json
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Resources": {
    "CloudTrailToSIEM": {
      "Type": "AWS::CloudTrail::Trail",
      "Properties": {
        "TrailName": "siem-cloudtrail",
        "S3BucketName": "company-cloudtrail-logs",
        "IsLogging": true,
        "IsMultiRegionTrail": true,
        "IncludeGlobalServiceEvents": true,
        "EnableLogFileValidation": true,
        "EventSelectors": [
          {
            "ReadWriteType": "All",
            "IncludeManagementEvents": true,
            "DataResources": [
              {
                "Type": "AWS::S3::Object",
                "Values": ["arn:aws:s3"]
              }
            ]
          }
        ]
      }
    }
  }
}
```

### 步骤 3:解析与归一化

#### 自定义解析器示例(Splunk props.conf/transforms.conf)

```conf
# props.conf
[custom:firewall:logs]
SHOULD_LINEMERGE = false
LINE_BREAKER = ([\r\n]+)
TIME_PREFIX = ^
TIME_FORMAT = %Y-%m-%dT%H:%M:%S%z
MAX_TIMESTAMP_LOOKAHEAD = 30
TRANSFORMS-firewall = firewall_extract_fields
FIELDALIAS-src = src_addr AS src_ip
FIELDALIAS-dst = dst_addr AS dest_ip
EVAL-action = case(fw_action=="allow", "allowed", fw_action=="deny", "blocked", true(), "unknown")
EVAL-vendor_product = "Custom Firewall"
LOOKUP-geo = geo_ip_lookup ip AS dest_ip OUTPUT country, city, latitude, longitude

# transforms.conf
[firewall_extract_fields]
REGEX = ^(\S+)\s+(\S+)\s+action=(\w+)\s+src=(\S+):(\d+)\s+dst=(\S+):(\d+)\s+proto=(\w+)\s+bytes=(\d+)
FORMAT = timestamp::$1 hostname::$2 fw_action::$3 src_addr::$4 src_port::$5 dst_addr::$6 dst_port::$7 protocol::$8 bytes::$9
```

#### CIM 字段映射

| 原始字段 | CIM 字段 | 数据模型 |
|---|---|---|
| src_addr | src_ip | Network_Traffic |
| dst_addr | dest_ip | Network_Traffic |
| dst_port | dest_port | Network_Traffic |
| fw_action | action | Network_Traffic |
| bytes_sent + bytes_recv | bytes | Network_Traffic |
| user_name | user | Authentication |
| login_result | action | Authentication |
| process_path | process | Endpoint |

### 步骤 4:验证数据质量

```spl
# 验证事件是否正在到达
index=new_source earliest=-1h
| stats count by sourcetype, host, source

# 检查字段提取质量
index=new_source earliest=-1h
| stats count(src_ip) as has_src count(dest_ip) as has_dest count(action) as has_action count by sourcetype
| eval src_coverage=round(has_src/count*100,1)
| eval dest_coverage=round(has_dest/count*100,1)
| eval action_coverage=round(has_action/count*100,1)

# 验证 CIM 合规性
| datamodel Network_Traffic search
| search sourcetype=new_sourcetype
| stats count by source, sourcetype

# 检查时间戳解析问题
index=new_source earliest=-1h
| eval time_diff=abs(_time - _indextime)
| stats avg(time_diff) as avg_lag max(time_diff) as max_lag by host
| where avg_lag > 300
```

### 步骤 5:启用检测覆盖

```spl
# 验证现有关联搜索是否适用于新来源
index=new_source sourcetype=new_sourcetype
| tstats count from datamodel=Authentication by _time span=1h
| timechart span=1h count

# 创建特定于该来源的检测规则
[New Source - Authentication Anomaly]
search = index=new_source sourcetype=new_sourcetype action=failure \
| stats count by src_ip, user \
| where count > 10
```

## 接入检查清单

- [ ] 日志源已评估并获批
- [ ] 网络连通性已验证
- [ ] 采集 Agent/方式已配置
- [ ] 日志转发已确认
- [ ] 解析器/字段提取已配置
- [ ] CIM 合规性已验证
- [ ] 数据模型加速已启用
- [ ] 数据量在 License 预算范围内
- [ ] 保留策略已配置
- [ ] 检测规则已启用/创建
- [ ] 仪表板已更新
- [ ] 文档已完成
- [ ] SOC 团队已收到通知

## 参考资料

- UK NCSC — 系统和日志源接入:https://www.ncsc.gov.uk/collection/building-a-security-operations-centre/onboarding-systems-and-log-sources
- Sumo Logic — 云 SIEM 接入检查清单:https://help.sumologic.com/docs/cse/get-started-with-cloud-siem/onboarding-checklist-cse/
- SIEM 日志记录最佳实践 — Coralogix:https://coralogix.com/guides/siem/siem-logging/
- Huntress — SIEM 实施指南:https://www.huntress.com/siem-guide/siem-implementation-guide

Related Skills

performing-yara-rule-development-for-detection

9
from killvxk/cybersecurity-skills-zh

通过识别可执行文件中的唯一字节模式、字符串和行为指标,开发精准的 YARA 恶意软件检测规则,同时将误报率降至最低。

performing-wireless-security-assessment-with-kismet

9
from killvxk/cybersecurity-skills-zh

使用 Kismet 通过被动射频监控进行无线网络安全评估,检测流氓接入点(Rogue AP)、隐藏 SSID、弱加密和未授权客户端。

performing-wireless-network-penetration-test

9
from killvxk/cybersecurity-skills-zh

执行无线网络渗透测试,通过捕获握手包、破解 WPA2/WPA3 密钥、检测流氓接入点以及使用 Aircrack-ng 和相关工具测试无线网络分段,评估 WiFi 安全性。

performing-windows-artifact-analysis-with-eric-zimmerman-tools

9
from killvxk/cybersecurity-skills-zh

使用 Eric Zimmerman 的开源 EZ Tools 套件(包括 KAPE、MFTECmd、PECmd、LECmd、JLECmd 和 Timeline Explorer)执行全面的 Windows 取证制品分析,解析注册表 hive、预取文件、事件日志和文件系统元数据。

performing-wifi-password-cracking-with-aircrack

9
from killvxk/cybersecurity-skills-zh

在授权无线安全评估中捕获 WPA/WPA2 握手包,并使用 aircrack-ng、hashcat 和字典攻击进行离线密码破解, 以评估密码短语强度和无线网络安全状况。

performing-web-cache-poisoning-attack

9
from killvxk/cybersecurity-skills-zh

在授权安全测试期间,通过未纳入缓存键的头部和参数毒化缓存响应,利用 Web 缓存机制向其他用户投递恶意内容。

performing-web-cache-deception-attack

9
from killvxk/cybersecurity-skills-zh

通过利用 CDN 缓存层与源服务器之间的路径规范化差异,执行 Web 缓存欺骗攻击,从而缓存并获取敏感的已认证内容。

performing-web-application-vulnerability-triage

9
from killvxk/cybersecurity-skills-zh

使用 OWASP 风险评级方法论对 DAST/SAST 扫描器的 Web 应用程序漏洞发现进行分类,区分真阳性和假阳性,并确定修复优先级。

performing-web-application-scanning-with-nikto

9
from killvxk/cybersecurity-skills-zh

Nikto 是一款开源 Web 服务器和 Web 应用程序扫描器,可针对超过 7,000 个潜在危险文件/程序进行测试,检查超过 1,250 个服务器的过期版本,并识别超过 270 个服务器的版本特定问题。

performing-web-application-penetration-test

9
from killvxk/cybersecurity-skills-zh

遵循 OWASP Web 安全测试指南(WSTG)方法论,对 Web 应用程序执行系统化安全测试,识别认证、授权、 输入验证、会话管理和业务逻辑中的漏洞。测试人员以 Burp Suite 作为主要拦截代理,结合手动测试技术 发现自动化扫描器遗漏的缺陷。适用于 Web 应用渗透测试、OWASP 测试、应用安全评估或 Web 漏洞测试等请求场景。

performing-web-application-firewall-bypass

9
from killvxk/cybersecurity-skills-zh

使用编码技术、HTTP 方法操控、参数污染和载荷混淆绕过 Web 应用防火墙保护,将 SQL 注入、XSS 及其他攻击载荷穿透 WAF 检测规则。

performing-vulnerability-scanning-with-nessus

9
from killvxk/cybersecurity-skills-zh

使用 Tenable Nessus 执行认证和未认证漏洞扫描,识别网络基础设施、服务器和应用程序中的已知漏洞、 错误配置、默认凭据和缺失补丁。扫描器将发现与 CVE 数据库和 CVSS 评分关联,生成优先级修复指导。 适用于漏洞扫描、Nessus 评估、补丁合规检查或自动化漏洞检测等请求场景。