If the audit trails you want to index are encrypted, complete the following steps to make the decryption keys available for the indexer.
To make the decryption keys available for the external indexer
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.
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 /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.
In the /opt/external-indexer/usr/bin/ folder, issue the following command: indexer-keys-json
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>
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>
If the key is password protected, enter the password to the private key.
To add additional certificates, re-run the indexer-keys-json command.
You can now start the indexer service. For more information, see Starting the 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:
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:
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.
Load the environment for the indexer commands:
source /etc/indexer/external-indexer.env
Test your environment.
Option #1: Use the pkcs11-tool to test your environment:
List the available slots.
pkcs11-tool --modul <path-to-pkcs11-library> -L
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>
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>" } ] } } ...
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)
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.
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>" } ] } ...
© ALL RIGHTS RESERVED. Conditions d’utilisation Confidentialité Cookie Preference Center