Retour au projet 3CX
Contexte de l'entreprise
L'entreprise PEI a décidé de moderniser ses communications internes en mettant en place une solution de téléphonie IP 3CX. Ce système vise à faciliter les échanges entre les employés, à améliorer la collaboration au sein des équipes et à offrir une plateforme unifiée pour la gestion des appels, des messages instantanés et des réunions.
Afin de garantir une communication fluide et sécurisée, il a été convenu de créer un réseau dédié à la téléphonie, distinct des autres réseaux de l'entreprise. Cette initiative s'inscrit dans le cadre de la volonté de PEI d'optimiser l'efficacité des processus internes et d'offrir à ses collaborateurs une solution moderne et fiable pour toutes leurs interactions professionnelles.
Le projet inclut l'installation du serveur 3CX, la configuration des téléphones IP et la formation des employés à l'utilisation du système. Cela permettra d'améliorer la qualité des communications internes tout en assurant une gestion centralisée et simplifiée des ressources téléphoniques.
Cette démarche vise à offrir une solution de communication plus performante et accessible, contribuant ainsi à une meilleure organisation et une collaboration renforcée au sein de l'entreprise PEI.
Identification des besoins clients
Afin de bien comprendre les attentes des employés de PEI, il a été nécessaire de leur présenter les différentes fonctionnalités de 3CX. Cela a permis de vérifier si le service répondait aux besoins exprimés et respectait le cahier des charges. Ci-dessous, un résumé des questions posées par les employés et les réponses correspondantes :
1 - Est-ce qu'on peut faire des appels de groupe ?
Oui, 3CX permet de configurer des conférences téléphoniques pour que plusieurs utilisateurs puissent participer à un appel de groupe. Vous pouvez facilement organiser des appels à plusieurs via le tableau de bord de 3CX.
2 - Est-ce qu'il est possible d'enregistrer les appels pour les conserver en cas de besoin ?
Oui, 3CX offre la fonctionnalité d'enregistrement des appels. Vous pouvez choisir d'enregistrer tous les appels automatiquement ou seulement ceux qui sont effectués sur demande. Ces enregistrements peuvent ensuite être consultés et téléchargés via l'interface web de 3CX.
3 - Peut-on rediriger les appels entrants vers différents postes ou départements selon l'heure de la journée ?
Oui, c'est possible avec les règles de gestion des appels de 3CX. Vous pouvez configurer des horaires d'ouverture et de fermeture, ainsi que des règles pour rediriger les appels entrants vers des groupes de répondeurs ou des extensions spécifiques en fonction de l'heure ou des jours de la semaine.
4 - Est-ce que les utilisateurs peuvent répondre à des appels via leurs smartphones ou tablettes ?
Oui, 3CX propose des applications mobiles pour Android et iOS, permettant aux utilisateurs de répondre à leurs appels de bureau directement depuis leurs smartphones ou tablettes, où qu'ils soient.
5 - Peut-on mettre en place une messagerie vocale qui envoie un email avec le message reçu ?
Oui, 3CX permet de configurer une messagerie vocale pour chaque extension. Les messages vocaux laissés par les appelants peuvent être envoyés par email sous forme de fichier audio attaché, permettant aux utilisateurs de les écouter directement depuis leur boîte de réception.
Identification des besoins techniques
Une fois le projet validé, il a été essentiel de se poser des questions plus techniques afin de s'assurer que la solution 3CX s'intégrait correctement dans l'infrastructure de l'entreprise. Des aspects tels que la configuration des VLANs, la gestion des utilisateurs, et les mesures de sécurité ont été pris en compte pour garantir le bon fonctionnement du système. Ci-dessous, un résumé des questions techniques posées et des réponses apportées :
1 - Quels paramètres de sécurité doivent être appliqués pour garantir la séparation du trafic VoIP du reste du réseau ?
Le système 3CX utilise un VLAN VOIP séparé pour garantir l'isolation complète du trafic téléphonique du reste du réseau. Cela permet de fluidifier et sécuriser le réseau en évitant toute interférence avec les autres services internes.
2 - Comment les informations sensibles, telles que les numéros, adresses associées et logs des messages, sont-elles protégées ?
L'accès aux informations sensibles est restreint à l'interface administrateur, protégée par un mot de passe fort et l'authentification à deux facteurs (2FA), assurant ainsi un niveau de sécurité élevé pour les données critiques.
3 - Comment le provisionnement des téléphones IP doit-il être sécurisé ?
Les téléphones IP sont provisionnés dans un VLAN dédié, avec des règles de pare-feu strictes pour limiter la communication aux équipements nécessaires, notamment le serveur 3CX. Cela empêche toute interaction non autorisée avec d'autres parties du réseau.
4 - Comment les adresses IP des téléphones sont-elles attribuées pour simplifier la gestion du réseau ?
Les téléphones sont attribués des adresses IP statiques via DHCP, permettant une gestion simplifiée des équipements tout en maintenant une séparation claire entre le VLAN VoIP et le reste de l'infrastructure.
5 - Comment les groupes et profils d'utilisateurs sont-ils utilisés pour gérer les extensions et les permissions dans 3CX ?
Les groupes et profils sont utilisés pour structurer l'accès aux fonctionnalités et aux permissions. Seuls les administrateurs peuvent gérer les groupes, ce qui permet de garantir que seules les personnes autorisées peuvent effectuer des changements dans la configuration des utilisateurs et de leurs permissions.
Préparation du projet :
Objectifs
- Installer 3CX en self-hosted pour gérer la téléphonie IP de l'entreprise.
- Assurer une sécurité optimale avec VLANs, reverse proxy et certificats SSL.
Étapes Clés
-
Configuration DNS & Pare-feu :
- Ajouter une entrée DNS pour
telephonie.pei.sio.lanpointant vers 10.31.30.4 (machine 3CX). - Configurer les règles de pare-feu et NAT sur OPNsense pour permettre une communication sécurisée entre 3CX et les autres équipements.
- Ajouter une entrée DNS pour
-
Installation de 3CX :
- Installer 3CX à partir de l'ISO Debian, avec les ressources minimales :
- 4 Go de RAM
- 4 cœurs
- 20 Go de stockage
- Configurer les certificats SSL pour sécuriser les communications :
- Génération de la clé privée (
myCA.key) - Création du certificat (
certificate.pem)
- Génération de la clé privée (
- Installer 3CX à partir de l'ISO Debian, avec les ressources minimales :
-
Reverse Proxy & NAT :
- Utiliser CloudPanel pour configurer un reverse proxy (ports 80/443).
- Mettre en place des règles NAT pour rediriger les ports non gérés par CloudPanel :
- 2197, 2528, 5060, 5061, 5090, 5223, 9000, 10999, 48000–65535
-
Sécurisation des Combinés :
- Créer un VLAN VOIP (Tag 3141) pour isoler les combinés.
- Appliquer les règles de pare-feu :
- Autoriser DNS/NTP
- Autoriser 3CX
- Tout autre trafic bloqué
- Configurer le switch :
- Port en mode accès
- VLAN 3141
- Activer le DHCP pour l'attribution IP automatique
-
Provisionnement des Combinés :
- Ajouter les combinés dans 3CX via leur adresse MAC.
- Renseigner le lien de provisionnement dans l’interface.
- Redémarrer les combinés pour appliquer la configuration.
Mise en place de la solution :
Configuration OPNSense | DNS & Firewall
Dans la configuration d'OPNsense, une entrée DNS a été ajoutée dans le serveur Unbound DNS pour le domaine telephonie.pei.sio.lan, pointant vers l'IP de la machine 3CX 10.31.30.4. Cette entrée permet de résoudre facilement le nom de domaine de la téléphonie en interne, facilitant ainsi la gestion des services de téléphonie.
La machine 3CX sera placée dans le VLAN RES, ce qui implique que lorsqu'elle sera mise derrière le reverse proxy (RP), il sera nécessaire d’adapter les règles de pare-feu et de NAT pour permettre une communication fluide entre le serveur 3CX et les autres équipements tout en respectant la sécurité du réseau. Ces ajustements garantiront que les accès nécessaires à la machine 3CX soient correctement filtrés et sécurisés.
Installation 3CX en self-hosted
ISO et choix de la machine
3CX étant un service payant, nous nous sommes rapprochés d'un prestataire qui fournit des licences PEI pour cette solution. Ce prestataire nous a fourni un ISO 3CX basé sur Debian, permettant ainsi d'installer 3CX en self-hosted. Cette approche offre plus de flexibilité et de contrôle sur l'infrastructure tout en garantissant une installation conforme aux besoins de l'entreprise.
Les recommandations matérielles pour 3CX peuvent varier en fonction du nombre d'utilisateurs et du volume d'appels, mais généralement, voici ce qui est conseillé pour une installation de base :
Mémoire RAM : 2 Go minimum pour un petit déploiement, jusqu'à 8 Go pour des déploiements plus importants.
Processeur : 2 cœurs minimum, avec des performances accrues pour des installations plus grandes.
Stockage : 10 Go minimum, mais 20 Go sont recommandés pour un stockage plus confortable des enregistrements et des données.
Ces recommandations peuvent évoluer en fonction de la taille du déploiement et des besoins spécifiques en termes de capacité d'appel. Pour notre installation, nous avons choisi d'allouer 4 Go de RAM, 4 cœurs de processeur et 20 Go de stockage, ce qui répond aux besoins pour un usage interne avec un nombre d'utilisateurs modéré.
Installation - Configuration des certificats SSL pour une installation sécurisée de 3CX
Lors de l'installation de 3CX, il est nécessaire de générer et de configurer des clés et certificats pour garantir la sécurisation des communications entre le serveur 3CX, les téléphones IP et les autres appareils connectés. Ces éléments permettent de créer des connexions HTTPS chiffrées et de protéger les données sensibles telles que les informations d'appel et les messages privés.
- La Clé privée (myCA.key) est utilisée pour signer les certificats et garantir leur authenticité. Elle doit être protégée, car une compromission mettrait en danger l'intégrité des communications.
openssl genrsa -des3 -out myCA.key 2048
- Le certificat (certificate.pem), généralement signé par une autorité de certification, permet de vérifier l'authenticité du serveur et d'établir une connexion chiffrée, assurant que les utilisateurs se connectent au serveur légitime.
openssl req -newkey rsa:4096 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
Installation - Compte root & Paramétrages
Une fois la clé privée générée et les certificats configurés, l'installation de 3CX peut être finalisée en créant le premier compte administrateur, ce qui permet d'accéder à l'interface de gestion du serveur. À ce stade, il est également nécessaire de configurer certains paramètres de gestion, comme la taille des numéros d'extensions, les langues disponibles pour l'interface utilisateur et les messages vocaux, ainsi que l'adresse email de support utilisée pour les notifications et l'assistance technique. Ces étapes assurent non seulement la personnalisation du système, mais aussi son bon fonctionnement et une gestion optimale des communications.
Reverse Proxy & NAT
Pour sécuriser et rendre publique l'infrastructure 3CX tout en permettant la connexion des combinés, il est nécessaire de mettre en place un reverse proxy. Nous utilisons CloudPanel à cette fin. La première étape consiste à configurer le reverse proxy avec le nom DNS de la machine, l'IP publique et l'IP privée de celle-ci.
Une fois le reverse proxy créé, il est impératif d'ajouter une règle de pare-feu dans le VLAN DMZ, afin de permettre la communication entre le reverse proxy et la machine 3CX. Cela garantira un échange sécurisé des données entre les deux.
Cependant, CloudPanel ne gérant que les ports HTTP (80) et HTTPS (443), il ne sera pas possible de faire transiter le trafic des autres ports nécessaires au bon fonctionnement de 3CX, tels que 2197, 2528, 5060, 5061, 5090, 5223, 9000, 10999, 48000 et 65535.
Afin de résoudre ce problème, une règle de NAT devra être configurée pour rediriger le trafic entrant sur ces ports spécifiques directement vers la machine 3CX, sans passer par le reverse proxy. Cela assurera une transmission fluide et sécurisée du trafic nécessaire à la plateforme.
Partitionnement des combinés
Dans un premier temps, un travail de routage inter-VLAN a été effectué avec l'ajout et la configuration d'un nouveau VLAN, le VLAN VOIP. Ce VLAN a été mis en place afin d'isoler les combinés dans un réseau dédié, renforçant ainsi la sécurité de l'infrastructure.
Le VLAN Tag 3141 a été attribué à ce réseau. Dans un souci d'isolation maximale des combinés, deux règles de pare-feu ont été créées :
La première règle permet aux combinés de communiquer avec notre serveur DNS et NTP.
La seconde règle autorise la communication avec la machine 3CX.
Toutes les autres communications sont strictement bloquées par notre pare-feu, assurant ainsi un niveau élevé de sécurité pour notre réseau.
Pour intégrer les combinés à notre réseau, la configuration du switch a été réalisée en mode accès, avec le VLAN 3141 attribué.
interface FastEthernet0/13
switchport access vlan 3141
switchport mode access
spanning-tree portfast
De plus, le DHCP a été activé sur ce réseau, permettant une attribution automatique des adresses IP. Les adresses IP statiques seront ensuite attribuées manuellement si nécessaire.
Après avoir correctement attribué les adresses IP à nos combinés, il devient possible de les ajouter dans 3CX en renseignant leur adresse MAC respective. Ensuite, il suffit de se connecter à l'interface web de 3CX avec les identifiants et mots de passe fournis par 3CX.
Le lien de provisionnement, également fourni par 3CX, doit être renseigné dans l'interface pour finaliser la connexion de chaque combiné à la plateforme 3CX. Un redémarrage du combiné sera nécessaire pour appliquer la configuration et établir la connexion complète avec 3CX.







