什么是日志源?
日志源是向 QRadar 发送安全事件数据的设备、应用或系统。
添加日志源完整流程
路径
Admin > Data Sources > Log Sources
步骤详解
- 点击 Add Log Source
- 选择 Log Source Type — 设备类型(如 Microsoft Windows Security Event Log)
- 选择 Protocol Configuration — 接收协议
- 配置参数:
- Log Source Name — 名称(如
DC-01-Windows-Security) - Log Source Identifier — 标识符(通常是 IP 或主机名)
- IP 或 Hostname — 日志源地址
- Port — 接收端口(默认 514 用于 Syslog)
- Log Source Name — 名称(如
- 保存并部署更改
常用协议详解
| 协议 | 适用场景 | 端口 | 优缺点 |
|---|---|---|---|
| Syslog (UDP) | 大多数网络设备、Linux | 514/UDP | 简单、开销小、可能丢包 |
| Syslog (TCP) | 重要日志源 | 514/TCP | 可靠传输、有连接开销 |
| TLS Syslog | 加密传输需求 | 6514/TCP | 安全、性能开销 |
| WinCollect | Windows 事件日志 | - | 功能丰富、需安装代理 |
| JDBC | 数据库日志 | - | 直接查询数据库 |
| SNMP | 网络设备陷阱 | 162/UDP | 设备状态告警 |
| OPSEC/LEA | Check Point 防火墙 | 18184/TCP | 原生集成 |
| Log File | 本地文件读取 | - | 适合无法发送日志的场景 |
Syslog 配置示例
Linux 服务器发送 Syslog:
# rsyslog 配置
vi /etc/rsyslog.conf
# 添加以下行
*.* @qradar-ip:514
# 重启 rsyslog
systemctl restart rsyslog
# 验证连通性
telnet qradar-ip 514
# 测试发送
echo "<13>Test message from $(hostname)" | nc -u qradar-ip 514FortiGate 防火墙 Syslog 配置:
# CLI 配置
config log syslogd setting
set status enable
set server "qradar-ip"
set port 514
set mode udp
set facility local0
end
# 选择发送的日志类型
config log syslogd filter
set severity information
endPalo Alto Networks Syslog 配置:
Device > Server Profiles > Syslog
- Name: QRadar-Syslog
- Syslog Server: qradar-ip
- Port: 514
- Transport: UDP
Objects > Log Forwarding
- 添加转发配置文件,关联到安全策略
WinCollect 配置示例
安装 WinCollect:
# 1. 从 QRadar Console 下载 WinCollect 安装包
# Admin > WinCollect Agent Management > Download Agent
# 2. 在 Windows 服务器上安装
# 运行安装向导,输入 QRadar Console IP
# 3. 验证连接
# 打开 WinCollect Configuration Console
# 查看 Status 是否为 ConnectedWinCollect 配置文件:
<!-- /opt/qradar/bin/wincollect_config.xml 示例 -->
<Agent>
<ServerAddress>qradar-console-ip</ServerAddress>
<ServerPort>8413</ServerPort>
<StatusServerAddress>qradar-console-ip</StatusServerAddress>
<LogSources>
<LogSource>
<Name>Windows-Security-Events</Name>
<Type>Microsoft Windows Security Event Log</Type>
<Protocol>WinCollect</Protocol>
<TargetEventLog>Security</TargetEventLog>
<Filter>EventID=4624 OR EventID=4625 OR EventID=4648</Filter>
</LogSource>
</LogSources>
</Agent>DSM(Device Support Module)
DSM 是 QRadar 解析特定厂商日志的模块。
- 已内置 450+ 种 DSM
- 可在 Admin > DSM Editor 查看和编辑
- 如厂商未内置 DSM,可使用 Universal DSM 或开发自定义 DSM
查看 DSM 状态:
# SSH 到 QRadar
ssh root@qradar-ip
# 查看已安装的 DSM
ls /opt/qradar/conf/v5.dsm/
# 查看 DSM 版本信息
cat /opt/qradar/conf/v5.dsm/*.xml | grep -i "version"验证日志源
验证命令:
# 1. 检查端口监听
netstat -tlnp | grep 514
# 或
ss -tlnp | grep 514
# 2. 检查 QRadar 是否收到原始日志
tail -f /var/log/qradar.log | grep "Log Source Name"
# 3. 检查 DSM 解析状态
/opt/qradar/bin/myver -v | grep -i "parser"
# 4. 在 Log Activity 中验证
# 过滤: LOGSOURCE = [你的日志源名称]日志源状态
在 Admin > System and License Management 中查看:
| 状态 | 含义 | 处置建议 |
|---|---|---|
| Active | 正常接收 | 无需操作 |
| Warning | 有警告 | 查看详情,可能解析错误或延迟 |
| Error | 错误 | 检查连接、认证、配置 |
| Inactive | 未激活 | 启用日志源或检查设备是否发送 |
# CLI 查看日志源状态
/opt/qradar/bin/myver -v | grep -i "log source"
# 查看日志源统计
/opt/qradar/bin/adoConfig.sh -l | grep -A5 "Log Source"批量管理
使用 Log Source Management App
# 安装 Log Source Management App(如未安装)
# Admin > Extensions > Install
# 批量导入 CSV 格式日志源
# CSV 格式示例:
# name,description,log_source_type,protocol_type,ip,port
# FW-01,Firewall FortiGate,FortiGate,syslog,192.168.1.1,514
# DC-01,Domain Controller,Windows Security,WinCollect,192.168.1.10,0API 批量创建
# /08-tools/python-api-toolkit/bulk_create_logsource.py
import requests
import csv
import urllib3
urllib3.disable_warnings()
BASE_URL = "https://qradar-ip/api"
HEADERS = {"SEC": "your-token", "Content-Type": "application/json"}
def create_log_source(config):
url = f"{BASE_URL}/config/event_sources/log_source_management/log_sources"
payload = {
"name": config["name"],
"description": config.get("description", ""),
"type_id": config["type_id"],
"protocol_type_id": config["protocol_type_id"],
"protocol_parameters": [
{"name": "incomingPayloadEncoding", "value": "UTF-8"}
]
}
r = requests.post(url, headers=HEADERS, json=payload, verify=False)
return r.json()
def bulk_import_from_csv(csv_file):
with open(csv_file, 'r') as f:
reader = csv.DictReader(f)
for row in reader:
result = create_log_source(row)
print(f"Created: {row['name']} -> {result}")
# 使用
# bulk_import_from_csv('log_sources.csv')常见问题排查
| 问题 | 排查命令/方法 | 解决方案 |
|---|---|---|
| 收不到日志 | tcpdump -i any port 514 | 检查防火墙、路由 |
| 解析错误 | tail -f /var/log/qradar.log | grep "parse" | 检查 DSM 版本、日志格式 |
| 时间戳不对 | 检查时区设置 | 统一使用 UTC 或相同时区 |
| 日志量过大 | df -h /store | 调整 EPS 限制、添加 Data Node |
| 日志源断开 | systemctl status hostservices | 重启服务或检查网络 |
排错流程
配套资源
- 📄
00-official-docs/7.5/IBM_QRadar_7.5_Administration_Guide.pdf第 3-4 章 - 📄
00-official-docs/7.5/IBM_QRadar_7.5_User_Guide.pdf - 🔗 IBM QRadar DSM 列表
上一章:初级 - 06 攻击基础 下一章:02 - 规则与构建块