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.
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.
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 :
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
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".
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.
VMware 29/6/2022
VMware 19/10/2022
VMware 21/9/2022
VMware 23/8/2024
Contenu épinglé
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.
Vous devez être connecté pour pouvoir poster un commentaire