Configuring SIEM (HTTP & Syslog)
SIEM forwarding sends audit events to a Security Information and Event Management system. AppProfileSafe supports two transport modes: HTTP/HTTPS (JSON POST) and Syslog UDP (RFC 5424). Configuration is stored in siem.xml.
Connection Settings
The <Connection> element in siem.xml controls transport and authentication:
| Setting | Description | Default |
|---|---|---|
Active |
Global enable/disable switch for SIEM forwarding | false |
Protocol |
HTTP, HTTPS, SyslogUdp, SyslogTcp, TCP, UDP |
SyslogUdp |
Host |
SIEM server hostname or IP | localhost |
Port |
Target port | 514 |
EndpointUrl |
Full URL including path (e.g. https://splunk:8088/services/collector). Takes precedence over Host:Port. |
— |
UseTls |
Enable TLS/SSL (for TCP and HTTP) | false |
ValidateCertificate |
Validate server certificate | true |
TimeoutSeconds |
Connection timeout per request | 5 |
RetryAttempts |
Per-connection retry count (separate from pipeline-level retries) | 3 |
Authentication (HTTP/HTTPS)
For HTTP-based SIEM endpoints, use one of the following authentication methods:
| Method | XML Element | Credential Store Reference |
|---|---|---|
| API Key | <ApiKey> |
<ApiKeyCredRef> |
| Bearer Token | <BearerToken> |
<BearerTokenCredRef> |
| Basic (User/Pass) | <Username> + <Password> |
<PasswordCredRef> |
Recommended: Use CredRef elements to store secrets in Windows Credential Manager instead of inline plaintext values. The AuthScheme element controls authentication header construction: Auto (default, heuristic), Bearer, Basic, ApiKey, Splunk, or None. Use AuthHeaderName for custom API key headers (e.g. DD-API-KEY).
Message Format
The <Format> element controls how events are serialized:
| Setting | Description | Default |
|---|---|---|
MessageFormat |
CEF, LEEF, JSON, Syslog, CSV |
CEF |
SyslogFacility |
Syslog facility number (0–23) | 16 (local0) |
SyslogSeverity |
Base Syslog severity (overridden per-event by actual severity) | Informational |
ApplicationName |
Application identifier in SIEM messages | AppProfileSafe |
CustomFields |
Additional key-value pairs for SIEM correlation (e.g. Environment=Production) |
— |
Event Filtering
The optional <Filtering> element controls which events are forwarded to the SIEM:
<Filtering>
<OnlyFailures>false</OnlyFailures>
<MinimumSeverity>Info</MinimumSeverity>
<IncludeActions>
<Action>ExportCompleted</Action>
<Action>ImportCompleted</Action>
</IncludeActions>
<ExcludeActions>
<Action>ExportStarted</Action>
</ExcludeActions>
</Filtering>
| Setting | Description |
|---|---|
OnlyFailures |
When true, only forward events where Success = false |
MinimumSeverity |
Minimum severity level: Info, Warning, Error, Critical |
IncludeActions |
Whitelist of action names to forward (if set, only these are sent) |
ExcludeActions |
Blacklist of action names to suppress |
HTTP vs. Syslog
Both transports use the same siem.xml configuration — the Protocol value determines which sink is activated:
| Property | siem-http | siem-syslog |
|---|---|---|
| Activated when | Protocol = HTTP (or HTTPS) |
Any other protocol value |
| Transport | HTTPS POST with JSON body | UDP datagram (RFC 5424) |
| Headers sent | X-Event-Id, X-Operation-Id, auth headers |
— |
| Critical by default | Yes (delivery tracked, retried) | No (best-effort, UDP has no acknowledgement) |
Connection Test
AppProfileSafe tests the SIEM connection on startup. The test validates that the configured host and port are reachable using the appropriate transport (TCP socket connect, UDP send, or HTTP request). If the SIEM is active but unreachable, the application logs a warning. The connection test is skipped when <Active>false</Active>.