#Xivo et #smtp authentifié (Gmail)

Le smtp « smtp.gmail.com » requiert une authentification (login/mdp) avec le mode tls activé. En cherchant un peu partout sur internet, j’ai écrit cette petite note pour moi. Les sources sont divers et variées mais je n’ai pas gardé les sources. N’hésitez pas à me contacter si vous êtes à l’origine de certaines parties.

(MAJ source : http://projects.xivo.io/boards/1/topics/2882?r=2892#message-2892)

Installation des paquets nécessaires

apt-get install libsasl2-2 ca-certificates libsasl2-modules

Configuration de postfix

Il est nécessaire d’utiliser un template afin que la configuration ne soit pas perdue à chaque régénération du fichier.

Copie du fichier source

mkdir -p /etc/xivo/custom-templates/mail/etc/postfix
cp /usr/share/xivo-config/templates/mail/etc/postfix/main.cf /etc/xivo/custom-templates/mail/etc/postfix/main.cf

Configuration du template

Editer le fichier /etc/xivo/custom-templates/mail/etc/postfix/main.cf. Mettre ces options à la fin du fichier

relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

Mot de passe

Ajouter votre mot de passe dans le fichier /etc/postfix/sasl_passwd

[smtp.gmail.com]:587    user@domain:password

Affecter les droits et recharger la configuration postfix

chmod 400 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd

Gestion du certificat pour le mode tls

cat /etc/ssl/certs/ssl-cert-snakeoil.pem | sudo tee -a /etc/postfix/cacert.pem

Redémarrage de postfix

/etc/init.d/postfix restart

Régénération du fichier main.cf à partir du template

Appuyer sur le bouton « sauvegarder » dans Configuration > Réseau > Messagerie. Puis sur le bouton « Appliquer les modifications système » dans Configuration > Système de  contrôle.

Test

echo « Mail de test N°1 » | mutt -s « Test mail » monEmail

Quelques commandes postfix

Lister les messages en Queue

postqueue -p

Supprimer tous les messages en Queue

postsuper -d ALL

 

Crash #server, #backup et passage en #ssl @letsencrypt

Mon serveur s’est planté, c’est triste, mais ça arrive. Après des mois sans mise à jour, la mise à niveau a été fatale. Après avoir perdu mon dimanche après-midi et après avoir passé une nuit blanche, le serveur a retrouvé vie lundi en fin de matinée.

Mais pourquoi autant de temps ? La remontée de la sauvegarde a représenté un vrai problème. Le volume de données à transférer entre chez moi et le nouveau serveur m’ont pris pas mal de temps malgré ma connection fibrée. De plus, j’ai du me creuser la tête pour trouver une solution pour récupérer sur l’ancien serveur des données. En état mon backup n’avait quasiment aucun intérêt car une grosse partie du backup de base de données était simplement absente. Une sauvegarde non testée ne sert finalement pas à grand chose. On se rassure souvent en mettant en place des crons pour automatiser toute cette phase de sécurisation, mais finalement, sans un test manuel régulier , elle ne sert à rien.

J’ai profité de cette mauvaise phase pour améliorer mon infrastructure. Un serveur tout neuf, un OS et des softs complètements à jour et passage à https avec let’s encrypt. Cette petite histoire a précipité la généralisation de https pour les sites hébergés sur ce serveur. Let’s encrypt est vraiment simple à mettre en place. Je dois encore mettre en place un cron pour automatiser la mise à jour des certificats qui ont une durée de validée courte (3 mois). Maintenant, je vais réfléchir à une vraie procédure de sauvegarde.

Ce soir, c’est nocturne développement pour rattraper le temps perdu en début de semaine.

 

Catégories

Xivo dans le « cloud » et OpenVPN

Je lance une petite série d’articles sur ce que j’ai fait avec Xivo. Pour rappel, Xivo est l’ipbx basé sur Asterisk développé par la société française Avencall. Je suis partenaire Avencall et certifié Xivo.

Un de mes clients m’avait demandé d’installer Xivo sur un de leur serveur (chez online). L’idée était de garder toutes les fonctionnalités de Xivo tout en hébergeant Xivo à l’extérieur de leur bureau. Pourquoi ne pas choisir tout simplement une appliance ? Le client ne voulait pas avoir d’infrastructure informatique en interne. De plus, esprit startup oblige, ils se voyaient déjà ouvrir des bureaux un peu partout dans le monde.

Sur le principe, héberger un Asterisk ou un Xivo est très simple mais on se retrouve rapidement avec de nombreux problèmes. Au niveau sécurité, les communications ne sont pas chiffrées et peuvent donc être écoutées très facilement. Il existe bien une version chiffrée des flux (le srtp), mais ce n’est pas simple à mettre en place. D’autres problèmes me gênent énormément. On perd le système de provisioning de Xivo, l’annuaire interne, programmation des touches à distance, etc … En gros, les fonctionnalités « sympas » de Xivo sont perdues.

Comment faire ? Pour réussir à ne pas perdre les fonctionnalités, il fallait que l’interface « voix » soit sur un réseau virtuel. Ma solution s’appelle : OpenVPN.

Côté serveur, j’ai donc installé Xivo et OpenVPN. J’ai fermé tous les ports du serveur à l’exception d’un port UDP servant pour OpenVPN.

Côté clients (téléphones), je devais trouver une solution pour me connecter au travers d’OpenVPN. Par chance ce dernier étant opensource, un grand nombre de téléphones SIP inclus un client OpenVPN. J’ai donc fait quelques essais avec des téléphones SNOM et Yealink. Ces deux constructeurs sont partenaires Avencall et leurs produits sont qualifiés pour Xivo. J’ai pu me connecter sur le serveur OpenVPN avec les produits de ces deux constructeurs. J’ai rencontré quelques problèmes avec SNOM. Par exemple, impossible après avoir provisionné mon poste de le réinitialiser à distance ou de modifier la programmation des touches. Pour réussir, je devais réinitialiser le téléphone et refaire un provisioning complet. Avec les téléphones Yealink (T41P et T46G), je n’ai rencontré aucun problème. A l’occasion, il faudra que je teste à nouveau SNOM pour vérifier si les problèmes existent toujours ou pas.

Vous trouverez ci-après un petit schéma de principe. travaux - Xivo - openvpn