freeswicth ansible role 2.0 just released

Je viens de publier la nouvelle version du role ansible permettant une installation / mise à jour automatisée de FreeSwitch avec plusieurs bonus optionnels comme fail2ban, sngrep … Le role est fait pour fonctionner exclusivement avec Debian Jessie. J’intégrerai Stretch le moment venu.

Contrairement à la version précédente, l’installation se fait à partir des paquets fournis par la team FreeSwitch (je suis leurs recommandations).

L’utilisation est présentée dans le README.

Vous le trouverez dans la galaxy ansible : https://galaxy.ansible.com/mwolff44/freeswitch-mw/

N’hésitez pas à me faire des retours.

Note : le repo officiel est hébergé par framagit : https://framagit.org/mwolff44/freeswitch-mw/ même si une copie existe sur github pour ansible-galaxy.

 

Modifications :

  • 12/04/2017 : v2.1 : mise à jour du kernel via les backports (performance) / installation de locales spécifiques / installation de paquets complémentaires – Ces 3 fonctions sont désactivées par défaut.

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 :

wget -O - https://files.freeswitch.org/repo/ubuntu/freeswitch-unstable/freeswitch_archive_g0.pub | apt-key add -
 
echo "deb http://files.freeswitch.org/repo/ubuntu/freeswitch-unstable/ trusty 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

Attention : les paquets permettant de gérer les flux vidéos ne sont pas installés. Des étapes complémentaires sont à prévoir.

Toutefois, l’équipe de FreeSwitch ne recommande d’utiliser cette méthode pour un usage en production pour le moment. Sur Ubuntu, seule la méthode en téléchargeant et compilant les sources est recommandée.

La documentation de la team FreeSwitch pour installer FreeSwitch sur Ubuntu.

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 :

  • 4 août 2016 : ajoût de règles + correction typo suite au commentaire de Ztur

Comparatif des versions des paquets dans ubuntu 14.04 et 16.04 et debian 8 et 9 que j’utilise le plus

Dans le cadre de mes différents projets, je suis amené à utiliser différents systèmes d’exploitation et différentes générations. Pour effectuer le bon choix, il est parfois utile de pouvoir comparer les versions des paquets disponibles dans les distributions (même si j’aime bien compiler certains paquets pour mieux coller à mes attentes, parfois il est nécessaire d’utiliser les paquets – pré-requis client par ex-).

J’ai choisi arbitrairement Ubuntu 14.04 LTS et la future 16.04 LTS ainsi que Debian stable (8) et testing. Il est bien sûr possible d’utiliser des ppa afin de disposer de versions plus à jour, mais cela est hors scope (et impose au passage une nécessaire confiance dans le contributeur et ajoûte une complexité de migration).
Pour préciser, ce comparatif a été réalisé dans l’objectif exclusif d’un usage en serveur et sans interface graphique !

Voici le tableau au 11/04/2016

Version des paquets selon la distribution Ubuntu / debian
PaquetsUbuntu 14.04 LTSUbuntu 16.04 LTSDebian 8Debian Testing
mariadb-server5.5.4710.0.23-210.0.2310.0.24
mysql-server5.5.475.7.115.5.475.6.28
postgresql9.3+1549.5+1739.4+1659.5+173
odbc-postgresql1:09.02.01001:09.03.03001:09.03.03001:09.03.0300
redis-server2:2.8.42:3.0.62:2.8.172:3.0.6
unixodbc2.2.142.3.12.3.12.3.1
apache22.4.72.4.182.4.102.4.18
nginx1.4.61.9.141.6.21.9.10
gunicorn17.519.4.519.019.4.5
ssh1:6.61:7.21:6.71:7.2
fail2ban0.8.110.9.30.8.130.9.3
iptables1.4.211.6.01.4.211.6.0
munin2.0.192.0.252.0.252.0.25
rsyslog7.4.48.16.08.4.28.16.0
freeswitchnananana
asterisk1:11.7.01:13.1.01:11.13.11:13.7.2
kamailio4.0.44.3.44.2.04.4.0
freeradius2.1.122.2.82.2.52.2.8
ansible1.5.42.0.0.21.7.22.0.1.0

Ma première conclusion de cette revue, est de ne plus lancer de nouveaux projets avec Ubuntu 14.04 LTS !

Je mettrais à jour de temps en temps cette liste (n’hésitez pas à proposer quelques paquets indispensables pour les projets télécoms)

 

Hellotux : supporter linux avec de beaux t-shirts

La majorité des projets du monde du logiciel libre fonctionnent grâce aux dons des utilisateurs. Un moyen sympa d’aider ces projets et d’acheter des goodies, mais quoi de mieux qu’un t-shirt, polo ou sweat. Vous donnez ainsi un peu d’argent au projet et vous mettez en avant le projet.
Aujourd’hui, j’ai décidé d’aider Linux Mint, le célèbre système d’exploitation de bureau beau et efficace !

Linux Mint Cinnamon

J’ai donc acheter un beau polo pour 25 € port compris mais aussi fait un don pour supporter l’équipe de Linux Mint qui fait un super boulot. Sur cette même boutique, Hellotu – linux t-shirtx, vous pouvez aussi acheter pour les projets Linux, Debian, Ubuntu, openSUSE, LXLE et KDE.

Hiawatha : le serveur web léger et sécurisé à découvrir

Présentation de Hiawatha, un serveur web léger, performant et sécurisé et de plus simple à configurer.

Introduction

