Présentation
Le logiciel “MYTINYDC-IM” permettra la gestion complète du mini-datacenter. Pourquoi avoir redeveloppé ?
D’une part, pour le fun, d’autre part, pour disposer d’un outil adapté aux plateformes utilisées (armhf et arm64). L’outils est développé en Javascript (NODEJS) et shells de type bash. La création de cet outil permet d’explorer le fonctionnement des services nécessaires à la mise en place d’un Datacenter. Mon premier souhait était de disposer d’un outils à faible empreinte, ce qui veut dire, aucune base de données pour stocker les configurations. Tout est entièrement basé sur les fichiers de configuration des services à gérer. L’administrateur modifie la configuration au moyen d’une interface graphique (web), et renvoi le fichier modifié sur le serveur. Le logiciel Opensource MYTINYDC-IM est livré sous licence : CC BY-NC-ND 4.0
Screenshots
Sécurité
Le service “MYTINYDC-IM” doit avoir un accès complet (root) aux serveurs à gérer. La connexion entre “MYTINYDC-IM” et le serveur à gérer est de type SSH seulement. L’authentification se fait par échange de clé SSH. Chaque action de l’administrateur ne passe que par la connexion SSH.
La topologie conseillée est celle-ci :
L’utilisation d’un service VPN est fortement conseillé. Du fait que le service “MYTINYDC-IM” dispose d’un accès “root”, aux différents serveurs, avec une authentification par clé SSH. Si cette unité est compromise, le “hacker” disposera d’un accès “root” à tous les serveurs gérés.
N’autoriser l’accès au port du service que pour le réseau VPN et si disposible, provenant d’une seule adresse IP du réseau VPN.
Vous devrez protéger l’accès au service “MYTINYDC-IM” comme vous protégez vos mots de passe.
Installation
Pré-requis
Cette version permet de gérér les services DNS, DHCP/BOOTP, FIREWALL (iptables IPV4), consultation des logs.
Connecté “root” sur l’unité qui sera le Datacenter Manager :
# Pré-requis NODEJS 10LTS
## POUR DEBIAN 9 - stretch - uniquement
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash –
# DEBIAN 10 intègre maintenant NODEJS 10LTS
apt install nodejs
Récupération du paquet Mytinydc-im
Mytinydc-im - Version 1
# MYTINYDC-IM
# Selon la plateforme - Branche : stable
# PC : amd64 (64 bits uniquement)
wget https://git.mytinydc.com/Mytinydc/mytinydc-im/raw/master/PackageDebianBuilder/mytinydc-im-1.0-amd64.deb
# Raspberry PI : armhf
wget https://git.mytinydc.com/Mytinydc/mytinydc-im/raw/master/PackageDebianBuilder/mytinydc-im-1.0-armhf.deb
# Rock64 : arm64
wget https://git.mytinydc.com/Mytinydc/mytinydc-im/raw/master/PackageDebianBuilder/mytinydc-im-1.0-arm64.deb
Mytinydc-im - Version 2
Il s’agit d’une évolution majeure (portage ReactJS), et ne comprend actuellement que la gestion du load-balancer HAPROXY. L’intégration de l’existant prendra du temps…
# Un seul package toutes pleformes
wget https://git.mytinydc.com/Mytinydc/mytinydc-im/raw/dev/DEBIAN/PackagesDEBIAN/mytinydc-im-2.0-all.deb
Installation Mytinydc-im
# Installation du paquet téléchargé
dpkg -i [nom du paquet téléchargé]
# Si un message d'erreur lié aux dépendances non satifaites tapez
dpkg -fy install
(*)Il est impossible de faire cohabiter la version 1 et la version 2 de MytinyDC-IM sur un même serveur
Paramétrage
Par défaut le serveur écoute à l’adresse : https://localhost:49160, pour modifier ces valeurs, éditer le fichier /etc/default/mytinydc-im
#Listenning ip address
export IPADDRESS=localhost
export PORT=49160
Modifier les valeurs nécessaires, enregistrer, redémarrer le service mytinydcim
Arrêt/Démarrage du service
- Démarrer :
systemctl start mytinydc-im
- Arrêter :
systemctl stop mytinydc-im
Accès MytindyDC-IM
Utilisez un navigateur et tapez l’url d’accès https://[adresse IP]:49160. Utilisez l’adresse IP et le port mentionné dans le fichier de configuratin du service.
L’application demande un compte/mot de passe, respectivement par défaut : admin/admin
Changement du mot de passe
Se connecter à la console “‘root” du serveur disposant de l’applcation MytinyDC-IM, tapez la commande :
/opt/mytinydc/dcim/sbin/recover-admin-password.sh
Saisir le nouveau mot de passe, le service redémarre automatiquement pour déconnecter volontairement les utilisateurs connectés.