Chat now with support
Chat with Support

One Identity Safeguard for Privileged Sessions 6.11.1 - Administration Guide

Preface Introduction The concepts of One Identity Safeguard for Privileged Sessions (SPS)
The philosophy of One Identity Safeguard for Privileged Sessions (SPS) Policies Credential Stores Plugin framework Indexing Supported protocols and client applications Modes of operation Connecting to a server through One Identity Safeguard for Privileged Sessions (SPS) Archive and backup concepts Maximizing the scope of auditing IPv6 in One Identity Safeguard for Privileged Sessions (SPS) SSH host keys Authenticating clients using public-key authentication in SSH The gateway authentication process Four-eyes authorization Network interfaces High Availability support in One Identity Safeguard for Privileged Sessions (SPS) Versions and releases of One Identity Safeguard for Privileged Sessions (SPS) Accessing and configuring One Identity Safeguard for Privileged Sessions (SPS)
Cloud deployment considerations The Welcome Wizard and the first login Basic settings
Supported web browsers and operating systems The structure of the web interface Network settings Configuring date and time System logging, SNMP and e-mail alerts Configuring system monitoring on SPS Data and configuration backups Archiving and cleanup Using plugins Forwarding data to third-party systems Starling integration
User management and access control Managing One Identity Safeguard for Privileged Sessions (SPS)
Controlling One Identity Safeguard for Privileged Sessions (SPS): reboot, shutdown Managing Safeguard for Privileged Sessions (SPS) clusters Managing a High Availability One Identity Safeguard for Privileged Sessions (SPS) cluster Upgrading One Identity Safeguard for Privileged Sessions (SPS) Managing the One Identity Safeguard for Privileged Sessions (SPS) license Accessing the One Identity Safeguard for Privileged Sessions (SPS) console Sealed mode Out-of-band management of One Identity Safeguard for Privileged Sessions (SPS) Managing the certificates used on One Identity Safeguard for Privileged Sessions (SPS)
General connection settings HTTP-specific settings ICA-specific settings MSSQL-specific settings RDP-specific settings SSH-specific settings Using Sudo with SPS Telnet-specific settings VMware Horizon View connections VNC-specific settings Indexing audit trails Using the Search interface Advanced authentication and authorization techniques Reports The One Identity Safeguard for Privileged Sessions (SPS) REST API One Identity Safeguard for Privileged Sessions (SPS) scenarios Troubleshooting One Identity Safeguard for Privileged Sessions (SPS) Using SPS with SPP Configuring external devices Using SCP with agent-forwarding Security checklist for configuring One Identity Safeguard for Privileged Sessions (SPS) Jumplists for in-product help Configuring SPS to use an LDAP backend Glossary

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>"
               }
             ]
       }
    }
    ...

Encrypting a PKCS#11 PIN

The PKCS#11 PIN(s) must be protected by additional encryption. The indexerconfigcrypter tool must be used to encrypt the PIN(s).

To encrypt the PIN(s)

  1. Encrypt the PIN.

    The PINs can be encrypted with a custom passphrase or a default one is used if no custom passphrase is provided. A custom passphrase is more secure, but interaction is needed to start or restart the external-indexer service. Using a custom passphrase is supported on hosts running CentOS 7 or later.

    Issue either of the following commands:

    • Using a default password (CentOS 6 or 7): indexerconfigcrypter --input <your-PIN>

    • Using a custom password (CentOS 7 or later): indexerconfigcrypter --input <your-PIN> --password

    It is possible to configure multiple slots. In that case, the PINs must be encrypted using the same passphrase.

  2. Update the "pkcs11" object in the indexerworker.cfg file.

    The encrypted PINs must be stored in the "pin" field of the configuration file (in the example, a SoftHSM is used):

    ...
       "pkcs11": {
           "custom_password": true
           "slots": [
             {
               "library": "/usr/lib/softhsm/libsofthsm.so",
               "slot_id": 0,
               "pin": "<your-encrypted-PIN>"
             }
           ]
       }
    ...

