Serveur dédié : configurer Webmin en TLS avec un certificat SSL photo 1

Solution pour Webmin qui ne veut pas démarrer sous systemd

Je suis tombé sur une drôle d’erreur ce matin sur un VPS de mes clients : après mise à jour du système et redémarrage du serveur, webmin est injoignable et son service ne veut plus démarrer.

Les messages d’erreurs

On commence par lancer un curl distant depuis un autre serveur, histoire de voir si c’est bien injoignable de manière globale, et non propre à notre machine:

curl -I https://example.com:10000/

Résultat:
curl: (7) Failed to connect to example.com port 10000: Connection refusedCode language: JavaScript (javascript)

Pas de doute, cela touche tout le monde. On vérifie donc l’état du service:

systemctl status webmin.serviceCode language: CSS (css)

Résultat:

webmin.service - LSB: web-based administration interface for Unix systems
   Loaded: loaded (/etc/init.d/webmin; generated)
   Active: failed (Result: exit-code) since Sat 2020-09-12 17:35:13 CST; 20s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1803 ExecStart=/etc/init.d/webmin start (code=exited, status=25)

Sep 12 17:35:13 systemd[1]: Starting LSB: web-based administration interface for Unix systems...
Sep 12 17:35:13 systemd[1]: webmin.service: Control process exited, code=exited status=25
Sep 12 17:35:13 systemd[1]: webmin.service: Failed with result 'exit-code'.
Sep 12 17:35:13 systemd[1]: Failed to start LSB: web-based administration interface for Unix systems.Code language: JavaScript (javascript)

Ce n’est pas très loquace! journalctl est plus détaillé:

journalctl -xe

Résultat :

-- All system services necessary queued for starting at boot have been
-- started. Note that this does not mean that the machine is now idle as services
-- might still be busy with completing start-up.
--
-- Kernel start-up required 1709722 microseconds.
--
-- Initial RAM disk start-up required INITRD_USEC microseconds.
--
-- Userspace start-up required 152146335 microseconds.
Sep 12 17:35:13 systemd[1]: Starting LSB: web-based administration interface for Unix systems...
-- Subject: Unit webmin.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit webmin.service has begun starting up.
Sep 12 17:35:13 systemd[1]: webmin.service: Control process exited, code=exited status=25
Sep 12 17:35:13 systemd[1]: webmin.service: Failed with result 'exit-code'.
Sep 12 17:35:13 systemd[1]: Failed to start LSB: web-based administration interface for Unix systems.
-- Subject: Unit webmin.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit webmin.service has failed.
--
-- The result is RESULT.Code language: JavaScript (javascript)

Mais nous n’obtenons toujours aucune information exploitable. Redémarrer le service avec service ne permet pas de le redémarrer.

La solution

Le seul moyen de redémarrer le service webmin sur ce VPS a été de la manière suivante:

/etc/init.d/webmin stop
systemctl start webmin

Et là, plus de problème, webmin démarre comme il faut.

Serveur dédié : configurer Webmin en TLS avec un certificat SSL photo 1

Serveur dédié : configurer Webmin en TLS avec un certificat SSL

webmin-logo

Après avoir ajouté la couche TLS/SSL au serveur Apache puis configuré WordPress pour fonctionner uniquement en HTTPS, je me suis intéressé à Webmin.

Je n’utilise pas Webmin pour configurer le serveur parce que c’est une sacrée usine à gaz mais pour certaines choses, c’est utile.

Erreur Webmin : Secure Connection Failed

Après le passage aux connexions sécurisées, j’ai obtenu l’erreur suivante :

Secure Connection Failed

An error occurred during a connection to example.com:10000. The server presented a certificate with a key size that is too small to establish a secure connection. (Error code: mozilla_pkix_error_inadequate_key_size)

En substance, ce message d’erreur indique que la clé du certificat créé par Webmin lors de son installation est trop faible par rapport aux nouvelles exigences de notre certificat. Pas de problème, il suffit de créer un certificat spécialement pour Webmin.

Lire la suite

screw-you-livebox

Serveur dédié : impossible de se connecter à un port distant

Aujourd’hui, je vérifie les services du serveur et me rend compte qu’il m’est impossible de me connecter aux services qui tournent sur des numéros de port non-standards.

Le problème : plus de connexion distante sur des ports exotiques

screw you livebox

J’essaie de comprendre pourquoi cela ne fonctionne plus : je bidouille à droite à gauche, vérifie vingt fois la configuration iptables, reboote deux fois le serveur, flush les données iptables et me fait jeter de ma connexion SSH…

Reboot du serveur, toujours aucune connexion sur les ports exotiques.

Plus d’accès aux torrents, à webmin, IMAP et autres. Tout cela alors que depuis le serveur, en local, tout était bien accessible.

Je n’avais pourtant rien modifié dans la configuration du serveur. Recherches sur internet pendant environ 4 heures.

Des gens semblent avoir le même problème sur des forums. Dernière réponse du sujet : “j’ai trouvé merci, c’est réparé”. Ces gars-là, je les hais. Ils ont le problème, semblent avoir la solution mais ils ne la partagent pas b*rdel!

La solution : vérifier le firewall client (routeur ou box)

En vacances, j’ai une Livebox. Et j’avais bidouillé le paramétrage du firewall de la livebox pour pouvoir utiliser rsync.

Donc la source du problème n’était PAS le firewall du serveur, c’était le firewall de la LIVEBOX :

livebox firewall medium

Cela pourra peut-être servir à quelqu’un : il faut mettre le firewall de la livebox au niveau “moyen”.

Comme par magie, tous les accès aux ports distants sont rétablis.

Serveur dédié : installation d'Apache, PHP, MySQL et Webmin photo

Serveur dédié : installation d’Apache, PHP, MySQL et Webmin

Ce premier guide est le premier d’une série d’articles consacrés à l’installation de services indispensables pour un serveur dédié.

Aujourd’hui, il s’agit d’installer Apache, PHP, MySQL et Webmin sur notre serveur.

Cela prend environ 20 minutes à réaliser.

Etape 1 : mettre à jour le système d’exploitation

Avant de commencer, on met l’OS à jour :

apt-get update && apt-get dist-upgradeCode language: JavaScript (javascript)

et on ajoute tout ce qu’il faut pour compiler :

apt-get install build-essentialCode language: JavaScript (javascript)

Voilà, nous sommes prêts à démarrer.

Lire la suite