Sparrow : Wazo PBX sur Raspberry Pi

Le jeune projet Sparrow propose un build non officiel de l’architecture armhf de plateforme Wazo. Il vous permet d’héberger un système téléphonique VoIP Open Source complet et programmable sur un Raspberry Pi. Un autre projet qui semble maintenant peu maintenu permettait d’installer un système Xivo ou Wazo (mais en 18.03) sur Raspberry, Raspvivo.

J’apprécie particulièrement cette architecture, car elle permet de manière efficace et avec une faible consommation de faire fonctionner des services performants. Dans la même veine, mais j’en parlerai dans un autre article, j’ai fait fonctionner la plateforme de class 4 de Wazo sur un cluster Kubernetes à base de cartes Raspberry.

J’aime bien la définition de Wazo :

Wazo Platform is an Open Source project writen in python who gets the best from Asterisk and Kamailio to build a telecom platform.

Sparrow peut fonctionner sur n’importe quel système avec une architecture armhf. Il est néanmoins recommandé 2 Go de RAM et une carte SD rapide industrielle d’une taille d’au moins 16 Go. Attention au volume des messages de logs, des backups et surtout des messages vocaux, le chiffre annoncé étant un minimum !

La dernière version est basée sur Wazo 20.01. C’est la seconde version de Sparrow, la première release datant du 3 janvier 2020.

L’ensemble des fonctionnalités de Wazo Platform sont disponibles sous Sparrow  sauf le codec OPUS qui n’est pas fonctionnel. Mais cela n’impactera que les applications WebRTC. De plus, du fait des faibles ressources d’une carte raspberry PI, les capacités de transcodage sont fortement limitées. Veillez bien à correctement configurer vos paramètres SIP.

Le process d’installation est assez simple. Après avoir installé la distribution Raspbian en version minimale (basée sur debian Buster, les dernières releases de Wazo ne supportant plus Jessie mais uniquement Buster), l’installation se déroule en quelques simples lignes de commandes. Le process prend du temps, profitez en pour prendre un bon café et marcher un peu !

Je n’ai pas eu le temps de faire des tests de performances, mais on peut facilement estimer que pour une petite entreprise équipée de 1 ou 2 T0 (2 à 4 appels simultannés) ou une utilisation en homelab, le Raspberry sera suffisament performant.

La documentation est accessible ici : https://sparrow.b5.pm/docs

et le repo github : https://github.com/benasse/sparrow

Merci Benoit Stahl pour ce superbe travail qui met en valeur la force d’une communauté Open Source.

Vidéo d’installation et de déploiement d’une instance WAZO UC en moins de 3 minutes

Découvrez dans notre courte vidéo comment installer et déployer une solution UC en moins de 3 minutes avec la console de gestion Wazo Portal sur AWS.

 

RTPBleed et Asterisk : les appels d’Asterisk sous écoute

Asterisk souffre d’un problème assez grave permettant à un attaquant d’écouter simplement vos conversations. Une attaque de l’homme du milieu (man-in-the-middle), sans être vraiment au milieu d’ailleurs, permet de redirriger les flux RTP assez facilement.

Asterisk souffre d’un problème assez grave permettant à un attaquant d’écouter simplement vos conversations. Une attaque de l’homme du milieu (man-in-the-middle), sans être vraiment au milieu d’ailleurs, permet de rediriger les flux RTP assez facilement.

L’annonce a été faite il y a quelques jours (31/08/2017). Il s’agit en fait d’un vieux bug datant de 2011 qui a été réintroduit au premier trimestre 2013. Le premier report annonçant la régression date de mai dernier ainsi que le patch (fournit pour test). L’annonce officielle a été faite le 31 août dernier.

Quelles sont les versions vulnérables ?

Toutes les versions d’Asterisk entre la 11.4.0 à la 14.6.1 sont malheureusement touchées.

Dans quel cas le serveur Asterisk est vulnérable ?

Quand le serveur Asterisk fonctionne avec des postes derrière un routeur NAT, il est nécessaire de mettre en oeuvre des actions afin de router correctement les paquets voix. Le protocole SIP s’appuie sur le protocole RTP afin de transporter la voix et le protocole SDP afin que les user-agents (UA) puissent négocier entre eux des éléments comme les codecs, adresses et ports. Ces éléments sont échangés en clair sur le réseau.
Pour permettre ces négociations, le serveur Asterisk est configuré (fichier sip.conf) avec les options nat=yes et strictrtp=yes. De plus, ces options sont configurées ainsi par défaut !