J’étais à la recherche d’un serveur web léger et sécurisé afin de succéder à Cherokee. En effet, ce dernier ne semble plus maintenu. Après de nombreux tests, j’ai retenu Hiawatha.

Description de Hiawatha

Le serveur web Hiawatha a été créé en 2002 par un étudiant Hollandais du nom de Leisink. L’objectif était de pouvoir réutiliser de vieux serveurs comme serveurs web sans négliger la sécurité. Ainsi, est né ce serveur web qui est reconnu pour sa légèreté, sa performance et sa sécurité. Autre point important, le projet a remplace OpenSSL qui se débat au milieu de nombreux problèmes de sécurité par PolarSSL dès janvier 2012.

Hiawatha web server integre nativement de nombreuses fonctionnalités qui ne sont disponibles qu’au sein de modules dans d’autres serveurs (Apache par exemple). Cette intégration permet de gagner en efficacité et en sécurité.

Un autre point important concerne la simplicité de configuration. L’ensemble de la configuration est claire et se fait au sein d’un unique fichier de configuration.

Fonctionnalités

Installation de Hiawatha

L’installation de Hiawatha sur un serveur Debian/Ubuntu est simplifiée par la mise à disposition de paquets Debian Hiawatha par Chris WADGE.

Vous trouverez sur le site la liste des paquets non officiels pour votre distribution préférée.

Mais, il existe aussi un script shell très bien fait permettant une installation simplifiée d’un serveur complet intégrant Hiawatha, MariaDB, php-fpm et même wordpress ! Il suffit de changer la version du paquet Debian selon les releases (lignes 34 et 37) et d’exécuter le script.

Hiawatha script installation serveur web mariadb php-fpm

Présentation de Hiawatha

Je vous laisse découvrir cette présentation faite par le créateur de ce superbe serveur web.

Conclusion

J’ai été séduit par la qualité de ce serveur web. Je suis en train de tester l’integration avec Django et très prochainement, mes serveurs WordPress vont tourner sous Hiawatha (J’écrirais un tuto si vous êtes intéressez).

Par ailleurs, j’ai évité de publier des benchmarks, il y en a un plusieurs disponibles sur le net. Je pense que le mieux est de réaliser des tests avec son application et ainsi obtenir des résultats proches de ses propres besoins.

Enfin, je vous invite à découvrir le script de configuration de iptables, Firetable, développé par le même créateur.

Test OpenSuse 13.2

Introduction

J’apprécie la qualité des distributions OpenSuse même si je travaille au quotidien sur des distributions basées sur Debian. La sortie de la version 13.2 m’a donné envie de voir les évolutions que les développeurs ont apporté au système.

Nouveautés

Les nouveautés sont nombreuses. Je ne vais pas lister les versions logicielles mises à jour, vous trouverez ces infos sur le site d’OpenSuse. Je ne vais aborder que les points les plus importants. Un travail important a été fait afin d’apporter stabilité, vitesse et sécurité au système. La première nouveauté importante est l’adoption du système de fichier Btrfs comme système de fichiers par défaut.

Installation

Chez Suse, le système d’installation est un modèle du genre : clair, lisible, efficace et beau ce qui n’enlève rien à la qualité ! La reconnaissance du matériel, la gestion de la langue française et les différents paramétrages se font très simplement.

Capture d'écran : installation opensuse 13.2

A noter, un partitionnement particulièrement travaillé (il est bien sûr modifiable).

L’installation est très rapide sur un SSD.

Nous pouvons utiliser plusieurs bureaux avec OpenSuse, notamment le dernier Gnome. J’ai pris le choix de rester sur KDE, bureau le plus utilisé par OpenSuse.

Après l’installation, le système vous invite via le panneau de notification a effectuer la mise à jour. J’avais 577 paquets à mettre à jour !

 

Utilisation

L’ utilisation du système est très agréable. Le démarrage est rapide. Le menu KDE / OpenSuse est toujours aussi agréable à l’utilisation (j’ai toujours trouvé les bureaux KDE plus jolis que les bureaux Gnome, mais c’est une affaire de goût !). Il est facile et rapide de trouver l’application souhaitée. Un champ recherche est disponible et particulièrement efficace.

Le panneau de configuration s’inspire de MacOSX. Les différents éléments sont compréhensibles et facilement personnalisables.

800px-Opensuse13.2-02L’ ensemble des logiciels de bureautique sont présents : LibreOffice, Firefox, la suite Kmail (que je vous invite à découvrir si vous ne connaissez pas). Vous pouvez installer de nouvelles applications grâce à YaST, l’installateur maison. Là encore, c’est simple et efficace. Par ce même outil, vous pouvez paramétrer votre poste de travail.

Après quelques heures d’utilisation pour le surf et la bureautique (on verra un peu plus tard pour le dev), OpenSuse 13.2 semble bien née et agréable.

Conclusion

Une très bonne de distribution de bureau, sure et efficace. Le nombre d’applications disponibles est important permettant une utilisation quotidienne facile. La rapidité semble au rendez-vous. Qu’en pensez-vous en comparaisons avec Linux Mint, Ubuntu ou Fedora ?

GIT : mindmap des principales commandes

Une mindmap résumant les commandes git sous licence CC BY-SA

SSH : mindmap des principales commandes

Une mindmap des principales commandes SSH sous licence CC BY-SA

GPG : mindmap des principales commandes

Une mindmap des principales commandes de GNU PG (GPG) sous licence CC BY-SA