Starting and restarting the external-indexer service when using a custom password for PKCS#11 PIN encryption

When you choose to encrypt the PKCS#11 PIN(s) using a custom password, on starting or restarting the external-indexer service, you are asked to enter your password using a special tool.

To provide your password using the required tool

  1. Start the external-indexer service:

    systemctl start external-indexer
  2. The external-indexer service prompts you to provide a password using the systemd-ask-password tool. Issue:

    systemd-tty-ask-password-agent
  3. Provide the password at the prompt. You can use multiple agents to enter the password.

  4. Once the external indexer(s) have been started or restarted, make sure that all the indexers have started up successfully.

    For example, on CentOS 7, you can use:

    systemctl status external-indexer

Configuring SoftHSM

SoftHSM is the software implementation of an HSM. It can be installed from the EPEL repository. The configuration of SoftHSM can be found at /etc/softhsm2.conf (CentOS 7), or /etc/softhsm.conf (CentOS 6).

The following describes how to configure SoftHSM.

NOTE: Depending on the exact SoftHSM solution that you are using, the steps described here may slightly differ.

NOTE: The following steps assume that:

  • You are on the host operating system.

  • The external indexer has been installed.

Prerequisites

The indexer user/group has the rights to read the data directory of SoftHSM and its contents, which defaults to /var/lib/softhsm.

To configure SoftHSM

  1. Initialize directories for SoftHSM.

    mkdir -p /var/lib/softhsm
    chgrp -R indexer /var/lib/softhsm
  2. Configure slots for softhsm1 (CentOS 6). For softhsm2 (CentOS 7), you can skip this step.

    cat /etc/softhsm.conf
    0:/var/lib/softhsm/slot0.db
    1:/var/lib/softhsm/slot1.db
  3. Initialize slot 0 (softhsm1).

    softhsm --init-token --slot 0 --label "<your-slot-label>" –-<so-pin> topsecret --pin <your-SoftHSM-PIN>
  4. Initialize a new slot (softhsm2) and get the slot ID:

    softhsm2-util --init-token --free --label "<your-slot-label>" --<so-pin> topsecret --pin <your-SoftHSM-PIN>
    SLOT_ID=$(softhsm2-util --show-slots | grep -B 15 "<your-slot-label>" | grep "Slot [0-9]" | head -n 1 | cut -d ' ' -f 2)
  5. Import your keys. Your keys must be in the .der format.

    For softhsm1, use:

    pkcs11-tool --module /usr/lib/softhsm/libsofthsm.so -l -y privkey --slot 0 -w key.der -d 001 -a <your-key-label> --pin <your-SoftHSM-PIN>

    For softhsm2, use:

    pkcs11-tool --module /usr/lib/softhsm/libsofthsm2.so -l -y privkey --slot 0 -w key.der -d 001 -a <your-key-label> --pin <your-SoftHSM-PIN>
  6. Make sure that the indexer user/group has execute right to the token directory and read right to the token files below the /var/lib/softhsm/tokens/ directory.

  7. Test your SoftHSM configuration with the indexer.

    source /etc/indexer/external-indexer.env
    indexerworker -l -v 7 --pkcs11-lib "<your-SoftHSM-library>" --pkcs11-slot-id 0 --pkcs11-pin "<your-SoftHSM-PIN>"
  8. Encrypt the PKCS#11 PIN(s). For detailed instructions, see Encrypting a PKCS#11 PIN.

  9. Update the "pkcs11" object in the /etc/indexer/indexerworker.cfg file.

    ...
       "pkcs11": {
           "slots": [
             {
               "library": "/usr/lib/softhsm/libsofthsm.so",
               "slot_id": 0,
               "pin": "<your-encrypted-PIN>"
             }
           ]
       }
    ...
Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating