English

Bonjour, je suis Mathias 👋

Salut ! C’est ici que je partage mes pensées et mes notes sur tout ce qui me passionne et sur lequel je bosse en ce moment. J’espère vraiment y rencontrer des gens qui pensent comme moi. Salut ! Je voulais juste te dire que… J’aimerais vraiment avoir de tes nouvelles !

Je t’invite à jeter un œil à mes derniers articles de blog, juste en dessous.

Installer FreeSwitch sur Ubuntu à partir des paquets

L’équipe de FreeSwitch vient de publier les paquets pour Ubuntu 14.04 LTS et 16.04 LTS. Une excellente nouvelle pour les utilisateurs d’Ubuntu. L’installation est maintenant simplifiée. Pour Ubuntu 16.04 LTS, voici les commandes à taper pour installer la dernière version stable de FreeSwitch :

wget -O - https://files.freeswitch.org/repo/ubuntu-1604/freeswitch-unstable/freeswitch_archive_g0.pub | apt-key add -

echo "deb http://files.freeswitch.org/repo/ubuntu-1604/freeswitch-unstable/ xenial main" > /etc/apt/sources.list.d/freeswitch.list

# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-all

Pour Ubuntu 14.04 LTS :

Lire la suite >

Règles iptables afin de bloquer les scanners SIP

Les serveurs SIP (Asterisk, FreeSwitch … mais aussi les serveurs propriétaires) sont constamment scannés par des automates ou des humains avec pour seule idée, découvrir une faille à exploiter. En effet, les enjeux financiers sont importants. Je partage avec vous ce jour, un script iptables pour bloquer les scanners SIP (à adapter notamment les ports si vous utilisez des différents de 5060).

iptables -N SIPDOS

iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “sundayddr” –algo bm –to 65535 -m comment –comment “deny sundayddr” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “sipsak” –algo bm –to 65535 -m comment –comment “deny sipsak” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “sipvicious” –algo bm –to 65535 -m comment –comment “deny sipvicious” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “friendly-scanner” –algo bm –to 65535 -m comment –comment “deny friendly-scanner” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “iWar” –algo bm –to 65535 -m comment –comment “deny iWar” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “sip-scan” –algo bm –to 65535 -m comment –comment “deny sip-scan” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “User-Agent: sipcli” –algo bm –to 65535 -m comment –comment “deny sipcli” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “User-Agent: Nmap NSE” –algo bm –to 65535 -m comment –comment “deny Nmap NSE” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “User-Agent: VaxSIPUserAgent” –algo bm –to 65535 -m comment –comment “deny VaxSIPUserAgent” -j SIPDOS
iptables -A INPUT -i eth0 -p udp -m udp –dport 5060 -m string –string “From: sipp <sip:” –algo bm –to 65535 -m comment –comment “deny sipp” -j SIPDOS

iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “sundayddr” –algo bm –to 65535 -m comment –comment “deny sundayddr” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “sipsak” –algo bm –to 65535 -m comment –comment “deny sipsak” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “sipvicious” –algo bm –to 65535 -m comment –comment “deny sipvicious” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “friendly-scanner” –algo bm –to 65535 -m comment –comment “deny friendly-scanner” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “iWar” –algo bm –to 65535 -m comment –comment “deny iWar” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “sip-scan” –algo bm –to 65535 -m comment –comment “deny sip-scan” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “User-Agent: sipcli” –algo bm –to 65535 -m comment –comment “deny sipcli” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “User-Agent: Nmap NSE” –algo bm –to 65535 -m comment –comment “deny Nmap NSE” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “User-Agent: VaxSIPUserAgent” –algo bm –to 65535 -m comment –comment “deny VaxSIPUserAgent” -j SIPDOS
iptables -A INPUT -i eth0 -p tcp -m tcp –dport 5060 -m string –string “From: sipp <sip:” –algo bm –to 65535 -m comment –comment “deny sipp” -j SIPDOS

iptables -A SIPDOS -j LOG –log-prefix “firewall-sipdos: ” –log-level 6
iptables -A SIPDOS -j DROP

Si vous avez des idées pour l’améliorer, toutes les suggestions sont les bienvenues, l’idée étant de faciliter la sécurisation des serveurs SIP au plus grand nombre. Mises à jour :

Lire la suite >

Dolibarr : email de relance des factures impayées

Dolibarr est un logiciel de gestion open source réputé pour les TPE/PME et associations permettant la gestion de la facturation. Il est aisé grâce à une fonction intégrée facilement appelable via un bouton, d’envoyer une facture à un contact par email.

Dans une ancienne version, un bouton équivalent permettait de relancer les factures en retard de paiement par email, facture par facture. Ce bouton a maintenant disparu !

Nous allons voir comment, sans toucher au code (sauf pour l’ajout d’éléments complémentaires), intégrer simplement une fonction de relance de facture en retard de paiement par email.

