Splunk - Chiffrement des communications partie 1
Alasta 1 Novembre 2021 splunk splunk gui cli admin chiffrement
Description : Chiffrement des communications des différents composants Splunk partie 1 - SplunkWeb.
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.