Chat now with support
Chat with Support

One Identity Safeguard for Privileged Sessions 5.9.0 - Administration Guide

Preface Introduction The concepts of SPS The Welcome Wizard and the first login Basic settings User management and access control Managing SPS
Controlling SPS: reboot, shutdown Managing Safeguard for Privileged Sessions clusters Managing a high availability SPS cluster Upgrading SPS Managing the SPS license Accessing the SPS console Sealed mode Out-of-band management of SPS Managing the certificates used on SPS
General connection settings HTTP-specific settings ICA-specific settings RDP-specific settings SSH-specific settings Telnet-specific settings VMware Horizon View connections VNC-specific settings Indexing audit trails Using the Search (classic) interface Using the Search interface Searching session data on a central node in a cluster Advanced authentication and authorization techniques Reports The SPS RPC API The SPS REST API SPS scenarios Troubleshooting SPS Configuring external devices Using SCP with agent-forwarding Security checklist for configuring SPS Jumplists for in-product help Third-party contributions About us

Configuring the external indexer


In order to connect to SPS and index the audit trails, you must configure the external indexer. Complete the following steps.


Unless you know exactly what you are doing, modify only the parameters you are instructed to.

  1. Log in to the SPS web interface, and navigate to Basic Settings > Local Services > Indexer service.

  2. Export the configuration file for the external indexer: click Export. (Note that the Export button is displayed only after the configuration to enable SPS to use remote indexers has been committed.)

    The configuration file contains the listening address (IP and port) of SPS, the OCR license, and the necessary keys for SSL authentication.

    Upload the file to the host of the external indexer.

  3. On the external indexer host, import the configuration file with the following command:

    indexer-box-config <configuration-file>.config
  4. Configure the external indexer service: open the /opt/external-indexer/etc/indexer/indexerworker.cfg configuration file for editing.

  5. To edit the number of worker groups assigned to a certain worker process type, find the worker_groups line.

    A worker group has the following parameters:

    • name: the name of the worker group

    • count: the number of workers to use for processing

    • capabilities: the type of job(s) this process will perform (index, screenshot, video, near-realtime)


      Setting the near-realtime capability exclusively determines whether active or closed sessions will be indexed. Take the following examples:

      • When setting [near-realtime, index] capabilities for a worker, that worker will only index active, ongoing sessions.

      • When setting [index, screenshot, video] capabilities for a worker, that worker will only index closed sessions.


      A connection policy configured with near real-time priority (Connection policy > Enable indexing > Priority) requires that you also configure indexer workers that are capable of near real-time indexing. To configure such indexer workers, set the near-realtime capability for the relevant workers.


      Indexer workers with the near-realtime capability require fewer CPU cores but more memory than indexer workers that do not have this capability.

    Make sure that the sum value of the workers are equal to the number of CPU cores in the host (or the number of CPU cores minus one if you want to save resources for other tasks).

    One Identity recommends using dedicated hosts for external indexing. If the host is not dedicated exclusively to the external indexer, decrease the number of workers accordingly.

  6. Optional step: To fine-tune performance, you can configure the number of OCR threads each worker can initiate using the ocr_thread_count key.

    The default setting is 3. When configuring this setting, pay attention to the available CPU cores, as raising the number of possible threads too high can impact performance negatively.

  7. Optional step: If instructed by One Identity Support, configure the OCR engine.

    Find the engine key, and change its value to one of the following options:

    • omnipage-external is the default setting. It provides the best performance and stability by allowing workers to initiate multiple OCR threads.

      This setting also allows you to search for images where OCR could not be performed. On the search UI of SPS enter the OOCCRRCCRRAASSHH search string to list all such images. If possible, contact our Support Team, so we can continue improving the engine.

      Note that multiple OCR threads can only speed up processing graphical protocols (RDP, VNC and ICA trails), and do not affect the processing speed for terminal-based protocols (telnet and SSH).

    • omnipage only supports one OCR thread per worker.

      If you have to use this option, make sure to also set the ocr_thread_count to 0.

  8. Save your changes. To continue with uploading decryption keys (for indexing encrypted audit trails), see Uploading decryption keys to the external indexer.

    To start the indexer service, see Starting the external indexer.

Uploading decryption keys to the external indexer


If the audit trails you want to index are encrypted, complete the following steps to make the decryption keys available for the indexer.

  1. Obtain the RSA private keys and the matching x.509 certificates in PKCS-1 PEM format, and copy them to the external indexer's host. Other certificate formats are not supported.

  2. Use the indexer-keys-json utility to transform the certificate and the private key to the required JSON format. When executed, the script asks for the path to the certificate and the private key, and the password of the private key. After the conversion, the password is removed.

    The utility automatically adds the certificate and the private key to the /opt/external-indexer/etc/indexer/indexer-certs.cfg keystore file. If you want to use a different keystore file, use the --keystore argument to specify another file. If the keystore already includes the certificate and the private key you want to add, they will be ignored.

    1. In the /opt/external-indexer/usr/bin/ folder, issue the following command: indexer-keys-json

    2. Enter the absolute path to the X.509 certificate. Alternatively, you can include this information as a parameter: indexer-keys-json --cert <path-to-certificate>

    3. Provide the absolute path to the corresponding private key. Alternatively, you can include this information as a parameter: indexer-keys-json --private-key <path-to-private-key>

    4. If the key is password protected, enter the password to the private key.

    5. To add additional certificates, re-run the indexer-keys-json command.

  3. You can now start the indexer service. For more information, see Starting the external indexer.

Configuring a hardware security module (HSM) or smart card to integrate with external indexer

It is possible to use a hardware security module (HSM) or a smart card to store the decryption keys required for decrypting audit trails. An HSM or a smart card is a tamper-resistant physical, software, or cloud solution that can securely store digital keys used for authentication.

The main steps of configuring a hardware security module (HSM) or smart card to integrate with an external indexer are as follows:

  1. Set up and test the environment.

  2. Encrypt the PKCS#11 PIN.

To see examples of how to configure various HSM or smart card solutions that you wish to integrate with your external indexer(s), consult the following sections:

Setting up and testing the environment

To access an HSM or smart card with the external indexer, a PKCS#11 shared library plugin must be used. In most cases, these libraries also need a background daemon or environment variables set. The PKCS#11 library must be accessible to the external indexer with a proper environment.

To set up the environment and test it, complete the following steps.

  1. Load the environment for the indexer commands:

    source /etc/indexer/external-indexer.env
  2. Test your environment.

    • Option #1: Use the pkcs11-tool to test your environment:

      1. List the available slots.

        pkcs11-tool --modul <path-to-pkcs11-library> -L
      2. List the objects in a slot.

        pkcs11-tool --modul <path-to-pkcs11-library> -l --slot <id> -O
    • Option #2: Use the indexerworker with the log level set to dump to see the available keys:

      indexerworker -l -v 7 --pkcs11-lib <path-to-pkcs11-library> --pkcs11-slot-id <id> --pkcs11-pin <pin>
  3. Assuming that the environment is ready, the external indexer must be configured to use the PKCS#11 library. To do so, edit /etc/indexer/indexerworker.cfg as follows:

    "settings": {
      "pkcs11": {
             "custom_password": false
             "slots": [
                 "library": "<path-to-pkcs11-library>",
                 "slot_id": <slot-number>,
                 "pin": "<your-encrypted-PIN>"
Related Documents