Dans cet article, nous allons voir comment configurer un certificat Let’s Encrypt sur notre serveur FreePBX.
C’est une action rapide et très simple à mettre en œuvre.
Pourquoi installer un certificat Let’s Encrypt ?
Il y a deux réponses principales à cela.
La première réponse est de proposer un accès sécurisé via TLS à l’interface graphique de FreePBX.
La connexion à l’interface administrateur se fera via HTTPS. Il en sera de même pour l’accès à l’interface utilisateur (UCP – User Control Panel).
La deuxième réponse est que plusieurs services nécessitent de disposer d’un certificat TLS valide (reconnue par une autorité de certification de confiance).
C’est notamment le cas si l’on souhaite utiliser le client téléphonique WebRTC intégré à l’interface utilisateur (UCP).
C’est également le cas si l’on souhaite utiliser le client Zulu UC ou l’application Sangoma Connect.
Passons à la mise en œuvre !
Étape 1/3 – Attribuer les bons ports réseau
La première étape consiste à modifier le port d’écoute par défaut de l’interface web de FreePBX.
Nous allons libérer le port http par défaut, le port 80, afin qu’il soit disponible uniquement pour Let’s Encrypt.
Se rendre dans le menu Admin > System Admin.
Puis dans le menu de droite, cliquer sur l’entrée Port Management :
Nous modifions le port http du service Admin pour mettre 8080. Puis nous modifions le port http du service Let’s Encrypt pour mettre 80 :
Cette configuration permet de libérer le port 80 pour Let’s Encrypt (qui en a besoin pour effectuer le renouvellement automatique du certificat tous les deux mois) et cela permettra également de rediriger automatiquement les connexions entrantes sur le port 80 vers le port 443 (HTTPS).
Nous cliquons sur le bouton « Update Now » en bas à droite.
La page se recharge pour nous rediriger vers le port 8080 :
Étape 2/3 – Générer un certificat Let’s Encrypt
Se rendre ensuite dans le menu Admin > Certificate Management.
Si on n’a jamais généré ou importé de certificat, alors nous devrions avoir qu’un seul certificat : le certificat par défaut qui est auto-signé.
Cliquer sur le bouton New Certificate, puis Generate Let’s Encrypt Certificate.
Les champs à compléter sont les suivants :
- Certificate Host Name : le nom complet de votre serveur. Il doit pouvoir être résolu par les résolveurs DNS publics.
- Owners Email : votre adresse e-mail.
- Country : votre pays.
- State/Province/Region : votre région.
- Alternative Names : les noms alternatifs si nécessaire. Ces noms doivent pouvoir être résolus par les résolveurs DNS publics.
Il reste à cliquer sur le bouton Generate Certificate se trouvant en bas à droite de la page.
Voilà ! Le certificat est généré. Le renouvellement sera ensuite automatique.
Nous pouvons maintenant cocher la case « default » associée pour qu’il devienne le certificat par défaut.
Dernière étape : configurer FreePBX pour qu’il utilise ce certificat pour l’accès à l’interface web.
Étape 3/3 – Configurer FreePBX pour qu’il utilise le certificat TLS
Se rendre dans le menu Admin > System Admin.
Puis dans le menu de droite, cliquer sur l’entrée HTTPS Setup :
Se rendre dans l’onglet Settings. Au niveau de la section Certificate Manager, choisir le certificat qui vient d’être généré avec Let’s Encrypt, puis cliquer sur Install.
Notre certificat est installé. Il ne nous reste plus qu’à nous connecter sur le port HTTPS de notre interface d’administration de FreePBX.
En complément, on pourrait interdire l’accès à l’interface HTTP (cela se passe dans le menu Admin > System Admin > Port Management).
Nous pourrons dorénavant utiliser les services ou applications nécessitant un certificat TLS valide, comme le client WebRTC, Zulu UC ou encore Sangoma Connect.
Cela fera l’objet de prochains articles… 😉
En attendant, pensez à vérifier que vous avez correctement sécurisé votre serveur FreePBX avec notre article dédié : Sécuriser son serveur FreePBX.
Notre documentation est enrichie très régulièrement. N’hésitez pas à nous suivre via notre flux RSS ou sur les réseaux sociaux (Twitter ou LinkedIn).
Aucune réponse