Lire la suite >

Django : mise à jour de yawd-admin compatible avec django 1.9

Dans cet article du 27 mai 2016, je vous annonçais la reprise en main Yawd-admin, car il n’a plus été mis à jour par les mainteneurs officiels depuis mai 2014. Yawd-admin est un package django permettant d’adapter l’interface d’administration en ajoutant des fonctionnalités indispensables.

Yawd-admin en quelques mots : yawd-admin est un site Web d’administration de django. Il étend le site d’admin de django par défaut et propose ce qui suit :

Lire la suite >

Je viens de publier la mise à jour du role FreeSwitch pour Ansible, le célèbre moteur d’orchestration, la version 1.3. Ce role permet d’installer FreeSwitch de manière automatique à partir des sources sur les systèmes linux basés sur Debian et Ubuntu. Un bug de dépendances touchant Debian Jessie a été corrigé, plus quelques modifications mineures. L’utilisation est simple.

Il faut dans un premier temps installer Ansible, puis ajouter mwolff44.freeswitch-mw à vos roles. Installation d’Ansible recommandée (il faut une version supérieure à la 1.8, les paquets de Jessie ne fournissant que la 1.7 !) :

Lire la suite >

Découvrez l’évènement Voip2day 2015 à Madrid

Je suis dans les starting blocks pour le Voip2day qui se déroule à Madrid ce 11 et 12 novembre 2015.

Cet évènement est organisé par la société espagnole AVANZADA 7 et rassemble les acteurs majeurs du marché des télécoms espagnols.

Comme chaque année, le programme est intéressant : exposants, ateliers commerciaux et surtout ateliers techniques. Au programme, du voicexml, du webrtc (vous allez m’y retrouver), de l’Asterisk dans docker, de l’Elastix et un atelier sur la sécurité SIP.

Lire la suite >

FreeSwitch : mettre à jour une ancienne installation

Vous devez mettre à jour une ancienne installation de FreeSwitch. La procédure est assez simple.

Soit vous souhaitez utiliser la même branche, dans ce cas cette commande est suffisante :

make current

ou vous souhaitez en profitez pour migrer vers la dernière version stable ou une version de dev, pour cela vous devez au préalable saisir cette commande :

git checkout v1.4.stable

Mais l’équipe de FreeSwitch ayant changé l’hébergement des repos, il y a de grandes chances pour que vous obteniez des erreurs comme celle-ci :

Lire la suite >

Xivo et Raspberry PI 2 : l’IPBX idéal pour les petites sociétés ?

Pouvoir utiliser une carte Raspberry PI pour faire un petit IPBX est un projet intéressant : compacité et faible consommation.

Plusieurs manières existent afin d’atteindre cet objectif.

Naturellement, installer un Asterisk ou un FreeSwitch tout frais sur une distribution adaptée à la carte, la Raspbian, est la première idée qui a germée dans mon esprit. L’exercice fut concluant, mais les performances assez limitées, entre 3 et 5 appels simultanés selon la configuration et le système. Un peu juste, et difficilement utilisable en production sans une interface graphique digne de ce nom (sauf pour des projets de niche).

Lire la suite >

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 :

Lire la suite >

AstLinux 1.2.3 : corrections de sécurité

Quelques jours après la version 1.2.2, l’équipe d’AstLinux sort une nouvelle version corrigeant plusieurs failles de sécurité (35 !) touchant de nombreux paquets. Voici la liste :

  • CVE-2015-3331 : patch linux
    
  • CVE-2014-8964, CVE-2015-2325, CVE-2015-2326 : pcre
    
  • CVE-2014-9680 : sudo
    
  • CVE-2015-1572 : e2fsprogs
    
  • CVE-2014-8128 : tiff
    
  • CVE-2015-0286, CVE-2015-0287, CVE-2015-0289, CVE-2015-0292, CVE-2015-0293, CVE-2015-0209, CVE-2015-0288, CVE-2015-4000, CVE-2015-1788, CVE-2015-1789, CVE-2015-1790, CVE-2015-1792, CVE-2015-1791 : OpenSSL (version 1.0.1o)
    
  • CVE-2015-2059 : prosody
    
  • CVE-2014-9297, CVE-2014-9298, CVE-2015-1798, CVE-2015-1799 : ntpd/sntp
    
  • CVE-2014-2285 : netsnmp
    
  • CVE-2015-1419 : vsftpd
    
  • CVE-2015-3294 : dnsmasq
    
  • CVE-2015-3144, CVE-2015-3145, CVE-2015-3148, CVE-2015-3143, CVE-2015-3153, CVE-2015-3236, CVE-2015-3237 : libcurl
    

Un renforcement de la sécurité a été opéré par la création d’un certificat auto-généré unique. Les versions d’Asterisk ont aussi été mis à jour :

Lire la suite >