Comment exploiter la faille ?

Un attaquant doit envoyer des paquets RTP au serveur Asterisk sur un port alloué pour recevoir un flux RTP. Si le serveur est vulnérable, alors le serveur Asterisk répond à l’assaillant en relayant les paquets RTP du destinataire véritable. Il est ensuite aisé avec des outils comme Wireshark de décoder le flux audio.

Quelles sont les actions de mitigation envisageable ?

  • La première recommandation est de ne pas transporter les flux SIP et RTP sur internet en clair, mais d’utiliser un tunnel VPN. Si cela n’est pas possible pour diverses raisons bonnes ou mauvaises, voici d’autres solutions :
  • application du patch fournit par Asterisk (https://raw.githubusercontent.com/kapejod/rtpnatscan/master/patches/asterisk/too-short-rtcp-bugfix.diff) qui actuellement limite la fenêtre temps de l’attaque aux toutes premières millisecondes.
  • éviter l’option nat=yes si possible
  • chiffrer les flux RTP avec SRTP (je vous invite aussi à chiffrer les flux SIP et à utiliser le protocole de transport TCP uniquement pour ce dernier afin de fiabiliser les échanges au lieu de l’UDP)
  • ajouter une option de configuration à vos peers SIP afin de prioriser les paquets RTP venant de l’adresse IP apprises au travers de l’échange initial effectué via le protocole SIP.

Par ailleurs, si vos postes IP et vos fournisseurs de trunk SIP utilisent des adresses IP fixes et connues, la mise en oeuvre d’une règle sur votre firewall bloquant l’accès aux ports UDP 10000 à 20000 (ports RTP utilisés par défaut par un serveur Aterisk) uniquement à partir de ces adresses apporte une protection suffisante.

Comment vérifier si mon serveur Asterisk est vulnérable ?

L’outil rtpnatscan permet de tester votre serveur Asterisk.

Références :

Xivo : vidéo de présentation de l’IPBX libre

L’équipe Xivo vient de publier une vidéo en anglais présentant l’IPBX libre. Dans cette vidéo de 3:51 minutes, la communauté Xivo est présentée par Gregory Sanderson, développeur R&D de la team Xivo, les partenaires et les contributeurs. Enfin, vous trouverez un tutorial de prise en main de  Xivo en 3 étapes.

Bon visionnage.

Liste des IPBX libres

Le choix d’un IPBX est parfois compliqué : l’offre est importante et complexe. Sur le papier toutes les solutions se valent, proposent toutes les fonctionnalités utiles, sont sécurisées, facilement administrables … Quand on doit choisir une solution IPBX libre, le choix est plus difficile. La première difficulté est de lister les différentes solutions.

Je vais lister pour vous les différentes solutions qui s’offrent à vous, la contrainte étant que la solution doit-être libre et à même de mettre en place un IPBX en entreprise. Pas d’autre contrainte ! Les voici classées par ordre alphabétique :

  • Astlinux
  • Blue.box
  • Elastix
  • FreePBX Distro
  • FusionPBX
  • Incredible PBX
  • PIAF : PBX in a flash
  • Wazo
  • Xivo
  • Yate (avec le module pbxassist)

Il existe d’autres solutions, je n’ai indiqué que les plus utilisées. Le choix n’est pas simple. Vous pouvez commencer par choisir un moteur VoIP (Asterisk, FreeSwitch ou Yate) et regarder l’interface graphique. Des critères peuvent-être éliminatoires comme le support de certains protocoles (comme IAX2 ou H323 par exemple), de montée en charge …

Un IPBX doit être facile à administrer. N’oubliez pas non plus de regarder les évolutions des différents projets. Malheureusement certains projets prometteurs sont devenus propriétaires comme TrixBox CE qui est devenu Fonality et AskoziaPBX qui a changé de licence.

Le mieux est de les tester au sein d’une VM afin de se faire une bonne idée après avoir rédigé un cahier des charges précis.

Je me dois de répondre à la question qui brûle vos lèvres : quelles solutions d’IPBX libres je préfère ? Selon l’usage, je vais préférer soit Astlinux soit Xivo. FusionPBX est intéressant mais est un peu lourd d’usage. L’interface d’administration mériterait un lifting.

Lesquelles avez-vous testé et quel est votre retour d’informations ?

Sécurité des iPBX : responsabilité des intégrateurs

Je viens d’avoir un appel téléphonique d’un responsable d’une société qui vient de subir une fraude sur son installation téléphonique. Alerté par son opérateur, Orange pour ne pas le citer, il vient de subir des appels frauduleux pour un montant dépassant les 10k euros. Juste de quoi vous gâcher la journée.

L’opérateur ayant fait le nécessaire (suppression des appels à l’étranger), il cherche maintenant à savoir qui va payer cette facture bien salée. Et pour cela, il faut chercher le responsable, qui a fait la boulette. Un détournement des accès téléphoniques, un employé malintentionné ou une faille du système téléphonique.

Après un audit des accès téléphoniques de l’iPBX, cette hypothèse est rapidement écartée comme la seconde (les montants en jeu sont trop importants). Il reste donc l’hypothèse malheureusement la plus courante, une faille sur le système téléphonique.

Seul un audit permettra de déterminer quelle faille a été exploitée, et si cette faille est la conséquence d’une négligence dans la programmation et la maintenance du standard téléphonique. Malheureusement un certain nombre d’installateurs téléphoniques ou intégrateurs prennent la sécurité des équipements et des systèmes à la légère. Pour preuve, la non application des matchs de sécurité sur certains parcs de PABX pourtant reconnus vulnérables, ou la mise en oeuvre d’architecture dont la conception même fragilise toute l’infrastructure informatique de la société cliente.

Il est grand temps que le petit monde de la téléphonie (installateurs, éditeurs, constructeurs …) adopte des pratiques strictes en terme de sécurité. Et pour commencer, la mise à disposition des patchs de sécurité devrait être gratuit (ce n’est pas encore le cas de tous les constructeurs) et le déploiement des mises à jour de sécurité inclu au contrat de maintenance en incluant des SLA (délai de déploiement de la mise à jour maximum garanti …). Une veille technique devrait aussi faire partie de ces contrats avec une information claire diffusée au client.

Les intégrateurs ou installateurs privés en tant que professionnels reconnus sont responsables devant la loi du respect des bonnes pratiques. Laisser un mot de passe par défaut ou faible est un exemple simple, mais qui engage la responsabilité du prestataire. Comme le fait de ne pas avoir répondu aux solicitations de son client lui demandant de mettre à jour le système, ou le fait d’avoir programmé le système en ignorant les règles de sécurité connues.

Les attaques se faisant de plus en plus nombreuses, j’espère qu’à la fois les clients (ceux qui refusent de mettre à jour leur système et qui refusent tout contrat d’infogérance) et les professionnels prennent plus sérieusement en compte ces risques.

IPBX : sortie de Astlinux 1.14, plateforme de communication sécurisée embarquée

Découvrez les détails de cette nouvelle version qu’il faut absolument découvrir

Cette nuit, une nouvelle version de Astlinux vient de sortir. Astlinux est une distribution intégrant Asterisk, et l’ensemble des outils nécessaires afin de gérer votre PABX. Il est plutôt destiné aux petites entreprises du fait de son interface simple. Mais un administrateur connaissant asterisk ne sera nullement bridé et pourra pousser asterisk dans ses retranchements.

Table des matières

Présentation de Astlinux

Astlinux se différencie de ses concurrents Trixbox, Xivo, Elastix par le fait qu’il est optimisé pour fonctionner sur des environnements avec peu de ressources. Je l’ai utilisé pendant des années sur des cartes Soekris. On obtient un système solide : pas de disque dur (on utilise une carte mémoire et le stockage de la prog et des messages se font sur une clé usb ou un disque flash par exemple), pas de ventilateur et une faible consommation (il est facile de tenir de nombreuses heures avec une petite batterie).

Fonctionnalités

AstLinux fournit une plateforme de communication sécurisée intégrant les éléments suivant :

  • Asterisk 1.8 and 11: SIP, DAHDI – IPBX
  • Asterisk Operator Panel: FOP2 – optional Add-On Package
  • Prosody 0.9: XMPP – Presence et Message
  • Linux: Kernel 2.6.35, basé sur Busybox avec iproute2, e2fsprogs et util-linux
  • VPN : OpenVPN IPSec VPN and PPTP
  • Languages: bash, php, lua and perl
  • Server web: Linux-Lighttpd-SQLite3-PHP
  • Monitoring: Zabbix SNMP et UPS Equipment
  • Routeur IPv4 / IPv6 et Stateful Filtering Firewall
  • Serveurs DHCP, DNS, TFTP NTP et FTP
  • Notifications par email
  • Serveur LDAP pour distribuer l’annuaire
  • ODBC afin de supporter SQLite3
  • RUNNIX bootloader permettant la gestion des versions de firmware et les diagnostiques matériels
  • Interface pour l’administration

Nouveautés

Cette nouvelle version apporte l’intégration d’un serveur d’annuaire LDAP permettant de distribuer l’annuaire, la’intégration du paquet Nut pour la supervision de l’UPS et quelques correctifs de bugs et de failles de sécurité.

Conclusion

Attention, Astlinux n’est pas un clicodrome. Il faut donc savoir ce que l’on fait quand on souhaite l’utiliser. Des notions de Linux, d’Asterisk, de réseau et de VPN (si vous souhaitez l’utiliser, mais c’est tout de même recommandé pour les postes distants) sont indispensables.

Vous trouverez sur le site de Astlinux les images afin de pouvoir l’utiliser ou le tester sur VirtuialBox ou VMWare (mais dans ces 2 derniers cas, pas en prod !!!).

L’image pour la carte 5501 de Soekris est bien entendu disponible. Si vous avez dans vos placard quelques cartes 4801, il est possible de créer votre propre image assez simplement.

Edito sécurité : attaques des systèmes téléphoniques (voip ou traditionnel)

Table des matières

Introduction

Les attaques informatiques se multiplient chaque jour. Mais certaines attaques ne font pas les gros titres des journaux, mais par contre coûtent cher. Ces attaques ont pour but de détourner le système téléphonique (PABX ou IPBX) de l’entreprise afin d’émettre des appels frauduleux vers des pays où les communications sont onéreuses. Cette activité est très lucrative. Certains opérateurs ont eux même eu la désagréable surprise un matin, de découvrir un volume d’appels très important anormal vers des destinations exotiques.

Il faut avoir en tête qu’une grande partie de ces attaques sont basées sur des failles connues. Ces mêmes attaques ne sont pas très complexes à mettre en oeuvre et ne prennent que peu de temps. Une autre partie des attaques se base sur la négligence des administrateurs des systèmes téléphoniques.

Donc oui, les attaques sur les systèmes de téléphonie sont en effet de plus en plus courant. 01net y a consacré un article le 15 mars dernier, que vous pouvez relire ICI .

Pourquoi ces attaques ?

Il est d’autant plus facile d’attaquer une grande partie des systèmes installés et ceci en grande partie à cause de la légèreté des décideurs et des intégrateurs. En effet, le premier est responsable du choix du système et de son prestataire. Il se doit aussi de vérifier quelles sont les prestations inclues dans son contrat de maintenance. En effet, les mises à jour sont des opérations qui prennent du temps et qui sont très souvent liées à l’achat de licences logicielles et hors contrat de maintenance. On parle sinon de contrat d’infogérance.
Le deuxième pêche souvent par le manque de compétences de base liées à la sécurité et le manque d’informations diffusées à son client (combien d’intégrateurs ont averti leurs clients de la nécessité de faire une mise à jour de leur système Alcatel suite à la découverte d’une faille de sécurité liée à la messagerie vocale ?).

Ces attaques sont-elles évitables ?

Ces attaques simples (et il y en a plusieurs) révèlent aussi un autre point inquiétant : le manque ou la baisse de compétences en général. Notre monde se tourne vers le lowcost, et seul le prix devient un élément de décision. Quand un stagiaire est responsable d’un déploiement ou d’une prestation, on est en droit de se poser des questions (un stagiaire n’est-il pas là pour apprendre ?).
Lors des déploiements, le volet sécurité n’est que très rarement pris en compte voir complètement occulté. Les mots de passe des systèmes ne sont pas modifiés, les utilisateurs ont le même mot de passe trivial d’accès à leurs ressources téléphoniques et on laisse aux VIP tous les droits

Resources complémentaires

J’ai écrit une liste d’articles sur ce sujet qui est en effet de plus en plus d’actualités. Les attaques sont maintenant organisées et automatisées. L’erreur serait de croire que vous êtes à l’abri (même de gros opérateurs se sont fait hacker).
http://www.blog-des-telecoms.com/votre-systeme-telephonique-est-il-bien-protege
http://www.blog-des-telecoms.com/securiser-votre-systeme-de-telephonie-pabx-ipbx
http://www.blog-des-telecoms.com/vulnerabilite-de-la-voip
http://www.blog-des-telecoms.com/comment-securiser-le-sip-d-un-serveur-asterisk
Je vous souhaite une bonne lecture, en espèrant que cette édito en ce jeudi matin puisse éviter à certaines entreprises des réveils douloureux en ces temps difficiles.

Comment convertir un fichier audio pour son PABX asterisk ou Alcatel ?

La pluspart des PABX ou autocommutateurs n’acceptent pas n’importe quel format pour la musique d’attente, les messages d’accueils téléphoniques ou de répondeurs. Vous pouvez très facilement mixer votre musique avec votre belle voix avec des outils opensource comme Audacity .

Par contre, afin que vous puissiez importer votre message et le faire fonctionner, il devra répondre à certains standards : format wav, codage 8bits, taux d’échantillonage 8kHz et encodage ulaw (ou alaw). Pour cela, votre ami s’appelera sox . Il se définit comme le couteau suisse des programmes de traitements audio. Il est en effet extrêment puissant et multiplateforme (windows, linux, maxosx …).

Dans notre cas, voici la commande à utiliser afin de convertir notre fichier audio en format intelligible pour notre PABX préféré :

sox -V mon-message-audio.wav -r 8000 -c 1 -t ul -w mon-message-audio_OK.wav

Je vous invite à étudier la documentation afin de découvrir toutes les options possibles. Vous pouvez par exemple augmenter ou diminuer le volume du son.

Sécuriser votre système de téléphonie (PABX – IPBX)

Je viens de terminer plusieurs missions touchant la sécurité des systèmes de téléphonie. Malheureusement, j’arrive souvent un peu tard, et le mal est déjà en partie fait. En effet, l’utilisateur ne s’aperçoit de l’intrusion que lors de la réception de sa facture de consommations soit entre 1 et 2 mois après !

Heureusement, certains opérateurs avertissent leurs clients en cas d’utilisation anormale, cela limitant l’impact financier. Il faut bien être conscient que les attaques contre les systèmes de téléphonie sont en forte augmentation, car il y a de l’argent facile à gagner.

Il devient maintenant indispensable de s’assurer de la sécurisation de son autocommutateur. Avant tout, s’assurer que tous les mots de passe ont été changés, sont différents et suffisamment compliqués pour résister à une attaque par brute force. Bien entendu, garder ces mots de passe confidentiel ! Ensuite, il faut s’assurer que votre PABX soit bien à la dernière version logicielle. Et c’est là, que le choix du constructeur peut avoir un effet boomerang inattendu : certains facturent très cher les mises à jour alors que d’autres les mettent à disposition gratuitement ! Si pour des questions financières (certaines mises à jour coûtent plus de 1500 €), vérifier les failles de sécurité de votre version logicielle, et désactiver les services concernés si possible.

Puis sécuriser l’accès distant à votre système : privilégier un accès via un VPN à un accès par transfert de port ou par modem.

Placer aussi votre système derrière un firewall afin de ne laisser l’accès au monde extérieur qu’aux ports utiles.

Enfin, n’activer que les services utilisés, changer tous les codes d’accès d’origine (une boîte vocale avec comme code 0000 ou 1234 est à proscrire), et sécuriser les accès utilisateur.

Voilà rapidement, un résumé d’une sécurisation minimum à mettre en place afin de ne pas recevoir un jour une facture de téléphone exorbitante.

Je vous prépare un article plus précis pour les utilisateur d’asterisk.