Description :

Nous allons voir comment chiffrer les communications Splunk :

  • L’accès au SplunkWeb du Search Head Cluster (SHC)

Dans cette partie 1 nous allons voir la configuration pour chiffrer l’accès à la GUI SplunkWeb.

Prérequis :

On partira sur la base de SHC et IDX cluster.

Important :
Bien avoir le splunk.secret et passwd sur toutes les machines Splunk Core/full install.

Génération des certificats :

Nous allons utiliser un certificat auto-signé, pour le SplunkWeb des US et SHC :

Commençons par la création de l’environnement sur us1 :

$ mkdir -p ~/certificate
$ cd ~/certificate

Création de la clés CA :

$ openssl genrsa  -out rootCA.key 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
..............................................................................................................................................++++
.........................................................................................................................++++
e is 65537 (0x010001)

Création et signature du certificat CA :

$ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:FR
State or Province Name (full name) []:France
Locality Name (eg, city) [Default City]:Paris
Organization Name (eg, company) [Default Company Ltd]:Alasta
Organizational Unit Name (eg, section) []:SIT
Common Name (eg, your name or your server\'s hostname) []:ca.udmiot.lab
Email Address []:

Création de la clés du certificat du serveur :

$ openssl genrsa -out wildcard_web.udmiot.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
........+++++
......+++++
e is 65537 (0x010001)

Génération du csr :

$ openssl req -new -key wildcard_web.udmiot.key -out wildcard_web.udmiot.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:FR
State or Province Name (full name) []:France
Locality Name (eg, city) [Default City]:Paris
Organization Name (eg, company) [Default Company Ltd]:Alasta
Organizational Unit Name (eg, section) []:SIT
Common Name (eg, your name or your server's hostname) []:\*.udmiot.lab
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Génération du certificat :

$ openssl x509 -req -in wildcard_web.udmiot.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out wildcard_web.udmiot.pem -days 500 -sha256
Signature ok
subject=C = FR, ST = France, L = Paris, O = Alasta, OU = SIT, CN = \*.udmiot.lab
Getting CA Private Key

Génération du certificat avec la clés :

$ cat wildcard_web.udmiot.key > wildcard_web.udmiot_with_key.pem
$ cat wildcard_web.udmiot.pem >> wildcard_web.udmiot_with_key.pem

Mise en place :

Copions les fichiers dans la configuration Splunk de l’instance Deployer/us1 et Cluster Master/us2 :

$ mkdir -p /opt/splunk/etc/auth/my_cert/

$ cp wildcard_web.udmiot.key wildcard_web.udmiot.pem /opt/splunk/etc/auth/my_cert/

Création de l’app pour la configuration TLS :

$ mkdir -p /opt/splunk/etc/apps/custom_my_cert_tls/local/
$ vi /opt/splunk/etc/apps/custom_my_cert_tls/local/web.conf

[settings]
enableSplunkWebSSL = true
privKeyPath = etc/auth/my_cert/wildcard_web.udmiot.key
serverCert =  etc/auth/my_cert/wildcard_web.udmiot.pem

Redémarrage pour prise en compte :

$ sudo systemctl status Splunkd

Vérification :

Vérifier en se connectant à us1 et us2 en HTTPS sur le port 8000.

Configuration pour la mise en place sur le SHC :

Sur chaque SHC, créer le dossier de certificat et y copier le certificat et la clés :

$ mkdir -p /opt/splunk/etc/auth/my_cert/

Création de l’app à déployer sur le SHC depuis le Deployer us1 :

$ cd /opt/splunk/etc/shcluster/apps/

$ ln -s ../../apps/custom_my_cert_tls/

Deploiement :

$ /opt/splunk/bin/splunk apply shcluster-bundle -target https://shc1.udmiot.lab:8089

Vérification :

Vérifier en se connectant sur les Search Head en HTTPS sur le port 8000.