IBM QRadar via Fluentd¶
Example overview¶
Webhooks can be used as system log sources. The number of log sources depends on the system complexity: the more components in the system, the greater number of log sources and logs. The most common logging scheme in complex systems consists of the following components:
-
Log collector: accepts logs from several sources and forwards logs to the SIEM system
-
SIEM system: used to analyze logs and monitor the system status
In the provided example, events are sent via webhooks to the Fluentd log collector and forwarded to the QRadar SIEM system.
Used resources¶
-
Fluentd installed on Debian 10.4 (Buster) and available on
https://fluentd-example-domain.com
-
QRadar V7.3.3 installed on Linux Red Hat and available with the IP address
https://109.111.35.11:514
-
Administrator access to Wallarm Console in EU cloud to configure the webhook integration
Wallarm Cloud IP addresses
To provide Wallarm Cloud access to your system, you may need a list of its public IP addresses. To get these addresses, request them from the Wallarm technical support team.
Note that the public IP addresses of Wallarm Cloud can change from time to time. If your experience some problems with the addresses that you currently use, request up-to-date addresses from the Wallarm technical support team.
Since the links to the Fluentd and QRadar services are cited as examples, they do not respond.
Fluentd configuration¶
Fluentd is configured in the td-agent.conf
file:
-
Incoming webhook processing is configured in the
source
directive:- Traffic is sent to port 9880
- Fluentd is configured to accept only HTTPS connections
- Fluentd TLS certificate signed by a publicly trusted CA is located within the file
/etc/ssl/certs/fluentd.crt
- Private key for TLS certificate is located within the file
/etc/ssl/private/fluentd.key
-
Forwarding logs to QRadar and log output are configured in the
match
directive:- All event logs are copied from Fluentd and forwarded to QRadar at the IP address
https://109.111.35.11:514
- Logs are forwarded from Fluentd to QRadar in the JSON format according to the Syslog standard
- Connection with QRadar is established via TCP
- Fluentd logs are additionally printed on the command line in JSON format (19-22 code lines). The setting is used to verify that events are logged via Fluentd
- All event logs are copied from Fluentd and forwarded to QRadar at the IP address
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
A more detailed description of configuration files is available in the official Fluentd documentation.
Testing Fluentd configuration
To check that Fluentd logs are created and forwarded to QRadar, the PUT or POST request can be sent to Fluentd.
Request example:
curl -X POST 'https://fluentd-example-domain.com' -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}'
Fluentd logs:
QRadar logs:
QRadar log payload:
QRadar configuration (optional)¶
In QRadar, the log source is configured. It helps to easily find Fluentd logs in the list of all logs in QRadar, and can also be used for further log filtering. The log source is configured as follows:
-
Log Source Name:
Fluentd
-
Log Source Description:
Logs from Fluentd
-
Log Source Type: type of incoming logs parser used with Syslog standard
Universal LEEF
-
Protocol Configuration: standard of logs forwarding
Syslog
-
Log Source Identifier: Fluentd IP address
-
Other default settings
A more detailed description of QRadar log source setup is available in the official IBM documentation.
Configuration of webhook integration¶
-
Webhooks are sent to
https://fluentd-example-domain.com
-
Webhooks are sent via POST requests
-
Additional authentication parameter
X-Auth-Token
is passed in the request -
Webhooks sent to Webhook URLs are all available events: hits, system events, vulnerabilities, scope changes
Example testing¶
To test the configuration, a new user is added in Wallarm Console:
Fluentd will log the event as follows:
The following data in JSON format will be displayed in the QRadar log payload: