Pour les administrateurs système, Webmin est une aubaine. Il s'agit d'un panneau de contrôle basé sur le web qui permet de gérer une machine Linux à distance, à l'aide d'une interface web moderne. Webmin peut modifier diverses configurations système à la volée, y compris les serveurs web et les bases de données. Il peut également gérer les utilisateurs, les groupes et les paquets logiciels.
Dans ce guide, nous allons vous guider à travers les étapes d'installation et de configuration de Webmin sur Ubuntu 18.04.
Webmin sur Ubuntu
Bien que Webmin soit un outil populaire pour les administrateurs système, il n'est pas disponible dans les dépôts officiels d' Ubuntu . Heureusement, Webmin dispose d'un PPA dédié pour Ubuntu. Il se charge de maintenir le logiciel à jour. Voici les prérequis dont vous aurez besoin avant de commencer :
- Vous aurez besoin d'un serveur Ubuntu avec un utilisateur non-root sudo et un pare-feu. Découvrez comment installer votre serveur Ubuntu ici, et comment configurer votre utilisateur sudo ici.
- En raison de la nature de Webmin, il est important de protéger l'accès contre les mains indésirables. Par défaut, Webmin est doté de plusieurs fonctionnalités de sécurité. Dans ce guide, cependant, Webmin sera sécurisé à l'aide de Let’s Encrypt et Apache. Suivez ce tutoriel pour installer votre serveur Apache.
- Pour le tutoriel suivant, vous devez également disposer d'un FQDN avec un enregistrement DNS pointant vers l'adresse IP du serveur.
- Vous aurez également besoin de Certbot, dont vous pouvez suivre l'installation à l'étape 1 de notre tutoriel sur la sécurisation d'Apache avec Let's Encrypt sur Ubuntu 18.04. Vous utiliserez Certbot to créer le certificat TLS/SSL pour Webmin.
Maintenant, commençons !
Installation de Webmin sur Ubuntu
Pour installer Webmin, nous devons ajouter le PPA Webmin. Tout d'abord, assurez-vous que le système contient toutes les dépendances nécessaires :
|
1 |
sudo apt update && sudo apt install software-properties-common apt-transport-https wget |
Ensuite, importez la clé PGP de Webmin :
|
1 |
wget -q http://www.webmin.com/jcameron-key.asc -O- | sudo apt-key add - |
Enfin, ajoutez le dépôt Webmin :
|
1 |
sudo add-apt-repository "deb [arch=amd64] http://download.webmin.com/download/repository sarge contrib" |
APT peut maintenant reconnaître le PPA Webmin. Mettez à jour le cache APT :
|
1 |
sudo apt update |
Enfin, installez Webmin :
|
1 |
sudo apt install webmin |
Une fois l'installation terminée, un message similaire s'affichera, indiquant que Webmin est directement accessible via le lien suivant. Dans cet exemple, il utilise le nom d'hôte de mon système :
|
1 |
https://localhost:10000 |
Il est indiqué que pour avoir un contrôle total sur le système à l'aide de Webmin, l'utilisateur doit connaître le mot de passe root. Cependant, cela ne suffit pas pour sécuriser un élément aussi sensible que Webmin. Nous allons le placer derrière le serveur web Apache avec un certificat TLS/SSL valide, comme mentionné précédemment.
Sécuriser Webmin
Pour accéder à Webmin, la méthode par défaut consiste à ouvrir le port 10000. Dans notre cas, ce n'est pas optimal. Pour résoudre ce problème, nous allons configurer un hôte virtuel Apache en tant que proxy pour le serveur de Webmin fonctionnant sur le port 10000. Ensuite, l'hôte virtuel sera sécurisé à l'aide d'un certificat TLS/SSL obtenu auprès de Let’s Encrypt. Cette procédure nécessite que vous ayez installé et correctement configuré le serveur web Apache et Certbot.
- Création d'un nouvel hôte virtuel Apache
Le nouvel hôte virtuel sera défini par son fichier de configuration. Ouvrez le fichier de configuration dans l'éditeur de texte de votre choix :
|
1 |
sudo vim /etc/apache2/sites-available/my_domain.conf |
Dans le fichier, ajoutez les lignes suivantes :
|
1 2 3 4 5 6 |
<VirtualHost *:80> ServerAdmin <email> ServerName <domain> ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost> |
Il indique à Apache de transmettre les requêtes arrivant sur l'hôte virtuel au serveur Webmin à l'emplacement suivant. Il garantit également que les liens internes générés par Webmin passeront par Apache.
- Désactivation de TLS/SSL de Webmin
Comme nous allons configurer Apache avec TLS/SSL, il n'est pas nécessaire que Webmin ait son propre TLS/SSL. Il est recommandé de désactiver cette fonctionnalité dans Webmin. Ensuite, ouvrez le fichier de configuration de Webmin dans l'éditeur de texte de votre choix :
|
1 |
sudo vim /etc/webmin/miniserv.conf |
Ensuite, recherchez la ligne suivante :
|
1 |
ssl=1 |
Ici, la valeur « 1 » indique que le SSL est activé sur Webmin. Ensuite, définissez la valeur sur « 0 » pour désactiver le SSL de Webmin.
- Ajout du domaine à Webmin
Par défaut, Webmin n'autorise pas notre domaine à y accéder. C'est parce qu'un tel accès peut faire partie d'une attaque malveillante, par exemple, une attaque de type Cross-Site Scripting (XSS).
Pour s'assurer que Webmin autorise notre domaine, celui-ci doit être déclaré dans la configuration de Webmin. Ouvrez le fichier de configuration avec votre éditeur de texte préféré :
|
1 |
sudo vim /etc/webmin/config |
Au bas du texte, ajoutez la ligne suivante :
|
1 |
referers=<domain> |
Après cela, enregistrez le texte, quittez l'éditeur et redémarrez le service Webmin pour que toutes les modifications prennent effet :
|
1 |
sudo systemctl restart webmin |
- Configuration d'Apache
Nous avons besoin du module proxy_http d'Apache. La commande suivante l'activera :
|
1 |
sudo a2enmod proxy_http |
Il est suggéré de redémarrer Apache. Cependant, vous devez d'abord activer le nouvel hôte virtuel :
|
1 |
sudo a2ensite <domain> |
Enfin, redémarrez Apache. Cela activera le module et l'hôte virtuel :
|
1 |
sudo systemctl restart apache2 |
La commande suivante configurera le pare-feu pour autoriser le trafic entrant sur les ports 80 et 443 (ports par défaut d'Apache pour le trafic HTTP/HTTPS) :
|
1 |
sudo ufw allow in "Apache Full" |
Pour vérifier que la configuration a fonctionné avec succès, accédez à votre domaine. Cela devrait afficher la page de connexion de Webmin. Cependant, NE VOUS CONNECTEZ PAS à Webmin. Comme TLS/SSL n'a pas encore été implémenté, il communiquera via HTTP, envoyant toutes les données en texte clair :
|
1 |
http://<domain> |
- Configuration de TLS/SSL
Nous avons besoin d'un certificat pour notre domaine afin que la connexion soit chiffrée. Pour ce faire, nous utiliserons Let’s Encrypt. Il s'agit d'une autorité de certification (CA) gratuite, automatisée et ouverte. Elle fonctionne au bénéfice du public, fournie par l'Internet Security Research Group (ISRG).
Pour générer le certificat, certbot est l'outil à utiliser dans le shell. Exécutez la commande certbot suivante pour générer un certificat TLS/SSL pour votre domaine et configurer Apache pour rediriger le trafic vers le site sécurisé :
|
1 |
sudo certbot --apache --email <email> -d <domain> --agree-tos --redirect --noninteractive |
La sortie ressemblera à ceci :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Enregistrement débogage journal dans /var/log/letsencrypt/letsencrypt.log Plugins sélectionnés: Authentificateur apache, Installateur apache Obtention d'un nouveau certificat Exécution des suivants défis: http-01 défi pour <domain> Activé Apache rewrite module En attente de vérification... Nettoyage des défis Créé un SSL vhost dans /etc/apache2/sites-available/<domain>-le-ssl.conf Activé Apache socache_shmcb module Activé Apache ssl module Déploiement du certificat sur VirtualHost /etc/apache2/sites-available/<domain>-le-ssl.conf Activation du site disponible: /etc/apache2/sites-available/<domain>-le-ssl.conf Activé Apache rewrite module Redirection du vhost dans /etc/apache2/sites-enabled/<domain>.conf vers le vhost ssl vhost dans /etc/apache2/sites-available/<domain>-le-ssl.conf ------------------------------------------------------------------------------- Félicitations! Vous avez avec succès activé https://<domain> Vous devriez tester votre configuration sur: https://www.ssllabs.com/ssltest/analyze.html?d=<domain> ------------------------------------------------------------------------------- |
Cela indique que l'installation du certificat a réussi et qu'Apache a été configuré avec succès pour rediriger les requêtes de http://<domain> vers https://<domain>.
Utilisation de Webmin
Enfin, nous sommes prêts à gérer le système à l'aide de Webmin. Ouvrez le domaine Webmin depuis un navigateur web et connectez-vous en tant qu'utilisateur root (ou tout autre utilisateur disposant des privilèges sudo).
- Gestion des utilisateurs et des groupes
Tout d'abord, voyons comment gérer les utilisateurs et les groupes à l'aide de Webmin. Dans le panneau de gauche, allez dans System >> Users and Groups:

Pour créer un nouvel utilisateur, cliquez sur Créer un nouvel utilisateur :

Après cela, remplissez les informations requises pour le nouvel utilisateur. Cliquez sur Créer pour finaliser la procédure :

- Mises à jour des paquets
Webmin peut également vérifier les mises à jour de paquets disponibles. Dans le panneau de gauche, cliquez sur l'icône Tableau de bord :

Le Tableau de bord présentera un résumé rapide des statistiques du système. Sous la section System Information, localisez l'étiquette Package updates . Elle signalera si une mise à jour est disponible pour un paquet.
Alternativement, dans le panneau de gauche, allez dans System >> Software Package Updates. Sous l'onglet Package Updates , Webmin signalera tous les paquets pour lesquels des mises à jour sont disponibles :

Sous l'onglet Scheduled Upgrades , Webmin offre l'option d'automatiser l'installation des mises à jour de paquets :

Ensuite, sous l'onglet Package Repositories , Webmin offre un moyen simple de gérer tous les dépôts de paquets configurés dans le système :
- Exécution de commandes personnalisées
Bien que Webmin offre une multitude d'options et de personnalisations, certaines tâches doivent encore être effectuées manuellement. Webmin peut exécuter n'importe quelle commande shell. Pour exécuter une commande, dans le panneau de gauche, allez dans Tools >> Command Shell:

Ensuite, saisissez la commande souhaitée et cliquez sur Execute command pour l'exécuter :

Vous exécutez régulièrement certaines commandes ? Pensez à les enregistrer dans Webmin. Dans le panneau de gauche, allez dans Tools >> Custom Commands. Plus besoin de saisir ces commandes manuellement :

- Gestion d'Apache
De plus, si un moteur de serveur est installé, Webmin peut le gérer. Pour cet exemple, nous avons utilisé Apache. Afin de gérer Apache via Webmin, allez dans Serveurs >> Apache :

Réflexions finales
Webmin est un outil très utile pour gérer l'ensemble de votre système. Il offre un moyen confortable de faire des choses qui nécessiteraient normalement une interaction ennuyeuse avec l'écran de la console. De plus, il vous aide à organiser finement votre système. Ce guide présente les applications les plus utiles de Webmin. N'hésitez pas à explorer le wiki officiel de Webmin pour en savoir plus sur la façon de tirer le meilleur parti de cet outil.
Bonne informatique !



Commentaires
Aucun commentaire pour l'instant. Soyez le premier.