Menu
InformatiWeb Pro
  • Index
  • Admin système
  • Virtualisation

Connexion

Inscription Mot de passe perdu ?
US
  • Windows Server
    • WMS 2012
    • WS2012 R2
    • WS2016
  • Citrix
    • Citrix NetScaler Gateway
    • Citrix XenApp / XenDesktop
    • Citrix XenServer
  • VMware
    • VMware ESXi
    • VMware vSphere
    • VMware Workstation
  • Microsoft
    • Hyper-V
  • RAID
    • Adaptec SmartRAID
  • UPS
    • APC Back-UPS Pro
  • InformatiWeb Pro
  • Virtualisation
  • VMware
  • Sécuriser l'accès à SexiLog (en HTTPS) grâce à SSL sous VMware vSphere 6.7
  • VMware
  • VMware vCenter Server (VCSA), VMware vSphere
  • 07 août 2024 à 10:11
  • InformatiWeb

Sécuriser l'accès à SexiLog (en HTTPS) grâce à SSL sous VMware vSphere 6.7

Précédemment, nous vous avions expliqué comment installer, configurer et utiliser SexiLog pour centraliser tous les logs de vos serveurs VMwar vCenter Server (ou VCSA) et de vos hôtes VMware ESXi.
Néanmoins, vous avez surement remarqué que l'interface web n'était accessible que via le protocole HTTP (qui n'est donc pas sécurisé).

Si vous souhaitez pouvoir accéder à cette interface web de manière sécurisée, vous devrez modifier légèrement la configuration du serveur Node.js utilisé dans cette machine virtuelle SexiLog.

  1. SexiLog accessible via le protocole HTTP (non sécurisé)
  2. Ajouter le support du HTTPS à SexiLog
  3. Créer un enregistrement DNS pour le serveur SexiLog
  4. SexiLog accessible via le protocole HTTPS (sécurisé)

1. SexiLog accessible via le protocole HTTP (non sécurisé)

Démarrez la machine virtuelle "SexiLog" (si ce n'est pas déjà fait).

Puis, accédez à son interface web en tapant son adresse IP dans la barre d'adresse.
Comme prévu, c'est le protocole HTTP qui est utilisé. Ce qui signifie que toutes les données passeront en clair dans votre réseau.

2. Ajouter le support du HTTPS à SexiLog

Pour ajouter le support du HTTPS pour l'interface web de SexiLog, connectez-vous à votre machine virtuelle SexiLog en SSH (via PuTTY, par exemple).
Pour rappel, les identifiants par défaut sont "root / Sex!Log".

Le SexiMenu de SexiLog apparait automatiquement.
Tapez 1 et appuyez sur Enter pour accéder au Shell Linux de votre machine virtuelle.

Ensuite, déplacez-vous dans le dossier du serveur Node.js :

Bash

cd /usr/lib/node_modules/kibana-proxy/

Pour ajouter le support du HTTPS, vous devez modifier le fichier "app.js" qui se trouve dans le dossier cité ci-dessus :

Bash

vim app.js

En haut de ce fichier "app.js", vous trouverez un bloc avec plusieurs variables (dont la variable "fs").
Déplacez-vous à l'endroit où se trouve le petit rectangle vert sur l'image ci-dessous et appuyez sur "i" pour passer en mode insertion.

Collez ces lignes de codes en respectant l'endroit où nous l'avons collé.
Le plus important étant que ce bout de code soit placé après la déclaration de la variable "fs" dont celui-ci dépend.

Plain Text

// HTTPS - Begin
var http = require('http');
var https = require('https');
var privateKey = fs.readFileSync('server.key', 'utf8');
var certificate = fs.readFileSync('server.crt', 'utf8');
var credentials = {key: privateKey, cert: certificate};
// HTTPS - End

Ensuite, un peu plus bas, vous trouverez la fonction "configureApp" dans laquelle se trouve la création du serveur web en HTTP (encadré en rouge sur l'image ci-dessous).
Commentez ces 3 lignes (encadrées en rouge sur l'image) en ajoutant "//" au début de chaque ligne.

Puis, ajoutez ceci après les 3 lignes que vous venez de commenter :

Plain Text

  // HTTPS - Begin
  // HTTP Server for the 301 redirection.
  http.createServer(function (req, res) {
    // 301 HTTP redirection from HTTP protocol to HTTPS protocol
    res.writeHead(301, { "Location": "https://" + req.headers['host'] + req.url });
    res.end();
  }).listen(80);
  // HTTPS Server
  https.createServer(credentials, app).listen(443);
  // HTTPS - End

Comme vous l'aurez facilement compris, ce code permet de :

  • créer un serveur web écoutant sur le port 80 (listen(80)) qui permettra de rediriger automatiquement l'utilisateur vers la version HTTPS en répondant avec un statut 301 dont l'URL de destination est celle indiquée dans la version HTTP d'origine.
  • créer un serveur web écoutant sur le port 443 (listen(443)) qui fournira un accès sécurisé à l'interface web de SexiLog grâce au certificat et à la clé privée référencée précédemment et contenus dans une variable "credentials".

Maintenant, appuyez sur "Esc", puis tapez ":wq" pour quitter ce fichier en sauvegardant les changements.

Assurez-vous d'être dans le dossier "/usr/lib/node_modules/kibana-proxy/" et générer une demande de certificat grâce à la commande.
Notez que la validité (indiquée via le paramètre "-days") est ici de 3650 jours (10 ans).

Bash

openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 3650

Cette commande vous demandera d'indiquer 2 fois un mot de passe (que vous devez inventer) pour protéger la clé privée.

Plain Text

Generating a 4096 bit RSA private key
..................................................................++
...................................++
writing new private key to 'server.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

Ensuite, vous devrez indiquer les informations que vous souhaitez (le cas échéant) ajouter dans le certificat SSL.

Attention : éviter les caractères accentués ou spéciaux pour éviter d'avoir des bugs d'affichages lorsque vous tenterez d'afficher les informations de votre certificat.

Important : si vous souhaitez utiliser un certificat valide (émanant d'une autorité de certification reconnue par vos ordinateurs et/ou serveurs), il est important d'indiquer le nom de domaine que vous souhaitez utiliser pour y accéder.
Dans notre cas : sexilog.informatiweb.lan.

Plain Text

Country Name (2 letter code) [AU]:BE
State or Province Name (full name) [Some-State]:Liege
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:InformatiWeb Pro
Organizational Unit Name (eg, section) []:Virtualization
Common Name (e.g. server FQDN or YOUR name) []:sexilog.informatiweb.lan
Email Address []:

Une fois la demande de certificat créée, générez la clé associée grâce à cette commande.

Bash

openssl rsa -in server.key -out server.key

Indiquez le mot de passe indiqué précédemment et la clé RSA sera créée.

Plain Text

Enter pass phrase for server.key:
writing RSA key

Pour finir, redémarrez le serveur Node.js en tapant cette commande :

Bash

/etc/init.d/node-app restart --force

Plain Text

Stopping node app ...
Killing process 2932
Removing pid file
Node app stopped
Starting node app ...
Node app started with pid 3275

3. Créer un enregistrement DNS pour le serveur SexiLog

Pour que le certificat soit considéré comme valide, il est important que vous accédiez à votre serveur SexiLog grâce au nom de domaine (nom commun) que vous avez indiqué lors de la création du certificat.
Pour cela, ouvrez le gestionnaire DNS de votre serveur DNS local (dans notre cas sous Windows Server 2016).

Et créez un nouvel enregistrement DNS de type A en indiquant "sexilog" comme sous-domaine et son adresse IPv4 dans la case "Adresse IP".

4. SexiLog accessible via le protocole HTTPS (sécurisé)

Accédez à l'interface web de votre serveur SexiLog en tapant l'adresse : https://[nom de domaine de celui-ci]/
Si vous avez généré le certicat SSL comme expliqué dans ce tutoriel, un avertissement de sécurité apparaitra étant donné que le certificat généré est auto-signé.
Néanmoins, cela évitera que les données ne soient envoyées en clair dans le réseau. Ensuite, rien ne vous empêche de remplacer le certificat SSL utilisé par un certificat SSL valide émanant par exemple de votre autorité de certification locale.

Cliquez sur "Avancé", puis sur : Accepter le risque et poursuivre.

Si vous cliquez sur le lien "Afficher le certificat" affiché en dessous de l'avertissement de sécurité, vous pourrez voir les informations que vous avez indiquées précédemment dans votre demande de certificat.

Comme vous pouvez le voir, l'interface web de SexiLog est maintenant accessible via le protocole HTTPS.

Partager ce tutoriel

Partager
Tweet

A voir également

  • VMware vSphere 6.7 - Activer vSphere DPM sur un cluster

    VMware 21/2/2025

    VMware vSphere 6.7 - Activer vSphere DPM sur un cluster

  • VMware vSphere 6.7 - Ajouter une source d'identité Active Directory

    VMware 31/7/2024

    VMware vSphere 6.7 - Ajouter une source d'identité Active Directory

  • VMware vSphere 6.7 - Installer vCenter Server avec BDD intégrée

    VMware 16/2/2024

    VMware vSphere 6.7 - Installer vCenter Server avec BDD intégrée

  • VMware vSphere 6.7 - Tâches et événements

    VMware 28/6/2024

    VMware vSphere 6.7 - Tâches et événements

Commentaires

Vous devez être connecté pour pouvoir poster un commentaire

Donnez-nous votre avis

Contenu épinglé

  • Logiciels (Admin système)
  • Logiciels Linux
  • Nos programmes
  • Conditions générales
  • Donnez votre avis

Contact

  • Livre d'or
  • Support technique
  • Contact

® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.

Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.