Banner
Banner
Banner

[TUTO] Sécuriser simplement Webmin

Par - le janvier 5th, 2011

Voici, comme promis, le premier d’une série de tuto sur webmin. On m’a fait remarquer que webmin avait été retiré des dépôt de Debian. Cela s’explique par une raison bien simple : webmin peut-être une grosse faille de sécurité pour votre serveur. Voyons donc comment simplement améliorer la chose.

Les principaux risques de webmin

Avant de voir comment sécuriser webmin, recensons les principaux défauts de la solution en terme de sécurité. Tout d’abord, par défaut webmin utilise le compte root de la machine. De fait, la personne qui obtient l’accès à webmin devient maitre du serveur. De plus, webmin repose sur PERL et les failles de celui-ci peuvent être exploitée pour permettre différents hack. L’accès via des script PERL bien pensés peut sensiblement mettre en danger la sécurité de son serveur. Enfin, l’HTTPS, quoi plus sécurisé est loin d’être infaillible.

“Houla? Mon serveur sous Webmin est donc une vrai passoire! Catastrophe!”, vous inquièterez-vous alors. Oui et non (je suis normand, n’oubliez pas). Que l’on soit d’accord, le seul moyen d’avoir un serveur protégé contre les risques numériques est de ne pas l’utiliser. Par contre, conscient des limites d’une solution, on peut veiller à l’améliorer. Ce que nous allons faire avec notre serveur webmin.

Restreindre les comptes

Comme expliqué plus haut, le compte par défaut de Webmin est le compte root. Toutefois, on peut se créer un compte webmin avec moins de droits. Pour ce faire, on va dans le menu Webmin > Utilisateur Webmin > Créer un nouvel utilisateur webmin pour accéder à cette fenêtre :


Lors de la création, on peut décider des modules (webmin et système) auxquels le compte pourra accéder. En restreignant ses droits, on limite alors les possibilités qu’aurait un pirate qui obtient le compte. Ainsi, on va sensiblement limiter le risque de destruction des fichiers système par un tiers mal-intentionné (à condition de désactiver le compte root des user webmin, bien sûr).

Surtout, choisissez des mots de passe forts pour vos comptes. Cela limitera aussi le risque de se les voir voler.

Restreindre les IP

Une autre façon de protéger un serveur utilisant webmin va être de limiter les adresses IP autorisées à s’y connecter. Pour cela, on va dans le menu Webmin>Configuration de Webmin>Contrôle d’accès IP.


Là, on peut décider quelles IP sont autorisées, ou non, à se connecter à webmin. On peut par exemple limiter les accès à uniquement son réseau Interne et à une petit série d’IP publique. Par contre, si votre adresse IP est dynamique, cela peut poser problème mais n’oubliez pas qu’augmenter sa sécurité passe souvent par s’imposer des contraintes.

Changer le port par défaut

Les petits détails sont souvent oubliés dans lors d’une configuration, l’un d’entre eux, bien que simple peut faire la différence : changer le port d’écoute de webmin. Cela se fait via le menu Webmin>Configuration de Webmin>Ports et adresse. Par défaut le port est le 10000, choisissez en donc un autre.

De même, il est possible ici de limiter l’accès aux IP du serveur. Par exemple, on peut n’autoriser que son IP interne pour bloquer les accès depuis le web.

Ne pas baisser pas le chiffrement SSL et les règles d’authentification

Par défaut, webmin est accessible en SSL (Webmin>Configuration de Webmin>Chiffrement SSL) . Bien que cela soit possible, ne baissez en aucune façon cette sécurité! De même, les options de d’authentification (Webmin>Configuration de Webmin>Authentification) limitent les risques d’intrusion simplement (Par exemple, elle bloque un compte qui échoue sa connexion plus de 5 fois). Là encore, bien que possible, ne diminuez pas ces options de sécurité.

Je déconseille aussi les autorisations d’accès anonymes aux modules, elles aussi plutôt dangereuses.

Mettre à jour, mettre à jour, mettre à jour (on vous l’aura dit)

Webmin a des failles de sécurité, comblées par les mises à jours. Webmin utilise PERL, lequel a des failles de sécurité découvertes et comblées dans les mises à jour. Webmin tourne sur une distribution GNULinux, laquelle a des failles de sécurité, comblées par les mises à jour. Etc. Je pense que vous avez compris : les mises à jour vous protègeront des dernières failles de sécurité connues.

Veillez donc à toujours mettre à jour votre solution webmin (Webmin>Configuration de Webmin>Mise à niveau de Webmin ), votre OS serveur et ses composants. Par sécurité, vous pouvez attendre 1 ou 2 jours après la parution des mises à jour pour garantir leur bon fonctionnement, attendre plus n’est par contre rarement nécessaire.

