Identity Platform SIEM Integration Guide
Identity Platform SIEM Integration Guide
October 2021
Abstract
This guide describes how to configure the OAuth app and the SIEM user on a tenant, install a docked app
that retrieves IISP event logs, and obtain guidelines to set up the CyberArk Identity Services Add-on for
Splunk.
SIEM INTEGRATION GUIDE FOR IDAPTIVE IDENTITY SERVICE
Legal Notice
This guide contains proprietary information and ideas belonging to CyberArk Software Ltd. which are supplied solely for the purpose
of assisting explicitly and properly authorized users of the CyberArk software.
No part of its contents may be used for any other purpose, disclosed to any person or firm or reproduced by any means, electronic
and mechanical, without the express prior written permission of CyberArk Software Ltd.
The software described in this document is furnished under a license. The software may be used or copied only in accordance with
the terms of that agreement.
Information in this document, including the text and graphics which are made available for the purpose of illustration and reference
only, is subject to change without notice. Corporate and individual names and data used in examples herein are fictitious unless
otherwise noted.
Third party components used in the CyberArk software may be subject to applicable terms and conditions.
Third-party notices
For a list of third-party components and licenses, see the Third-party notices.
Copyright
Copyright © 1999-2021 CyberArk Software Ltd. All rights reserved.
CyberArk®, the CyberArk logo, and all other names and logos that appear in this Guide are trademarks of CyberArk Software Ltd.
and their respective owners.
Contents
Introduction ........................................................................................................... 3
Supported platforms........................................................................................ 3
Linux server hardware requirements .............................................................. 4
Supported Syslog Server projects .................................................................. 4
Set up the SIEM User and the OAuth App on the Tenant................................. 4
Introduction
CyberArk Syslog Writer and CyberArk Identity Threat Intelligence Syslog Wrier are docked
applications that capture events from Idaptive Identity Services and logs them to a syslog server.
The syslog then becomes the data source for a SIEM solution using Splunk or other SIEM
solution.
Syslog Writer is configured to start fetching IISP events from the previous day and then run every
five minutes to fetch events incrementally. Events are fetched from the IISP server using REST
APIs after authenticating via OAuth client credentials. Two syslog writers are available for
download from the CyberArk Identity Admin Portal:
The CyberArk Syslog Writer captures CyberArk Identity events and works with CyberArk
Identity Splunk Add-on v1.
The CyberArk Identity Threat Intelligence Syslog Writer captures CyberArk Identity User
Behavior Analytics (UBA) events and works with CyberArk Identity Splunk Add-on v1 and
other SIEM integrations, such as Qradar.
Note: Although it is possible to run both syslog writers on the same machine, it is best to run
them on separate machines.
This document provides instructions to install and configure Docker and the Syslog server. It
specifically focuses on CentOS 6.9 and docker installed on Windows 10 machine.
Supported platforms
Set up the SIEM User and the OAuth App on the Tenant
1. In the CyberArk Identity Admin Portal, go to Apps > Web Apps.
4. When prompted, add the Web App, OAuth2 Client, click Yes.
7. From the Tokens tab, for Auth methods, check Client Creds and click Save
8. From the Scope tab, under Scope definitions, click Add to add a new scope.
b. In the Allowed REST APIs section, click Add, and enter Redrock/query.*
c. Click Save.
10. In the Admin Portal, select Core Services > Users > Add User.
c. For the Password and Confirm Password, enter the password of your choice.
e. Select Is OAuth confidential client (Preview). This automatically also selects the
options Password never expires and Is Service User
12. In the Admin Portal, select to Core Services > Roles > Add Role.
13. In the Description tab > Name, enter service account and click Save.
14. Open the newly created role, and from the Members tab:
a. Click Add and search the siemuser that you created earlier (in Step 11 a).
b. Click Save.
a. Click Add.
c. Click Add.
d. Click Save.
a. Click Add.
c. Click Add.
d. Click Save.
17. On the CyberArk Identity Admin Portal, from the Core Services > Users tab check the
following:
The siemuser created earlier, is shown as the Cloud Directory User. Click it to open
the user’s page.
In Roles section for this user, the role named service account must be listed, with
Read Only System Administration in Administrative Rights.
18. On the CyberArk Identity Admin Portal, on the Apps > Web Apps tab check the
following:
Select OAuth2 Client
In the Permissions tab > Name column shows the earlier created role service
account with the View permission checked
The installation commands in this section are specific to CentOS 6.9. If you have another
supported OS, the following link takes you to the installation instructions for Docker on your OS:
https://docs.docker.com/engine/installation/
1. Make sure that the existing yum packages are updated and that the EPEL repository is
enabled:
2. Install Docker:
TCP ensures that no messages are lost even when the load is high, so it is used by Syslog
Writer for logging events to the Syslog server (local or remote). The steps in this section
are specific for setting up rsyslog to receive TCP input.
Note: If you have a different syslog server, you will need to modify the syntax accordingly.
rsyslog
a. Open the rsyslog configuration file.
sudo vi /etc/rsyslog.conf
b. Uncomment the following two lines in the rsyslog.conf file (if they are commented
out):
$ModLoad imtcp
$InputTCPServerRun 514
syslog-ng
a. Open the syslog-ng configuration file.
sudo vi /etc/syslog-ng.conf
source s_sys {
system();
internal();
# udp(ip(0.0.0.0) port(514));
};
c. Add the TCP settings to the end of the source s_sys section, so it looks like the
following:
source s_sys {
system();
internal();
# udp(ip(0.0.0.0) port(514));
tcp(ip(127.0.0.1) port(514));
};
2. Monitor syslog
Before starting Syslog Writer, it is helpful to keep another terminal window open to check
syslog:
The installation commands in this section are specific to Windows 10 Professional edition.
Note: A Windows 10 virtual machine running on the same network as the Linux system that
can do virtualization is also sufficient.
If you are using another supported platform, you must modify the syntax for setting up Docker
Desktop for your machine.
The steps in this section are specific for setting up rsyslog on CentOS 6.9.
If you have a different syslog server, you must modify the syntax accordingly.
sudo vi /etc/rsyslog.conf
b. Uncomment these two lines in the conf file (if they are commented out):
$ModLoad imtcp
$InputTCPServerRun 514
sudo vi /etc/sysconfig/iptables
b. Add this line before the COMMIT line, if it is not present already:
c. Restart iptables:
3. Before starting syslog writer, it is helpful to keep another terminal window open to check the
syslog:
2. Copy the zip file IIS_syslog_writer.zip from the Downloads page of the CyberArk
Identity Admin Portal.
On a Windows Server VM, make sure that the extracted folder is under the shared folder,
c:\Users.
For example, the extracted folder: C:\Users\<username>\apps\IIS_syslog_writer
3. Load the image from the tar file and make sure that syslogwriter_image is in the
images list:
cd <extracted_path>/IISP_syslog_writer
Windows command:
Automatic Restarting
If you want the container and the Syslog Writer to start automatically, if the Docker daemon
restarts for some reason (like machine restart), you can use the option --restart=always
in the run command, as shown below. Note that the container and the Syslog Writer will not
automatically restart if the container was manually stopped.
You can see the current console logs of the syslog writer container by using the logs
command in a Quickstart terminal:
If there was a failure during the initial interactive configuration, or to rerun or configure the Syslog
Writer with a fresh account:
sudo rm data/config.ini
3. Run the container again using same run command from the IISP_syslog_writer folder:
Use this command to start the container/syslog writer, if the container stops (due to the Docker
daemon or machine restart, etc.):
When the syslog writer restarts, it fetches events beyond the last event fetch date, which is
internally saved on the host machine, during previous run.
Only applies when syslog writer is started for first time. It is the number of hours before the
current time for the syslog writer to start fetching events. By default, it will fetch for 24 hours
(one day) before the current time in the UTC). If required, you can configure this in
config.ini by creating a copy from the config.ini.default file, before firing the
Docker run command.
batch_size (in minutes, default value: 10)
The number of minutes to fetch data for when the time range is large. By default, it fetches
data in batches of 10 minutes. When there is a larger time range such as 24 hours for the first
time run, it fetches data in batches of 10-minute sizes.
The frequency (in minutes) for running the Syslog Writer application. By default, it runs every
five minutes. During runtime, a change to this parameter will be reflected after the pending
job run is triggered.
This is for enabling debug level logs. In case of a problem with the behavior of syslog writer,
please set the value of this property to yes (debug = yes) and reproduce the problem. You
can then share an archive of the data/logs folder with Idaptive support for troubleshooting.
For a data load of 50 events per second and a rollback of 24 hours, it will take approximately 6.5
hours to catch up with current events after starting Syslog Writer. To avoid this delay, you might
want to consider using a smaller rollback value.
Note: Although it is possible to run the CyberArk Identity Threat Intelligence Syslog Writer on the
same machine as the CyberArk Syslog Writer, it is best to run them on separate machines.
To run the CyberArk Identity Threat Intelligence Syslog Writer, you need to create an API token
from the User Behavior Analytics Portal.
1. Sign into the CyberArk Identity Admin Portal and use the portal switcher to select User
Behavior Analytics.
Field Description
Enter a name for the API token.
Name
Select All from the drop-down menu.
Scopes
Select Unlimited to reuse the same token.
Expiration
5. Copy the API token you just created and then click Done.
The API token is required the first time you run the syslog writer.
docker rm syslog-writer
4. At the prompts, enter the following information (this is only required the first time you run
the syslog writer):
Description
Prompt
The Syslog server should now be up and running. You can check the events here:
/var/log/messages
Apart from data onboarding and parsing, the Splunk Add-on takes care of the following:
• Timestamp correction: The timestamp in Syslog is the time when logging happened
and not the actual time when the event occurred, so the timestamp of the IISP event in
Splunk is corrected by using the WhenOccurred field in the event payload.
• Custom sourcetype assignment: A new sourcetype called idaptive_IISP_syslog
is assigned to IISP events. This ensures that IISP events and other Syslog messages are
not touched unintentionally.
• Applying Idaptive headers: Headers such as product, category, and eventname
present in the payload are assigned to IISP events in Splunk.
• CIM compliance: The add-on maps IISP Authentication events to the Authentication
model of CIM.
In a distributed Splunk environment, the Splunk Universal Forwarder must be set up on the
machine with the Syslog server so that the IISP events in syslog get forwarded to the Indexer.
cd splunkuniversalforwader/bin
2. Add the Forward server in the bin folder, using the IP address of the Splunk Indexer as the
<ipaddress> and the Receiver port configured on the Splunk Indexer as the <port>
(usually 9997):
The Splunk Add-on must be installed on the indexer, and on the search head.
To install the Splunk Add-on from the Splunk Web UI, go to Apps > Browse, Select CyberArk
Identity Services Add-on for Splunk.
The Splunk Add-on is also available from the Downloads page on the CyberArk Identity Admin
Portal.