Utiliser ses propres certificats dans VitalPBX

À l'installation, VitalPBX utilise ses propres certificats auto-signés pour sécuriser l’accès à son interface d’administration. Parce que c’est quand même mieux de déployer une vraie PKI, voici comment utiliser vos propres certificats.

Comme nous en parlons souvent ces derniers temps, nous utilisons VitalPBX comme IPBX à la maison. Cela nous permet beaucoup de choses, comme recevoir les messages du répondeur par mail, ou éviter les robots d’appels et donc le démarchage téléphonique.

La configuration utilise une interface web via HTTPS et des certificats auto-signés. Nos navigateurs émettent donc une alerte de sécurité lors de la première connexion avec les navigateurs. On a vu mieux.

Comme nous avons créé notre propre PKI, on préfèrerait signer nous-même le certificat utilisé par VitalPBX, comme ça, les navigateurs (dans lesquels on a mis notre CA) n’émettront plus d’alertes.

skylarvision @ pixabay
skylarvision @ pixabay

Depuis la version 2.3.6, il est possible de le faire via l’interface web. Pour les versions antérieures il va falloir tricher.

Avant propos

Nous partons du postulat que vous avez déjà créé votre certificat. Sinon, vous pouvez le faire avec XCA. Appelons ces fichiers :

Version 2.3.6 et supérieure

L’ajout d’un certificat se fait via l’interface web, menu Admin/System Settings/General.

Renseignez les paramètres suivants :

Interface pour ajouter un certificat
Interface pour ajouter un certificat

Pour valider l’ajout de votre certificat, appuyez sur Save.

Bouton save
Bouton save

Maintenant que notre certificat est ajouté à VitalPBX, nous devons configurer le serveur pour qu’il l’utilise. Cela se passe dans le menu Admin/System Settings/HTTP Server.

configuration su serveur HTTP
configuration su serveur HTTP

Et voilà, votre serveur va utiliser votre certificat et vos navigateurs seront contents.

Version inférieure à 2.3.6

Avant la version 2.3.6, l’interface d’administration n’avait pas prévu de configurer ses propres certificats. Il fallait donc gruger pour insérer les nôtres...

Téléverser son certificat

L’interface web de VitalPBX ne permettant pas des accès systèmes, le transfert de ces fichiers devra utiliser une connexion SSH. Cette connexion est déjà disponible et vous n’aurez besoin que du mot de passe administrateur système – root – que vous avez entré lors de l’installation du boîtier.

Une fois dans la bête, on retrouve les repères habituels (pour centos), les fichiers sont donc rangés comme suit :

Techniquement, vous pourriez mettre ces fichiers ailleurs mais l’avantage de ces répertoires, c’est que a) ils ont déjà les droits d’accès pour les protéger comme il faut et b) comme c’est la tradition, les autres admins les retrouveront plus facilement.

Modification de la configuration

On va maintenant modifier la configuration du serveur web pour utiliser notre certificat et sa clé. Comme VitalPBX est créé à base de Centos avec un apache2 comme serveur web, la configuration se trouve donc dans le fichier /etc/httpd/conf.d/vitalpbx.conf.

Il faut donc repérer les directives SSL et remplacer les anciens fichiers par les nôtres. SSLCertificateFile correspond au certificat, SSLCertificateKeyFile correspond à la clé.

SSLCertificateFile    /etc/pki/tls/certs/ipbx.crt
SSLCertificateKeyFile /etc/pki/tls/private/ipbx.pem

Enfin, rechargez le fichier de configuration de apache2 par la commande suivante :

service httpd reload

Et après ?

Maintenant, votre IPBX ne vous posera plus de problème de connexion et vous pourrez vous connecter depuis n’importe quel réseau.