Ces différentes actions sont basiques et simples à mettre en place pour sécuriser votre serveur. Nous pouvons encore aller un petit peu plus loin afin d’améliorer la sécurité de son serveur :

Utiliser le firewall de webmin

Par défaut ,webmin utilise iptable pour son firewall. La sécurité de son serveur n’en sera que meilleure si on l’utilise pour verrouiller la machine. Vous pourrez trouver quelques conseils relatif à iptable ICI, ICI, ICI (information très claires) et si vous êtes lecteur via cet article, très complet.

L’utilisation de iptable est très complète et à elle seule pourrait faire l’objet d’une série d’articles. Je vous conseille donc de lire les site indiqués plus haut pour votre configuration.

Utiliser des solutions de sécurisation tiers

On peut également augmenter la sécurité de son serveur, qu’il soit webmin ou non, grâce au logiciel fail2ban. Celui scrute les logs système à la recherche d’activité suspecte. Lorsqu’il suspecte une attaque, il bannit les utilisateurs suspects.

A ce sujet vous pouvez consulter l’article de génération-linux relatif à fail2ban.

Voila, en appliquant ces quelques conseils, vous pourrez rapidement sécuriser votre poste équipé de la solution webmin. Il s’agit d’un article sans prétention : j’ai conscience que ces solutions sont imparfaites et ne concentrent pas l’essentiel des solutions de sécurisation. Je vous conseille aussi la lecture de la série de nicolargo et aussi de faire un veille technologique constante. En tous cas, si webmin est perfectible en termes de sécurité, l’application de ces quelques idées ne saura qu’améliorer cette situation.

Vous pouvez aussi, si vous le désirez, utiliser ce tuto comme une check-list :

Sécuriser son serveur webmin

[   ] Restreindre les comptes

[   ] Restreindre les comptes

[   ] Restreindre les IP

[   ] Changer le port par défaut

[   ] Ne pas baisser pas le chiffrement SSL et les règles d’authentification

[   ] Mettre à jour

[   ] Utiliser le firewall de webmin

[   ] Utiliser des solutions de sécurisation tiers

A vous de jouer maintenant! Si vous avez des éléments à rajouter n’hésitez pas non plus à laisser un commentaire, je mettrai à jour l’article en circonstance.

Tags: , , , , , ,

10 commentaires to “[TUTO] Sécuriser simplement Webmin”

    cyrille :

    « On » m’a fait remarquer.

    TimCruz :

    Youahouuuuuuuuu, t’es au taquet. Oui, mon Maitre Cyrille Borne m’a fait remarqué serait plus exact.

    bux :

    Yeah, très réactif ! Je lis ça après le boulot (je suis tombé accro de webmin ça y est).

    Hicks :

    J’ai bossé pendant longtemps avec Webmin, c’est un très bon outil !:) enfin content d’en entendre parler de nouveau

    molokoloco :

    Très bon article j’aurais deux ou trois règles à ajouter oui…
    Cependant il ne faut pas tomber dans la parano non plus… si on ne peut se servir de webmin que sur son ordi perso… et sans les droits r00t… je n’y voit plus d’intérêt 😉

    bennap :

    Salut tim,
    j’ai utilisé cette solution en entreprise et il y avait l’option de limitation par adresse IP qui me plaisait bien. Surtout limiter aux adresses du réseau! Seul hic : impossible de lui faire comprendre le masque de l’adresse IP (désolé à cette heure matinale le terme technique m’échappe). Et entrer toutes les adresses peut parfois être rébarbatif.
    Connais-tu une solution ou est-ce moi qui suis un manche?

    TimCruz :

    @ben : etrange qu’il n’ai pas voulu accepter le subnet, normalement ca marche (une version buggée?).
    Après, tu peux jouer avec les iptables… Webmin peut aussi le superviser en plus 🙂 (même si ca ne vaut pas la simplicité des ipcop/ipfire).

    Johan :

    Salut, merci pour ce tuto qui m’aide dans la mise en place de mon serveur, comment on peut faire pour que le serveur ne soie visible que de l’extérieur et a une adresse web précis.

    Pas bcp d’aide sur webmin en français sur le web….

    Merci a vous

    Tomas Wild :

    Très bon tuto ! Merci !

    iznobe :

    Bonjour , le fait de pouvoir supprimer le compte root et en mettre un avec moins de croits et les options que l’ on desire peut il etre utiliser , par exemple pour gerer a distance un NAS ( dans lequel l ‘ administration a distance est indispensable ) et y etre inclus ensuite lors de la creation d’ image de celui-ci legalement ?

Laissez un commentaire

Catégorie(s): Software, Tutos